@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS CodeCommit
@version 2015-04-13
@auth AWS SigV4
@endpoints 79
@hint download_for_search
@toc root(79)

@endpoint POST /
@required {approvalRuleTemplateName: str, repositoryName: str}

@endpoint POST /
@required {approvalRuleTemplateName: str, repositoryNames: [str]}
@returns(200) {associatedRepositoryNames: [str], errors: [BatchAssociateApprovalRuleTemplateWithRepositoriesError]}

@endpoint POST /
@required {repositoryName: str, destinationCommitSpecifier: str, sourceCommitSpecifier: str, mergeOption: str}
@optional {maxMergeHunks: int, maxConflictFiles: int, filePaths: [str], conflictDetailLevel: str, conflictResolutionStrategy: str, nextToken: str}
@returns(200) {conflicts: [Conflict], nextToken: str?, errors: [BatchDescribeMergeConflictsError]?, destinationCommitId: str, sourceCommitId: str, baseCommitId: str?}

@endpoint POST /
@required {approvalRuleTemplateName: str, repositoryNames: [str]}
@returns(200) {disassociatedRepositoryNames: [str], errors: [BatchDisassociateApprovalRuleTemplateFromRepositoriesError]}

@endpoint POST /
@required {commitIds: [str], repositoryName: str}
@returns(200) {commits: [Commit]?, errors: [BatchGetCommitsError]?}

@endpoint POST /
@required {repositoryNames: [str]}
@returns(200) {repositories: [RepositoryMetadata]?, repositoriesNotFound: [str]?, errors: [BatchGetRepositoriesError]?}

@endpoint POST /
@required {approvalRuleTemplateName: str, approvalRuleTemplateContent: str}
@optional {approvalRuleTemplateDescription: str}
@returns(200) {approvalRuleTemplate: ApprovalRuleTemplate{approvalRuleTemplateId: str?, approvalRuleTemplateName: str?, approvalRuleTemplateDescription: str?, approvalRuleTemplateContent: str?, ruleContentSha256: str?, lastModifiedDate: str(timestamp)?, creationDate: str(timestamp)?, lastModifiedUser: str?}}

@endpoint POST /
@required {repositoryName: str, branchName: str, commitId: str}

@endpoint POST /
@required {repositoryName: str, branchName: str}
@optional {parentCommitId: str, authorName: str, email: str, commitMessage: str, keepEmptyFolders: bool, putFiles: [PutFileEntry], deleteFiles: [DeleteFileEntry], setFileModes: [SetFileModeEntry]}
@returns(200) {commitId: str?, treeId: str?, filesAdded: [FileMetadata]?, filesUpdated: [FileMetadata]?, filesDeleted: [FileMetadata]?}

@endpoint POST /
@required {title: str, targets: [Target]}
@optional {description: str, clientRequestToken: str}
@returns(200) {pullRequest: PullRequest{pullRequestId: str?, title: str?, description: str?, lastActivityDate: str(timestamp)?, creationDate: str(timestamp)?, pullRequestStatus: str?, authorArn: str?, pullRequestTargets: [PullRequestTarget]?, clientRequestToken: str?, revisionId: str?, approvalRules: [ApprovalRule]?}}

@endpoint POST /
@required {pullRequestId: str, approvalRuleName: str, approvalRuleContent: str}
@returns(200) {approvalRule: ApprovalRule{approvalRuleId: str?, approvalRuleName: str?, approvalRuleContent: str?, ruleContentSha256: str?, lastModifiedDate: str(timestamp)?, creationDate: str(timestamp)?, lastModifiedUser: str?, originApprovalRuleTemplate: OriginApprovalRuleTemplate?{approvalRuleTemplateId: str?, approvalRuleTemplateName: str?}}}

@endpoint POST /
@required {repositoryName: str}
@optional {repositoryDescription: str, tags: map<str,str>, kmsKeyId: str}
@returns(200) {repositoryMetadata: RepositoryMetadata?{accountId: str?, repositoryId: str?, repositoryName: str?, repositoryDescription: str?, defaultBranch: str?, lastModifiedDate: str(timestamp)?, creationDate: str(timestamp)?, cloneUrlHttp: str?, cloneUrlSsh: str?, Arn: str?, kmsKeyId: str?}}

