{"files":{"SKILL.md":"---\nname: aws-amplify\ndescription: \"AWS Amplify API skill. Use when working with AWS Amplify for apps, webhooks, artifacts. Covers 37 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# AWS Amplify\nAPI version: 2017-07-25\n\n## Auth\nAWS SigV4\n\n## Base URL\nNot specified.\n\n## Setup\n1. Configure auth: AWS SigV4\n2. GET /apps -- returns a list of the existing amplify apps.\n3. POST /apps -- create first app\n\n## Endpoints\n37 endpoints across 4 groups. See references/api-spec.lap for full details.\n\n### Apps\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /apps | Creates a new Amplify app. |\n| POST | /apps/{appId}/backendenvironments | Creates a new backend environment for an Amplify app.  This API is available only to Amplify Gen 1 applications where the backend is created using Amplify Studio or the Amplify command line interface (CLI). This API isn’t available to Amplify Gen 2 applications. When you deploy an application with Amplify Gen 2, you provision the app's backend infrastructure using Typescript code. |\n| POST | /apps/{appId}/branches | Creates a new branch for an Amplify app. |\n| POST | /apps/{appId}/branches/{branchName}/deployments | Creates a deployment for a manually deployed Amplify app. Manually deployed apps are not connected to a repository.  The maximum duration between the CreateDeployment call and the StartDeployment call cannot exceed 8 hours. If the duration exceeds 8 hours, the StartDeployment call and the associated Job will fail. |\n| POST | /apps/{appId}/domains | Creates a new domain association for an Amplify app. This action associates a custom domain with the Amplify app |\n| POST | /apps/{appId}/webhooks | Creates a new webhook on an Amplify app. |\n| DELETE | /apps/{appId} | Deletes an existing Amplify app specified by an app ID. |\n| DELETE | /apps/{appId}/backendenvironments/{environmentName} | Deletes a backend environment for an Amplify app.  This API is available only to Amplify Gen 1 applications where the backend is created using Amplify Studio or the Amplify command line interface (CLI). This API isn’t available to Amplify Gen 2 applications. When you deploy an application with Amplify Gen 2, you provision the app's backend infrastructure using Typescript code. |\n| DELETE | /apps/{appId}/branches/{branchName} | Deletes a branch for an Amplify app. |\n| DELETE | /apps/{appId}/domains/{domainName} | Deletes a domain association for an Amplify app. |\n| DELETE | /apps/{appId}/branches/{branchName}/jobs/{jobId} | Deletes a job for a branch of an Amplify app. |\n| POST | /apps/{appId}/accesslogs | Returns the website access logs for a specific time range using a presigned URL. |\n| GET | /apps/{appId} | Returns an existing Amplify app specified by an app ID. |\n| GET | /apps/{appId}/backendenvironments/{environmentName} | Returns a backend environment for an Amplify app.  This API is available only to Amplify Gen 1 applications where the backend is created using Amplify Studio or the Amplify command line interface (CLI). This API isn’t available to Amplify Gen 2 applications. When you deploy an application with Amplify Gen 2, you provision the app's backend infrastructure using Typescript code. |\n| GET | /apps/{appId}/branches/{branchName} | Returns a branch for an Amplify app. |\n| GET | /apps/{appId}/domains/{domainName} | Returns the domain information for an Amplify app. |\n| GET | /apps/{appId}/branches/{branchName}/jobs/{jobId} | Returns a job for a branch of an Amplify app. |\n| GET | /apps | Returns a list of the existing Amplify apps. |\n| GET | /apps/{appId}/branches/{branchName}/jobs/{jobId}/artifacts | Returns a list of artifacts for a specified app, branch, and job. |\n| GET | /apps/{appId}/backendenvironments | Lists the backend environments for an Amplify app.  This API is available only to Amplify Gen 1 applications where the backend is created using Amplify Studio or the Amplify command line interface (CLI). This API isn’t available to Amplify Gen 2 applications. When you deploy an application with Amplify Gen 2, you provision the app's backend infrastructure using Typescript code. |\n| GET | /apps/{appId}/branches | Lists the branches of an Amplify app. |\n| GET | /apps/{appId}/domains | Returns the domain associations for an Amplify app. |\n| GET | /apps/{appId}/branches/{branchName}/jobs | Lists the jobs for a branch of an Amplify app. |\n| GET | /apps/{appId}/webhooks | Returns a list of webhooks for an Amplify app. |\n| POST | /apps/{appId}/branches/{branchName}/deployments/start | Starts a deployment for a manually deployed app. Manually deployed apps are not connected to a repository.  The maximum duration between the CreateDeployment call and the StartDeployment call cannot exceed 8 hours. If the duration exceeds 8 hours, the StartDeployment call and the associated Job will fail. |\n| POST | /apps/{appId}/branches/{branchName}/jobs | Starts a new job for a branch of an Amplify app. |\n| DELETE | /apps/{appId}/branches/{branchName}/jobs/{jobId}/stop | Stops a job that is in progress for a branch of an Amplify app. |\n| POST | /apps/{appId} | Updates an existing Amplify app. |\n| POST | /apps/{appId}/branches/{branchName} | Updates a branch for an Amplify app. |\n| POST | /apps/{appId}/domains/{domainName} | Creates a new domain association for an Amplify app. |\n\n### Webhooks\n| Method | Path | Description |\n|--------|------|-------------|\n| DELETE | /webhooks/{webhookId} | Deletes a webhook. |\n| GET | /webhooks/{webhookId} | Returns the webhook information that corresponds to a specified webhook ID. |\n| POST | /webhooks/{webhookId} | Updates a webhook. |\n\n### Artifacts\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /artifacts/{artifactId} | Returns the artifact info that corresponds to an artifact id. |\n\n### Tags\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /tags/{resourceArn} | Returns a list of tags for a specified Amazon Resource Name (ARN). |\n| POST | /tags/{resourceArn} | Tags the resource with a tag key and value. |\n| DELETE | /tags/{resourceArn} | Untags a resource with a specified Amazon Resource Name (ARN). |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a app?\" -> POST /apps\n- \"Create a backendenvironment?\" -> POST /apps/{appId}/backendenvironments\n- \"Create a branche?\" -> POST /apps/{appId}/branches\n- \"Create a deployment?\" -> POST /apps/{appId}/branches/{branchName}/deployments\n- \"Create a domain?\" -> POST /apps/{appId}/domains\n- \"Create a webhook?\" -> POST /apps/{appId}/webhooks\n- \"Delete a app?\" -> DELETE /apps/{appId}\n- \"Delete a backendenvironment?\" -> DELETE /apps/{appId}/backendenvironments/{environmentName}\n- \"Delete a branche?\" -> DELETE /apps/{appId}/branches/{branchName}\n- \"Delete a domain?\" -> DELETE /apps/{appId}/domains/{domainName}\n- \"Delete a job?\" -> DELETE /apps/{appId}/branches/{branchName}/jobs/{jobId}\n- \"Delete a webhook?\" -> DELETE /webhooks/{webhookId}\n- \"Create a accesslog?\" -> POST /apps/{appId}/accesslogs\n- \"Get app details?\" -> GET /apps/{appId}\n- \"Get artifact details?\" -> GET /artifacts/{artifactId}\n- \"Get backendenvironment details?\" -> GET /apps/{appId}/backendenvironments/{environmentName}\n- \"Get branche details?\" -> GET /apps/{appId}/branches/{branchName}\n- \"Get domain details?\" -> GET /apps/{appId}/domains/{domainName}\n- \"Get job details?\" -> GET /apps/{appId}/branches/{branchName}/jobs/{jobId}\n- \"Get webhook details?\" -> GET /webhooks/{webhookId}\n- \"List all apps?\" -> GET /apps\n- \"List all artifacts?\" -> GET /apps/{appId}/branches/{branchName}/jobs/{jobId}/artifacts\n- \"List all backendenvironments?\" -> GET /apps/{appId}/backendenvironments\n- \"List all branches?\" -> GET /apps/{appId}/branches\n- \"List all domains?\" -> GET /apps/{appId}/domains\n- \"List all jobs?\" -> GET /apps/{appId}/branches/{branchName}/jobs\n- \"Get tag details?\" -> GET /tags/{resourceArn}\n- \"List all webhooks?\" -> GET /apps/{appId}/webhooks\n- \"Create a start?\" -> POST /apps/{appId}/branches/{branchName}/deployments/start\n- \"Create a job?\" -> POST /apps/{appId}/branches/{branchName}/jobs\n- \"Delete a tag?\" -> DELETE /tags/{resourceArn}\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Create/update endpoints return the modified resource on success\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api AWS Amplify\n@version 2017-07-25\n@auth AWS SigV4\n@endpoints 37\n@hint download_for_search\n@toc apps(30), webhooks(3), artifacts(1), tags(3)\n\n@group apps\n@endpoint POST /apps\n@desc Creates a new Amplify app.\n@required {name: str}\n@optional {description: str, repository: str, platform: str, iamServiceRoleArn: str, oauthToken: str, accessToken: str, environmentVariables: map<str,str>, enableBranchAutoBuild: bool, enableBranchAutoDeletion: bool, enableBasicAuth: bool, basicAuthCredentials: str, customRules: [CustomRule], tags: map<str,str>, buildSpec: str, customHeaders: str, enableAutoBranchCreation: bool, autoBranchCreationPatterns: [str], autoBranchCreationConfig: AutoBranchCreationConfig, cacheConfig: CacheConfig}\n@returns(200) {app: App{appId: str, appArn: str, name: str, tags: map<str, str>?: any, description: str, repository: str, platform: str, createTime: str(timestamp), updateTime: str(timestamp), iamServiceRoleArn: str?, environmentVariables: map<str, str>: any, defaultDomain: str, enableBranchAutoBuild: bool, enableBranchAutoDeletion: bool?, enableBasicAuth: bool, basicAuthCredentials: str?, customRules: [CustomRule]?, productionBranch: ProductionBranch?{lastDeployTime: str(timestamp)?, status: str?, thumbnailUrl: str?, branchName: str?}, buildSpec: str?, customHeaders: str?, enableAutoBranchCreation: bool?, autoBranchCreationPatterns: [str]?, autoBranchCreationConfig: AutoBranchCreationConfig?{stage: str?, framework: str?, enableAutoBuild: bool?, environmentVariables: map<str, str>?: any, basicAuthCredentials: str?, enableBasicAuth: bool?, enablePerformanceMode: bool?, buildSpec: str?, enablePullRequestPreview: bool?, pullRequestEnvironmentName: str?}, repositoryCloneMethod: str?, cacheConfig: CacheConfig?{type: str}}}\n\n@endpoint POST /apps/{appId}/backendenvironments\n@desc Creates a new backend environment for an Amplify app.  This API is available only to Amplify Gen 1 applications where the backend is created using Amplify Studio or the Amplify command line interface (CLI). This API isn’t available to Amplify Gen 2 applications. When you deploy an application with Amplify Gen 2, you provision the app's backend infrastructure using Typescript code.\n@required {appId: str, environmentName: str}\n@optional {stackName: str, deploymentArtifacts: str}\n@returns(200) {backendEnvironment: BackendEnvironment{backendEnvironmentArn: str, environmentName: str, stackName: str?, deploymentArtifacts: str?, createTime: str(timestamp), updateTime: str(timestamp)}}\n\n@endpoint POST /apps/{appId}/branches\n@desc Creates a new branch for an Amplify app.\n@required {appId: str, branchName: str}\n@optional {description: str, stage: str, framework: str, enableNotification: bool, enableAutoBuild: bool, environmentVariables: map<str,str>, basicAuthCredentials: str, enableBasicAuth: bool, enablePerformanceMode: bool, tags: map<str,str>, buildSpec: str, ttl: str, displayName: str, enablePullRequestPreview: bool, pullRequestEnvironmentName: str, backendEnvironmentArn: str, backend: Backend}\n@returns(200) {branch: Branch{branchArn: str, branchName: str, description: str, tags: map<str, str>?: any, stage: str, displayName: str, enableNotification: bool, createTime: str(timestamp), updateTime: str(timestamp), environmentVariables: map<str, str>: any, enableAutoBuild: bool, customDomains: [str], framework: str, activeJobId: str, totalNumberOfJobs: str, enableBasicAuth: bool, enablePerformanceMode: bool?, thumbnailUrl: str?, basicAuthCredentials: str?, buildSpec: str?, ttl: str, associatedResources: [str]?, enablePullRequestPreview: bool, pullRequestEnvironmentName: str?, destinationBranch: str?, sourceBranch: str?, backendEnvironmentArn: str?, backend: Backend?{stackArn: str?}}}\n\n@endpoint POST /apps/{appId}/branches/{branchName}/deployments\n@desc Creates a deployment for a manually deployed Amplify app. Manually deployed apps are not connected to a repository.  The maximum duration between the CreateDeployment call and the StartDeployment call cannot exceed 8 hours. If the duration exceeds 8 hours, the StartDeployment call and the associated Job will fail.\n@required {appId: str, branchName: str}\n@optional {fileMap: map<str,str>}\n@returns(200) {jobId: str?, fileUploadUrls: map<str,str>, zipUploadUrl: str}\n\n@endpoint POST /apps/{appId}/domains\n@desc Creates a new domain association for an Amplify app. This action associates a custom domain with the Amplify app\n@required {appId: str, domainName: str, subDomainSettings: [SubDomainSetting]}\n@optional {enableAutoSubDomain: bool, autoSubDomainCreationPatterns: [str], autoSubDomainIAMRole: str, certificateSettings: CertificateSettings}\n@returns(200) {domainAssociation: DomainAssociation{domainAssociationArn: str, domainName: str, enableAutoSubDomain: bool, autoSubDomainCreationPatterns: [str]?, autoSubDomainIAMRole: str?, domainStatus: str, updateStatus: str?, statusReason: str, certificateVerificationDNSRecord: str?, subDomains: [SubDomain], certificate: Certificate?{type: str, customCertificateArn: str?, certificateVerificationDNSRecord: str?}}}\n\n@endpoint POST /apps/{appId}/webhooks\n@desc Creates a new webhook on an Amplify app.\n@required {appId: str, branchName: str}\n@optional {description: str}\n@returns(200) {webhook: Webhook{webhookArn: str, webhookId: str, webhookUrl: str, branchName: str, description: str, createTime: str(timestamp), updateTime: str(timestamp)}}\n\n@endpoint DELETE /apps/{appId}\n@desc Deletes an existing Amplify app specified by an app ID.\n@required {appId: str}\n@returns(200) {app: App{appId: str, appArn: str, name: str, tags: map<str, str>?: any, description: str, repository: str, platform: str, createTime: str(timestamp), updateTime: str(timestamp), iamServiceRoleArn: str?, environmentVariables: map<str, str>: any, defaultDomain: str, enableBranchAutoBuild: bool, enableBranchAutoDeletion: bool?, enableBasicAuth: bool, basicAuthCredentials: str?, customRules: [CustomRule]?, productionBranch: ProductionBranch?{lastDeployTime: str(timestamp)?, status: str?, thumbnailUrl: str?, branchName: str?}, buildSpec: str?, customHeaders: str?, enableAutoBranchCreation: bool?, autoBranchCreationPatterns: [str]?, autoBranchCreationConfig: AutoBranchCreationConfig?{stage: str?, framework: str?, enableAutoBuild: bool?, environmentVariables: map<str, str>?: any, basicAuthCredentials: str?, enableBasicAuth: bool?, enablePerformanceMode: bool?, buildSpec: str?, enablePullRequestPreview: bool?, pullRequestEnvironmentName: str?}, repositoryCloneMethod: str?, cacheConfig: CacheConfig?{type: str}}}\n\n@endpoint DELETE /apps/{appId}/backendenvironments/{environmentName}\n@desc Deletes a backend environment for an Amplify app.  This API is available only to Amplify Gen 1 applications where the backend is created using Amplify Studio or the Amplify command line interface (CLI). This API isn’t available to Amplify Gen 2 applications. When you deploy an application with Amplify Gen 2, you provision the app's backend infrastructure using Typescript code.\n@required {appId: str, environmentName: str}\n@returns(200) {backendEnvironment: BackendEnvironment{backendEnvironmentArn: str, environmentName: str, stackName: str?, deploymentArtifacts: str?, createTime: str(timestamp), updateTime: str(timestamp)}}\n\n@endpoint DELETE /apps/{appId}/branches/{branchName}\n@desc Deletes a branch for an Amplify app.\n@required {appId: str, branchName: str}\n@returns(200) {branch: Branch{branchArn: str, branchName: str, description: str, tags: map<str, str>?: any, stage: str, displayName: str, enableNotification: bool, createTime: str(timestamp), updateTime: str(timestamp), environmentVariables: map<str, str>: any, enableAutoBuild: bool, customDomains: [str], framework: str, activeJobId: str, totalNumberOfJobs: str, enableBasicAuth: bool, enablePerformanceMode: bool?, thumbnailUrl: str?, basicAuthCredentials: str?, buildSpec: str?, ttl: str, associatedResources: [str]?, enablePullRequestPreview: bool, pullRequestEnvironmentName: str?, destinationBranch: str?, sourceBranch: str?, backendEnvironmentArn: str?, backend: Backend?{stackArn: str?}}}\n\n@endpoint DELETE /apps/{appId}/domains/{domainName}\n@desc Deletes a domain association for an Amplify app.\n@required {appId: str, domainName: str}\n@returns(200) {domainAssociation: DomainAssociation{domainAssociationArn: str, domainName: str, enableAutoSubDomain: bool, autoSubDomainCreationPatterns: [str]?, autoSubDomainIAMRole: str?, domainStatus: str, updateStatus: str?, statusReason: str, certificateVerificationDNSRecord: str?, subDomains: [SubDomain], certificate: Certificate?{type: str, customCertificateArn: str?, certificateVerificationDNSRecord: str?}}}\n\n@endpoint DELETE /apps/{appId}/branches/{branchName}/jobs/{jobId}\n@desc Deletes a job for a branch of an Amplify app.\n@required {appId: str, branchName: str, jobId: str}\n@returns(200) {jobSummary: JobSummary{jobArn: str, jobId: str, commitId: str, commitMessage: str, commitTime: str(timestamp), startTime: str(timestamp), status: str, endTime: str(timestamp)?, jobType: str}}\n\n@endgroup\n\n@group webhooks\n@endpoint DELETE /webhooks/{webhookId}\n@desc Deletes a webhook.\n@required {webhookId: str}\n@returns(200) {webhook: Webhook{webhookArn: str, webhookId: str, webhookUrl: str, branchName: str, description: str, createTime: str(timestamp), updateTime: str(timestamp)}}\n\n@endgroup\n\n@group apps\n@endpoint POST /apps/{appId}/accesslogs\n@desc Returns the website access logs for a specific time range using a presigned URL.\n@required {appId: str, domainName: str}\n@optional {startTime: str(timestamp), endTime: str(timestamp)}\n@returns(200) {logUrl: str?}\n\n@endpoint GET /apps/{appId}\n@desc Returns an existing Amplify app specified by an app ID.\n@required {appId: str}\n@returns(200) {app: App{appId: str, appArn: str, name: str, tags: map<str, str>?: any, description: str, repository: str, platform: str, createTime: str(timestamp), updateTime: str(timestamp), iamServiceRoleArn: str?, environmentVariables: map<str, str>: any, defaultDomain: str, enableBranchAutoBuild: bool, enableBranchAutoDeletion: bool?, enableBasicAuth: bool, basicAuthCredentials: str?, customRules: [CustomRule]?, productionBranch: ProductionBranch?{lastDeployTime: str(timestamp)?, status: str?, thumbnailUrl: str?, branchName: str?}, buildSpec: str?, customHeaders: str?, enableAutoBranchCreation: bool?, autoBranchCreationPatterns: [str]?, autoBranchCreationConfig: AutoBranchCreationConfig?{stage: str?, framework: str?, enableAutoBuild: bool?, environmentVariables: map<str, str>?: any, basicAuthCredentials: str?, enableBasicAuth: bool?, enablePerformanceMode: bool?, buildSpec: str?, enablePullRequestPreview: bool?, pullRequestEnvironmentName: str?}, repositoryCloneMethod: str?, cacheConfig: CacheConfig?{type: str}}}\n\n@endgroup\n\n@group artifacts\n@endpoint GET /artifacts/{artifactId}\n@desc Returns the artifact info that corresponds to an artifact id.\n@required {artifactId: str}\n@returns(200) {artifactId: str, artifactUrl: str}\n\n@endgroup\n\n@group apps\n@endpoint GET /apps/{appId}/backendenvironments/{environmentName}\n@desc Returns a backend environment for an Amplify app.  This API is available only to Amplify Gen 1 applications where the backend is created using Amplify Studio or the Amplify command line interface (CLI). This API isn’t available to Amplify Gen 2 applications. When you deploy an application with Amplify Gen 2, you provision the app's backend infrastructure using Typescript code.\n@required {appId: str, environmentName: str}\n@returns(200) {backendEnvironment: BackendEnvironment{backendEnvironmentArn: str, environmentName: str, stackName: str?, deploymentArtifacts: str?, createTime: str(timestamp), updateTime: str(timestamp)}}\n\n@endpoint GET /apps/{appId}/branches/{branchName}\n@desc Returns a branch for an Amplify app.\n@required {appId: str, branchName: str}\n@returns(200) {branch: Branch{branchArn: str, branchName: str, description: str, tags: map<str, str>?: any, stage: str, displayName: str, enableNotification: bool, createTime: str(timestamp), updateTime: str(timestamp), environmentVariables: map<str, str>: any, enableAutoBuild: bool, customDomains: [str], framework: str, activeJobId: str, totalNumberOfJobs: str, enableBasicAuth: bool, enablePerformanceMode: bool?, thumbnailUrl: str?, basicAuthCredentials: str?, buildSpec: str?, ttl: str, associatedResources: [str]?, enablePullRequestPreview: bool, pullRequestEnvironmentName: str?, destinationBranch: str?, sourceBranch: str?, backendEnvironmentArn: str?, backend: Backend?{stackArn: str?}}}\n\n@endpoint GET /apps/{appId}/domains/{domainName}\n@desc Returns the domain information for an Amplify app.\n@required {appId: str, domainName: str}\n@returns(200) {domainAssociation: DomainAssociation{domainAssociationArn: str, domainName: str, enableAutoSubDomain: bool, autoSubDomainCreationPatterns: [str]?, autoSubDomainIAMRole: str?, domainStatus: str, updateStatus: str?, statusReason: str, certificateVerificationDNSRecord: str?, subDomains: [SubDomain], certificate: Certificate?{type: str, customCertificateArn: str?, certificateVerificationDNSRecord: str?}}}\n\n@endpoint GET /apps/{appId}/branches/{branchName}/jobs/{jobId}\n@desc Returns a job for a branch of an Amplify app.\n@required {appId: str, branchName: str, jobId: str}\n@returns(200) {job: Job{summary: JobSummary{jobArn: str, jobId: str, commitId: str, commitMessage: str, commitTime: str(timestamp), startTime: str(timestamp), status: str, endTime: str(timestamp)?, jobType: str}, steps: [Step]}}\n\n@endgroup\n\n@group webhooks\n@endpoint GET /webhooks/{webhookId}\n@desc Returns the webhook information that corresponds to a specified webhook ID.\n@required {webhookId: str}\n@returns(200) {webhook: Webhook{webhookArn: str, webhookId: str, webhookUrl: str, branchName: str, description: str, createTime: str(timestamp), updateTime: str(timestamp)}}\n\n@endgroup\n\n@group apps\n@endpoint GET /apps\n@desc Returns a list of the existing Amplify apps.\n@optional {nextToken: str, maxResults: int}\n@returns(200) {apps: [App], nextToken: str?}\n\n@endpoint GET /apps/{appId}/branches/{branchName}/jobs/{jobId}/artifacts\n@desc Returns a list of artifacts for a specified app, branch, and job.\n@required {appId: str, branchName: str, jobId: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {artifacts: [Artifact], nextToken: str?}\n\n@endpoint GET /apps/{appId}/backendenvironments\n@desc Lists the backend environments for an Amplify app.  This API is available only to Amplify Gen 1 applications where the backend is created using Amplify Studio or the Amplify command line interface (CLI). This API isn’t available to Amplify Gen 2 applications. When you deploy an application with Amplify Gen 2, you provision the app's backend infrastructure using Typescript code.\n@required {appId: str}\n@optional {environmentName: str, nextToken: str, maxResults: int}\n@returns(200) {backendEnvironments: [BackendEnvironment], nextToken: str?}\n\n@endpoint GET /apps/{appId}/branches\n@desc Lists the branches of an Amplify app.\n@required {appId: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {branches: [Branch], nextToken: str?}\n\n@endpoint GET /apps/{appId}/domains\n@desc Returns the domain associations for an Amplify app.\n@required {appId: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {domainAssociations: [DomainAssociation], nextToken: str?}\n\n@endpoint GET /apps/{appId}/branches/{branchName}/jobs\n@desc Lists the jobs for a branch of an Amplify app.\n@required {appId: str, branchName: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {jobSummaries: [JobSummary], nextToken: str?}\n\n@endgroup\n\n@group tags\n@endpoint GET /tags/{resourceArn}\n@desc Returns a list of tags for a specified Amazon Resource Name (ARN).\n@required {resourceArn: str}\n@returns(200) {tags: map<str,str>?}\n\n@endgroup\n\n@group apps\n@endpoint GET /apps/{appId}/webhooks\n@desc Returns a list of webhooks for an Amplify app.\n@required {appId: str}\n@optional {nextToken: str, maxResults: int}\n@returns(200) {webhooks: [Webhook], nextToken: str?}\n\n@endpoint POST /apps/{appId}/branches/{branchName}/deployments/start\n@desc Starts a deployment for a manually deployed app. Manually deployed apps are not connected to a repository.  The maximum duration between the CreateDeployment call and the StartDeployment call cannot exceed 8 hours. If the duration exceeds 8 hours, the StartDeployment call and the associated Job will fail.\n@required {appId: str, branchName: str}\n@optional {jobId: str, sourceUrl: str}\n@returns(200) {jobSummary: JobSummary{jobArn: str, jobId: str, commitId: str, commitMessage: str, commitTime: str(timestamp), startTime: str(timestamp), status: str, endTime: str(timestamp)?, jobType: str}}\n\n@endpoint POST /apps/{appId}/branches/{branchName}/jobs\n@desc Starts a new job for a branch of an Amplify app.\n@required {appId: str, branchName: str, jobType: str}\n@optional {jobId: str, jobReason: str, commitId: str, commitMessage: str, commitTime: str(timestamp)}\n@returns(200) {jobSummary: JobSummary{jobArn: str, jobId: str, commitId: str, commitMessage: str, commitTime: str(timestamp), startTime: str(timestamp), status: str, endTime: str(timestamp)?, jobType: str}}\n\n@endpoint DELETE /apps/{appId}/branches/{branchName}/jobs/{jobId}/stop\n@desc Stops a job that is in progress for a branch of an Amplify app.\n@required {appId: str, branchName: str, jobId: str}\n@returns(200) {jobSummary: JobSummary{jobArn: str, jobId: str, commitId: str, commitMessage: str, commitTime: str(timestamp), startTime: str(timestamp), status: str, endTime: str(timestamp)?, jobType: str}}\n\n@endgroup\n\n@group tags\n@endpoint POST /tags/{resourceArn}\n@desc Tags the resource with a tag key and value.\n@required {resourceArn: str, tags: map<str,str>}\n\n@endpoint DELETE /tags/{resourceArn}\n@desc Untags a resource with a specified Amazon Resource Name (ARN).\n@required {resourceArn: str, tagKeys: [str]}\n\n@endgroup\n\n@group apps\n@endpoint POST /apps/{appId}\n@desc Updates an existing Amplify app.\n@required {appId: str}\n@optional {name: str, description: str, platform: str, iamServiceRoleArn: str, environmentVariables: map<str,str>, enableBranchAutoBuild: bool, enableBranchAutoDeletion: bool, enableBasicAuth: bool, basicAuthCredentials: str, customRules: [CustomRule], buildSpec: str, customHeaders: str, enableAutoBranchCreation: bool, autoBranchCreationPatterns: [str], autoBranchCreationConfig: AutoBranchCreationConfig, repository: str, oauthToken: str, accessToken: str, cacheConfig: CacheConfig}\n@returns(200) {app: App{appId: str, appArn: str, name: str, tags: map<str, str>?: any, description: str, repository: str, platform: str, createTime: str(timestamp), updateTime: str(timestamp), iamServiceRoleArn: str?, environmentVariables: map<str, str>: any, defaultDomain: str, enableBranchAutoBuild: bool, enableBranchAutoDeletion: bool?, enableBasicAuth: bool, basicAuthCredentials: str?, customRules: [CustomRule]?, productionBranch: ProductionBranch?{lastDeployTime: str(timestamp)?, status: str?, thumbnailUrl: str?, branchName: str?}, buildSpec: str?, customHeaders: str?, enableAutoBranchCreation: bool?, autoBranchCreationPatterns: [str]?, autoBranchCreationConfig: AutoBranchCreationConfig?{stage: str?, framework: str?, enableAutoBuild: bool?, environmentVariables: map<str, str>?: any, basicAuthCredentials: str?, enableBasicAuth: bool?, enablePerformanceMode: bool?, buildSpec: str?, enablePullRequestPreview: bool?, pullRequestEnvironmentName: str?}, repositoryCloneMethod: str?, cacheConfig: CacheConfig?{type: str}}}\n\n@endpoint POST /apps/{appId}/branches/{branchName}\n@desc Updates a branch for an Amplify app.\n@required {appId: str, branchName: str}\n@optional {description: str, framework: str, stage: str, enableNotification: bool, enableAutoBuild: bool, environmentVariables: map<str,str>, basicAuthCredentials: str, enableBasicAuth: bool, enablePerformanceMode: bool, buildSpec: str, ttl: str, displayName: str, enablePullRequestPreview: bool, pullRequestEnvironmentName: str, backendEnvironmentArn: str, backend: Backend}\n@returns(200) {branch: Branch{branchArn: str, branchName: str, description: str, tags: map<str, str>?: any, stage: str, displayName: str, enableNotification: bool, createTime: str(timestamp), updateTime: str(timestamp), environmentVariables: map<str, str>: any, enableAutoBuild: bool, customDomains: [str], framework: str, activeJobId: str, totalNumberOfJobs: str, enableBasicAuth: bool, enablePerformanceMode: bool?, thumbnailUrl: str?, basicAuthCredentials: str?, buildSpec: str?, ttl: str, associatedResources: [str]?, enablePullRequestPreview: bool, pullRequestEnvironmentName: str?, destinationBranch: str?, sourceBranch: str?, backendEnvironmentArn: str?, backend: Backend?{stackArn: str?}}}\n\n@endpoint POST /apps/{appId}/domains/{domainName}\n@desc Creates a new domain association for an Amplify app.\n@required {appId: str, domainName: str}\n@optional {enableAutoSubDomain: bool, subDomainSettings: [SubDomainSetting], autoSubDomainCreationPatterns: [str], autoSubDomainIAMRole: str, certificateSettings: CertificateSettings}\n@returns(200) {domainAssociation: DomainAssociation{domainAssociationArn: str, domainName: str, enableAutoSubDomain: bool, autoSubDomainCreationPatterns: [str]?, autoSubDomainIAMRole: str?, domainStatus: str, updateStatus: str?, statusReason: str, certificateVerificationDNSRecord: str?, subDomains: [SubDomain], certificate: Certificate?{type: str, customCertificateArn: str?, certificateVerificationDNSRecord: str?}}}\n\n@endgroup\n\n@group webhooks\n@endpoint POST /webhooks/{webhookId}\n@desc Updates a webhook.\n@required {webhookId: str}\n@optional {branchName: str, description: str}\n@returns(200) {webhook: Webhook{webhookArn: str, webhookId: str, webhookUrl: str, branchName: str, description: str, createTime: str(timestamp), updateTime: str(timestamp)}}\n\n@endgroup\n\n@end\n"}}