@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AWS CodePipeline
@version 2015-07-09
@auth AWS SigV4
@endpoints 43
@hint download_for_search
@toc root(43)

@endpoint POST /
@required {jobId: str, nonce: str}
@returns(200) {status: str?}

@endpoint POST /
@required {jobId: str, nonce: str, clientToken: str}
@returns(200) {status: str?}

@endpoint POST /
@required {category: str, provider: str, version: str, inputArtifactDetails: ArtifactDetails, outputArtifactDetails: ArtifactDetails}
@optional {settings: ActionTypeSettings, configurationProperties: [ActionConfigurationProperty], tags: [Tag]}
@returns(200) {actionType: ActionType{id: ActionTypeId{category: str, owner: str, provider: str, version: str}, settings: ActionTypeSettings?{thirdPartyConfigurationUrl: str?, entityUrlTemplate: str?, executionUrlTemplate: str?, revisionUrlTemplate: str?}, actionConfigurationProperties: [ActionConfigurationProperty]?, inputArtifactDetails: ArtifactDetails{minimumCount: int, maximumCount: int}, outputArtifactDetails: ArtifactDetails{minimumCount: int, maximumCount: int}}, tags: [Tag]?}

@endpoint POST /
@required {pipeline: PipelineDeclaration}
@optional {tags: [Tag]}
@returns(200) {pipeline: PipelineDeclaration?{name: str, roleArn: str, artifactStore: ArtifactStore?{type: str, location: str, encryptionKey: EncryptionKey?{id: str, type: str}}, artifactStores: map<str,ArtifactStore>?, stages: [StageDeclaration], version: int?, executionMode: str?, pipelineType: str?, variables: [PipelineVariableDeclaration]?, triggers: [PipelineTriggerDeclaration]?}, tags: [Tag]?}

@endpoint POST /
@required {category: str, provider: str, version: str}

@endpoint POST /
@required {name: str}

@endpoint POST /
@required {name: str}

@endpoint POST /
@optional {webhookName: str}

@endpoint POST /
@required {pipelineName: str, stageName: str, transitionType: str, reason: str}

@endpoint POST /
@required {pipelineName: str, stageName: str, transitionType: str}

@endpoint POST /
@required {category: str, owner: str, provider: str, version: str}
@returns(200) {actionType: ActionTypeDeclaration?{description: str?, executor: ActionTypeExecutor{configuration: ExecutorConfiguration{lambdaExecutorConfiguration: LambdaExecutorConfiguration?, jobWorkerExecutorConfiguration: JobWorkerExecutorConfiguration?}, type: str, policyStatementsTemplate: str?, jobTimeout: int?}, id: ActionTypeIdentifier{category: str, owner: str, provider: str, version: str}, inputArtifactDetails: ActionTypeArtifactDetails{minimumCount: int, maximumCount: int}, outputArtifactDetails: ActionTypeArtifactDetails{minimumCount: int, maximumCount: int}, permissions: ActionTypePermissions?{allowedAccounts: [str]}, properties: [ActionTypeProperty]?, urls: ActionTypeUrls?{configurationUrl: str?, entityUrlTemplate: str?, executionUrlTemplate: str?, revisionUrlTemplate: str?}}}

@endpoint POST /
@required {jobId: str}
@returns(200) {jobDetails: JobDetails?{id: str?, data: JobData?{actionTypeId: ActionTypeId?{category: str, owner: str, provider: str, version: str}, actionConfiguration: ActionConfiguration?{configuration: map<str,str>?}, pipelineContext: PipelineContext?{pipelineName: str?, stage: StageContext?, action: ActionContext?, pipelineArn: str?, pipelineExecutionId: str?}, inputArtifacts: [Artifact]?, outputArtifacts: [Artifact]?, artifactCredentials: AWSSessionCredentials?{accessKeyId: str, secretAccessKey: str, sessionToken: str}, continuationToken: str?, encryptionKey: EncryptionKey?{id: str, type: str}}, accountId: str?}}

@endpoint POST /
@required {name: str}
@optional {version: int}
@returns(200) {pipeline: PipelineDeclaration?{name: str, roleArn: str, artifactStore: ArtifactStore?{type: str, location: str, encryptionKey: EncryptionKey?{id: str, type: str}}, artifactStores: map<str,ArtifactStore>?, stages: [StageDeclaration], version: int?, executionMode: str?, pipelineType: str?, variables: [PipelineVariableDeclaration]?, triggers: [PipelineTriggerDeclaration]?}, metadata: PipelineMetadata?{pipelineArn: str?, created: str(timestamp)?, updated: str(timestamp)?, pollingDisabledAt: str(timestamp)?}}

@endpoint POST /
@required {pipelineName: str, pipelineExecutionId: str}
@returns(200) {pipelineExecution: PipelineExecution?{pipelineName: str?, pipelineVersion: int?, pipelineExecutionId: str?, status: str?, statusSummary: str?, artifactRevisions: [ArtifactRevision]?, variables: [ResolvedPipelineVariable]?, trigger: ExecutionTrigger?{triggerType: str?, triggerDetail: str?}, executionMode: str?, executionType: str?, rollbackMetadata: PipelineRollbackMetadata?{rollbackTargetPipelineExecutionId: str?}}}

@endpoint POST /
@required {name: str}
@returns(200) {pipelineName: str?, pipelineVersion: int?, stageStates: [StageState]?, created: str(timestamp)?, updated: str(timestamp)?}