@endpoint POST /
@required {repositoryName: str, sourceCommitSpecifier: str, destinationCommitSpecifier: str, mergeOption: str}
@optional {conflictDetailLevel: str, conflictResolutionStrategy: str, authorName: str, email: str, commitMessage: str, keepEmptyFolders: bool, conflictResolution: ConflictResolution}
@returns(200) {commitId: str?, treeId: str?}

@endpoint POST /
@required {approvalRuleTemplateName: str}
@returns(200) {approvalRuleTemplateId: str}

@endpoint POST /
@required {repositoryName: str, branchName: str}
@returns(200) {deletedBranch: BranchInfo?{branchName: str?, commitId: str?}}

@endpoint POST /
@required {commentId: str}
@returns(200) {comment: Comment?{commentId: str?, content: str?, inReplyTo: str?, creationDate: str(timestamp)?, lastModifiedDate: str(timestamp)?, authorArn: str?, deleted: bool?, clientRequestToken: str?, callerReactions: [str]?, reactionCounts: map<str,int>?}}

@endpoint POST /
@required {repositoryName: str, branchName: str, filePath: str, parentCommitId: str}
@optional {keepEmptyFolders: bool, commitMessage: str, name: str, email: str}
@returns(200) {commitId: str, blobId: str, treeId: str, filePath: str}

@endpoint POST /
@required {pullRequestId: str, approvalRuleName: str}
@returns(200) {approvalRuleId: str}

@endpoint POST /
@required {repositoryName: str}
@returns(200) {repositoryId: str?}

@endpoint POST /
@required {repositoryName: str, destinationCommitSpecifier: str, sourceCommitSpecifier: str, mergeOption: str, filePath: str}
@optional {maxMergeHunks: int, conflictDetailLevel: str, conflictResolutionStrategy: str, nextToken: str}
@returns(200) {conflictMetadata: ConflictMetadata{filePath: str?, fileSizes: FileSizes?{source: int(i64)?, destination: int(i64)?, base: int(i64)?}, fileModes: FileModes?{source: str?, destination: str?, base: str?}, objectTypes: ObjectTypes?{source: str?, destination: str?, base: str?}, numberOfConflicts: int?, isBinaryFile: IsBinaryFile?{source: bool?, destination: bool?, base: bool?}, contentConflict: bool?, fileModeConflict: bool?, objectTypeConflict: bool?, mergeOperations: MergeOperations?{source: str?, destination: str?}}, mergeHunks: [MergeHunk], nextToken: str?, destinationCommitId: str, sourceCommitId: str, baseCommitId: str?}

@endpoint POST /
@required {pullRequestId: str}
@optional {pullRequestEventType: str, actorArn: str, nextToken: str, maxResults: int}
@returns(200) {pullRequestEvents: [PullRequestEvent], nextToken: str?}

@endpoint POST /
@required {approvalRuleTemplateName: str, repositoryName: str}

@endpoint POST /
@required {pullRequestId: str, revisionId: str}
@returns(200) {evaluation: Evaluation{approved: bool?, overridden: bool?, approvalRulesSatisfied: [str]?, approvalRulesNotSatisfied: [str]?}}

@endpoint POST /
@required {approvalRuleTemplateName: str}
@returns(200) {approvalRuleTemplate: ApprovalRuleTemplate{approvalRuleTemplateId: str?, approvalRuleTemplateName: str?, approvalRuleTemplateDescription: str?, approvalRuleTemplateContent: str?, ruleContentSha256: str?, lastModifiedDate: str(timestamp)?, creationDate: str(timestamp)?, lastModifiedUser: str?}}

@endpoint POST /
@required {repositoryName: str, blobId: str}
@returns(200) {content: bytes}

@endpoint POST /
@optional {repositoryName: str, branchName: str}
@returns(200) {branch: BranchInfo?{branchName: str?, commitId: str?}}

@endpoint POST /
@required {commentId: str}
@returns(200) {comment: Comment?{commentId: str?, content: str?, inReplyTo: str?, creationDate: str(timestamp)?, lastModifiedDate: str(timestamp)?, authorArn: str?, deleted: bool?, clientRequestToken: str?, callerReactions: [str]?, reactionCounts: map<str,int>?}}

@endpoint POST /
@required {commentId: str}
@optional {reactionUserArn: str, nextToken: str, maxResults: int}
@returns(200) {reactionsForComment: [ReactionForComment], nextToken: str?}

@endpoint POST /
@required {repositoryName: str, afterCommitId: str}
@optional {beforeCommitId: str, nextToken: str, maxResults: int}
@returns(200) {commentsForComparedCommitData: [CommentsForComparedCommit]?, nextToken: str?}

@endpoint POST /
@required {pullRequestId: str}
@optional {repositoryName: str, beforeCommitId: str, afterCommitId: str, nextToken: str, maxResults: int}
@returns(200) {commentsForPullRequestData: [CommentsForPullRequest]?, nextToken: str?}

@endpoint POST /
@required {repositoryName: str, commitId: str}
@returns(200) {commit: Commit{commitId: str?, treeId: str?, parents: [str]?, message: str?, author: UserInfo?{name: str?, email: str?, date: str?}, committer: UserInfo?{name: str?, email: str?, date: str?}, additionalData: str?}}

@endpoint POST /
@required {repositoryName: str, afterCommitSpecifier: str}
@optional {beforeCommitSpecifier: str, beforePath: str, afterPath: str, MaxResults: int, NextToken: str}
@returns(200) {differences: [Difference]?, NextToken: str?}

@endpoint POST /
@required {repositoryName: str, filePath: str}
@optional {commitSpecifier: str}
@returns(200) {commitId: str, blobId: str, filePath: str, fileMode: str, fileSize: int(i64), fileContent: bytes}

@endpoint POST /
@required {repositoryName: str, folderPath: str}
@optional {commitSpecifier: str}
@returns(200) {commitId: str, folderPath: str, treeId: str?, subFolders: [Folder]?, files: [File]?, symbolicLinks: [SymbolicLink]?, subModules: [SubModule]?}

@endpoint POST /
@required {repositoryName: str, sourceCommitSpecifier: str, destinationCommitSpecifier: str}
@optional {conflictDetailLevel: str, conflictResolutionStrategy: str}
@returns(200) {sourceCommitId: str?, destinationCommitId: str?, baseCommitId: str?, mergedCommitId: str?}

@endpoint POST /
@required {repositoryName: str, destinationCommitSpecifier: str, sourceCommitSpecifier: str, mergeOption: str}
@optional {conflictDetailLevel: str, maxConflictFiles: int, conflictResolutionStrategy: str, nextToken: str}
@returns(200) {mergeable: bool, destinationCommitId: str, sourceCommitId: str, baseCommitId: str?, conflictMetadataList: [ConflictMetadata], nextToken: str?}

@endpoint POST /
@required {repositoryName: str, sourceCommitSpecifier: str, destinationCommitSpecifier: str}
@optional {conflictDetailLevel: str, conflictResolutionStrategy: str}
@returns(200) {mergeOptions: [str], sourceCommitId: str, destinationCommitId: str, baseCommitId: str}

@endpoint POST /
@required {pullRequestId: str}
@returns(200) {pullRequest: PullRequest{pullRequestId: str?, title: str?, description: str?, lastActivityDate: str(timestamp)?, creationDate: str(timestamp)?, pullRequestStatus: str?, authorArn: str?, pullRequestTargets: [PullRequestTarget]?, clientRequestToken: str?, revisionId: str?, approvalRules: [ApprovalRule]?}}

@endpoint POST /
@required {pullRequestId: str, revisionId: str}
@returns(200) {approvals: [Approval]?}