@endpoint POST /
@required {jobId: str, clientToken: str}
@returns(200) {jobDetails: ThirdPartyJobDetails?{id: str?, data: ThirdPartyJobData?{actionTypeId: ActionTypeId?{category: str, owner: str, provider: str, version: str}, actionConfiguration: ActionConfiguration?{configuration: map<str,str>?}, pipelineContext: PipelineContext?{pipelineName: str?, stage: StageContext?, action: ActionContext?, pipelineArn: str?, pipelineExecutionId: str?}, inputArtifacts: [Artifact]?, outputArtifacts: [Artifact]?, artifactCredentials: AWSSessionCredentials?{accessKeyId: str, secretAccessKey: str, sessionToken: str}, continuationToken: str?, encryptionKey: EncryptionKey?{id: str, type: str}}, nonce: str?}}

@endpoint POST /
@required {pipelineName: str}
@optional {filter: ActionExecutionFilter, maxResults: int, nextToken: str}
@returns(200) {actionExecutionDetails: [ActionExecutionDetail]?, nextToken: str?}

@endpoint POST /
@optional {actionOwnerFilter: str, nextToken: str, regionFilter: str}
@returns(200) {actionTypes: [ActionType], nextToken: str?}

@endpoint POST /
@required {pipelineName: str}
@optional {maxResults: int, filter: PipelineExecutionFilter, nextToken: str}
@returns(200) {pipelineExecutionSummaries: [PipelineExecutionSummary]?, nextToken: str?}

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

@endpoint POST /
@required {pipelineName: str}
@optional {filter: RuleExecutionFilter, maxResults: int, nextToken: str}
@returns(200) {ruleExecutionDetails: [RuleExecutionDetail]?, nextToken: str?}

@endpoint POST /
@optional {ruleOwnerFilter: str, regionFilter: str}
@returns(200) {ruleTypes: [RuleType]}

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

@endpoint POST /
@optional {NextToken: str, MaxResults: int}
@returns(200) {webhooks: [ListWebhookItem]?, NextToken: str?}

@endpoint POST /
@required {pipelineName: str, stageName: str, pipelineExecutionId: str, conditionType: str}

@endpoint POST /
@required {actionTypeId: ActionTypeId}
@optional {maxBatchSize: int, queryParam: map<str,str>}
@returns(200) {jobs: [Job]?}

@endpoint POST /
@required {actionTypeId: ActionTypeId}
@optional {maxBatchSize: int}
@returns(200) {jobs: [ThirdPartyJob]?}

@endpoint POST /
@required {pipelineName: str, stageName: str, actionName: str, actionRevision: ActionRevision}
@returns(200) {newRevision: bool?, pipelineExecutionId: str?}

@endpoint POST /
@required {pipelineName: str, stageName: str, actionName: str, result: ApprovalResult, token: str}
@returns(200) {approvedAt: str(timestamp)?}

@endpoint POST /
@required {jobId: str, failureDetails: FailureDetails}

@endpoint POST /
@required {jobId: str}
@optional {currentRevision: CurrentRevision, continuationToken: str, executionDetails: ExecutionDetails, outputVariables: map<str,str>}

@endpoint POST /
@required {jobId: str, clientToken: str, failureDetails: FailureDetails}

@endpoint POST /
@required {jobId: str, clientToken: str}
@optional {currentRevision: CurrentRevision, continuationToken: str, executionDetails: ExecutionDetails}

@endpoint POST /
@required {webhook: WebhookDefinition}
@optional {tags: [Tag]}
@returns(200) {webhook: ListWebhookItem?{definition: WebhookDefinition{name: str, targetPipeline: str, targetAction: str, filters: [WebhookFilterRule], authentication: str, authenticationConfiguration: WebhookAuthConfiguration{AllowedIPRange: str?, SecretToken: str?}}, url: str, errorMessage: str?, errorCode: str?, lastTriggered: str(timestamp)?, arn: str?, tags: [Tag]?}}

@endpoint POST /
@optional {webhookName: str}

@endpoint POST /
@required {pipelineName: str, stageName: str, pipelineExecutionId: str, retryMode: str}
@returns(200) {pipelineExecutionId: str?}

@endpoint POST /
@required {pipelineName: str, stageName: str, targetPipelineExecutionId: str}
@returns(200) {pipelineExecutionId: str}

@endpoint POST /
@required {name: str}
@optional {variables: [PipelineVariable], clientRequestToken: str, sourceRevisions: [SourceRevisionOverride]}
@returns(200) {pipelineExecutionId: str?}

@endpoint POST /
@required {pipelineName: str, pipelineExecutionId: str}
@optional {abandon: bool, reason: str}
@returns(200) {pipelineExecutionId: str?}

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

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

@endpoint POST /
@required {actionType: ActionTypeDeclaration}

@endpoint POST /
@required {pipeline: PipelineDeclaration}
@returns(200) {pipeline: PipelineDeclaration?{name: str, roleArn: str, artifactStore: ArtifactStore?{type: str, location: str, encryptionKey: EncryptionKey?{id: str, type: str}}, artifactStores: map<str,ArtifactStore>?, stages: [StageDeclaration], version: int?, executionMode: str?, pipelineType: str?, variables: [PipelineVariableDeclaration]?, triggers: [PipelineTriggerDeclaration]?}}

@end