@endpoint POST /
@required {pullRequestId: str, revisionId: str}
@returns(200) {overridden: bool?, overrider: str?}

@endpoint POST /
@required {repositoryName: str}
@returns(200) {repositoryMetadata: RepositoryMetadata?{accountId: str?, repositoryId: str?, repositoryName: str?, repositoryDescription: str?, defaultBranch: str?, lastModifiedDate: str(timestamp)?, creationDate: str(timestamp)?, cloneUrlHttp: str?, cloneUrlSsh: str?, Arn: str?, kmsKeyId: str?}}

@endpoint POST /
@required {repositoryName: str}
@returns(200) {configurationId: str?, triggers: [RepositoryTrigger]?}

@endpoint POST /
@optional {nextToken: str, maxResults: int}
@returns(200) {approvalRuleTemplateNames: [str]?, nextToken: str?}

@endpoint POST /
@required {repositoryName: str}
@optional {nextToken: str, maxResults: int}
@returns(200) {approvalRuleTemplateNames: [str]?, nextToken: str?}

@endpoint POST /
@required {repositoryName: str}
@optional {nextToken: str}
@returns(200) {branches: [str]?, nextToken: str?}

@endpoint POST /
@required {repositoryName: str, filePath: str}
@optional {commitSpecifier: str, maxResults: int, nextToken: str}
@returns(200) {revisionDag: [FileVersion], nextToken: str?}

@endpoint POST /
@required {repositoryName: str}
@optional {authorArn: str, pullRequestStatus: str, nextToken: str, maxResults: int}
@returns(200) {pullRequestIds: [str], nextToken: str?}

@endpoint POST /
@optional {nextToken: str, sortBy: str, order: str}
@returns(200) {repositories: [RepositoryNameIdPair]?, nextToken: str?}

@endpoint POST /
@required {approvalRuleTemplateName: str}
@optional {nextToken: str, maxResults: int}
@returns(200) {repositoryNames: [str]?, nextToken: str?}

@endpoint POST /
@required {resourceArn: str}
@optional {nextToken: str}
@returns(200) {tags: map<str,str>?, nextToken: str?}

@endpoint POST /
@required {repositoryName: str, sourceCommitSpecifier: str, destinationCommitSpecifier: str}
@optional {targetBranch: str}
@returns(200) {commitId: str?, treeId: str?}

@endpoint POST /
@required {repositoryName: str, sourceCommitSpecifier: str, destinationCommitSpecifier: str}
@optional {targetBranch: str, conflictDetailLevel: str, conflictResolutionStrategy: str, authorName: str, email: str, commitMessage: str, keepEmptyFolders: bool, conflictResolution: ConflictResolution}
@returns(200) {commitId: str?, treeId: str?}

@endpoint POST /
@required {repositoryName: str, sourceCommitSpecifier: str, destinationCommitSpecifier: str}
@optional {targetBranch: str, conflictDetailLevel: str, conflictResolutionStrategy: str, authorName: str, email: str, commitMessage: str, keepEmptyFolders: bool, conflictResolution: ConflictResolution}
@returns(200) {commitId: str?, treeId: str?}

@endpoint POST /
@required {pullRequestId: str, repositoryName: str}
@optional {sourceCommitId: str}
@returns(200) {pullRequest: PullRequest?{pullRequestId: str?, title: str?, description: str?, lastActivityDate: str(timestamp)?, creationDate: str(timestamp)?, pullRequestStatus: str?, authorArn: str?, pullRequestTargets: [PullRequestTarget]?, clientRequestToken: str?, revisionId: str?, approvalRules: [ApprovalRule]?}}

@endpoint POST /
@required {pullRequestId: str, repositoryName: str}
@optional {sourceCommitId: str, conflictDetailLevel: str, conflictResolutionStrategy: str, commitMessage: str, authorName: str, email: str, keepEmptyFolders: bool, conflictResolution: ConflictResolution}
@returns(200) {pullRequest: PullRequest?{pullRequestId: str?, title: str?, description: str?, lastActivityDate: str(timestamp)?, creationDate: str(timestamp)?, pullRequestStatus: str?, authorArn: str?, pullRequestTargets: [PullRequestTarget]?, clientRequestToken: str?, revisionId: str?, approvalRules: [ApprovalRule]?}}

@endpoint POST /
@required {pullRequestId: str, repositoryName: str}
@optional {sourceCommitId: str, conflictDetailLevel: str, conflictResolutionStrategy: str, commitMessage: str, authorName: str, email: str, keepEmptyFolders: bool, conflictResolution: ConflictResolution}
@returns(200) {pullRequest: PullRequest?{pullRequestId: str?, title: str?, description: str?, lastActivityDate: str(timestamp)?, creationDate: str(timestamp)?, pullRequestStatus: str?, authorArn: str?, pullRequestTargets: [PullRequestTarget]?, clientRequestToken: str?, revisionId: str?, approvalRules: [ApprovalRule]?}}

@endpoint POST /
@required {pullRequestId: str, revisionId: str, overrideStatus: str}

@endpoint POST /
@required {repositoryName: str, afterCommitId: str, content: str}
@optional {beforeCommitId: str, location: Location, clientRequestToken: str}
@returns(200) {repositoryName: str?, beforeCommitId: str?, afterCommitId: str?, beforeBlobId: str?, afterBlobId: str?, location: Location?{filePath: str?, filePosition: int(i64)?, relativeFileVersion: str?}, comment: Comment?{commentId: str?, content: str?, inReplyTo: str?, creationDate: str(timestamp)?, lastModifiedDate: str(timestamp)?, authorArn: str?, deleted: bool?, clientRequestToken: str?, callerReactions: [str]?, reactionCounts: map<str,int>?}}

@endpoint POST /
@required {pullRequestId: str, repositoryName: str, beforeCommitId: str, afterCommitId: str, content: str}
@optional {location: Location, clientRequestToken: str}
@returns(200) {repositoryName: str?, pullRequestId: str?, beforeCommitId: str?, afterCommitId: str?, beforeBlobId: str?, afterBlobId: str?, location: Location?{filePath: str?, filePosition: int(i64)?, relativeFileVersion: str?}, comment: Comment?{commentId: str?, content: str?, inReplyTo: str?, creationDate: str(timestamp)?, lastModifiedDate: str(timestamp)?, authorArn: str?, deleted: bool?, clientRequestToken: str?, callerReactions: [str]?, reactionCounts: map<str,int>?}}

@endpoint POST /
@required {inReplyTo: str, content: str}
@optional {clientRequestToken: str}
@returns(200) {comment: Comment?{commentId: str?, content: str?, inReplyTo: str?, creationDate: str(timestamp)?, lastModifiedDate: str(timestamp)?, authorArn: str?, deleted: bool?, clientRequestToken: str?, callerReactions: [str]?, reactionCounts: map<str,int>?}}

@endpoint POST /
@required {commentId: str, reactionValue: str}

@endpoint POST /
@required {repositoryName: str, branchName: str, fileContent: bytes, filePath: str}
@optional {fileMode: str, parentCommitId: str, commitMessage: str, name: str, email: str}
@returns(200) {commitId: str, blobId: str, treeId: str}

@endpoint POST /
@required {repositoryName: str, triggers: [RepositoryTrigger]}
@returns(200) {configurationId: str?}

@endpoint POST /
@required {resourceArn: str, tags: map<str,str>}

@endpoint POST /
@required {repositoryName: str, triggers: [RepositoryTrigger]}
@returns(200) {successfulExecutions: [str]?, failedExecutions: [RepositoryTriggerExecutionFailure]?}

@endpoint POST /
@required {resourceArn: str, tagKeys: [str]}

@endpoint POST /
@required {approvalRuleTemplateName: str, newRuleContent: str}
@optional {existingRuleContentSha256: str}
@returns(200) {approvalRuleTemplate: ApprovalRuleTemplate{approvalRuleTemplateId: str?, approvalRuleTemplateName: str?, approvalRuleTemplateDescription: str?, approvalRuleTemplateContent: str?, ruleContentSha256: str?, lastModifiedDate: str(timestamp)?, creationDate: str(timestamp)?, lastModifiedUser: str?}}

@endpoint POST /
@required {approvalRuleTemplateName: str, approvalRuleTemplateDescription: str}
@returns(200) {approvalRuleTemplate: ApprovalRuleTemplate{approvalRuleTemplateId: str?, approvalRuleTemplateName: str?, approvalRuleTemplateDescription: str?, approvalRuleTemplateContent: str?, ruleContentSha256: str?, lastModifiedDate: str(timestamp)?, creationDate: str(timestamp)?, lastModifiedUser: str?}}

@endpoint POST /
@required {oldApprovalRuleTemplateName: str, newApprovalRuleTemplateName: str}
@returns(200) {approvalRuleTemplate: ApprovalRuleTemplate{approvalRuleTemplateId: str?, approvalRuleTemplateName: str?, approvalRuleTemplateDescription: str?, approvalRuleTemplateContent: str?, ruleContentSha256: str?, lastModifiedDate: str(timestamp)?, creationDate: str(timestamp)?, lastModifiedUser: str?}}

@endpoint POST /
@required {commentId: str, content: str}
@returns(200) {comment: Comment?{commentId: str?, content: str?, inReplyTo: str?, creationDate: str(timestamp)?, lastModifiedDate: str(timestamp)?, authorArn: str?, deleted: bool?, clientRequestToken: str?, callerReactions: [str]?, reactionCounts: map<str,int>?}}

@endpoint POST /
@required {repositoryName: str, defaultBranchName: str}

@endpoint POST /
@required {pullRequestId: str, approvalRuleName: str, newRuleContent: str}
@optional {existingRuleContentSha256: str}
@returns(200) {approvalRule: ApprovalRule{approvalRuleId: str?, approvalRuleName: str?, approvalRuleContent: str?, ruleContentSha256: str?, lastModifiedDate: str(timestamp)?, creationDate: str(timestamp)?, lastModifiedUser: str?, originApprovalRuleTemplate: OriginApprovalRuleTemplate?{approvalRuleTemplateId: str?, approvalRuleTemplateName: str?}}}

@endpoint POST /
@required {pullRequestId: str, revisionId: str, approvalState: str}

@endpoint POST /
@required {pullRequestId: str, description: str}
@returns(200) {pullRequest: PullRequest{pullRequestId: str?, title: str?, description: str?, lastActivityDate: str(timestamp)?, creationDate: str(timestamp)?, pullRequestStatus: str?, authorArn: str?, pullRequestTargets: [PullRequestTarget]?, clientRequestToken: str?, revisionId: str?, approvalRules: [ApprovalRule]?}}

@endpoint POST /
@required {pullRequestId: str, pullRequestStatus: str}
@returns(200) {pullRequest: PullRequest{pullRequestId: str?, title: str?, description: str?, lastActivityDate: str(timestamp)?, creationDate: str(timestamp)?, pullRequestStatus: str?, authorArn: str?, pullRequestTargets: [PullRequestTarget]?, clientRequestToken: str?, revisionId: str?, approvalRules: [ApprovalRule]?}}

@endpoint POST /
@required {pullRequestId: str, title: str}
@returns(200) {pullRequest: PullRequest{pullRequestId: str?, title: str?, description: str?, lastActivityDate: str(timestamp)?, creationDate: str(timestamp)?, pullRequestStatus: str?, authorArn: str?, pullRequestTargets: [PullRequestTarget]?, clientRequestToken: str?, revisionId: str?, approvalRules: [ApprovalRule]?}}

@endpoint POST /
@required {repositoryName: str}
@optional {repositoryDescription: str}

@endpoint POST /
@required {repositoryName: str, kmsKeyId: str}
@returns(200) {repositoryId: str?, kmsKeyId: str?, originalKmsKeyId: str?}

@endpoint POST /
@required {oldName: str, newName: str}

@end
