{"files":{"SKILL.md":"---\nname: amplifybackend\ndescription: \"AmplifyBackend API skill. Use when working with AmplifyBackend for backend, s3Buckets. Covers 31 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# AmplifyBackend\nAPI version: 2020-08-11\n\n## Auth\nAWS SigV4\n\n## Base URL\nNot specified.\n\n## Setup\n1. Configure auth: AWS SigV4\n2. GET /backend/{appId}/job/{backendEnvironmentName}/{jobId} -- returns information about a specific job.\n3. POST /backend/{appId}/environments/{backendEnvironmentName}/clone -- create first clone\n\n## Endpoints\n31 endpoints across 2 groups. See references/api-spec.lap for full details.\n\n### Backend\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /backend/{appId}/environments/{backendEnvironmentName}/clone | This operation clones an existing backend. |\n| POST | /backend | This operation creates a backend for an Amplify app. Backends are automatically created at the time of app creation. |\n| POST | /backend/{appId}/api | Creates a new backend API resource. |\n| POST | /backend/{appId}/auth | Creates a new backend authentication resource. |\n| POST | /backend/{appId}/config | Creates a config object for a backend. |\n| POST | /backend/{appId}/storage | Creates a backend storage resource. |\n| POST | /backend/{appId}/challenge | Generates a one-time challenge code to authenticate a user into your Amplify Admin UI. |\n| POST | /backend/{appId}/environments/{backendEnvironmentName}/remove | Removes an existing environment from your Amplify project. |\n| POST | /backend/{appId}/api/{backendEnvironmentName}/remove | Deletes an existing backend API resource. |\n| POST | /backend/{appId}/auth/{backendEnvironmentName}/remove | Deletes an existing backend authentication resource. |\n| POST | /backend/{appId}/storage/{backendEnvironmentName}/remove | Removes the specified backend storage resource. |\n| POST | /backend/{appId}/challenge/{sessionId}/remove | Deletes the challenge token based on the given appId and sessionId. |\n| POST | /backend/{appId}/api/{backendEnvironmentName}/generateModels | Generates a model schema for an existing backend API resource. |\n| POST | /backend/{appId}/details | Provides project-level details for your Amplify UI project. |\n| POST | /backend/{appId}/api/{backendEnvironmentName}/details | Gets the details for a backend API. |\n| POST | /backend/{appId}/api/{backendEnvironmentName}/getModels | Gets a model introspection schema for an existing backend API resource. |\n| POST | /backend/{appId}/auth/{backendEnvironmentName}/details | Gets a backend auth details. |\n| GET | /backend/{appId}/job/{backendEnvironmentName}/{jobId} | Returns information about a specific job. |\n| POST | /backend/{appId}/storage/{backendEnvironmentName}/details | Gets details for a backend storage resource. |\n| GET | /backend/{appId}/challenge/{sessionId} | Gets the challenge token based on the given appId and sessionId. |\n| POST | /backend/{appId}/auth/{backendEnvironmentName}/import | Imports an existing backend authentication resource. |\n| POST | /backend/{appId}/storage/{backendEnvironmentName}/import | Imports an existing backend storage resource. |\n| POST | /backend/{appId}/job/{backendEnvironmentName} | Lists the jobs for the backend of an Amplify app. |\n| POST | /backend/{appId}/remove | Removes all backend environments from your Amplify project. |\n| POST | /backend/{appId}/config/remove | Removes the AWS resources required to access the Amplify Admin UI. |\n| POST | /backend/{appId}/api/{backendEnvironmentName} | Updates an existing backend API resource. |\n| POST | /backend/{appId}/auth/{backendEnvironmentName} | Updates an existing backend authentication resource. |\n| POST | /backend/{appId}/config/update | Updates the AWS resources required to access the Amplify Admin UI. |\n| POST | /backend/{appId}/job/{backendEnvironmentName}/{jobId} | Updates a specific job. |\n| POST | /backend/{appId}/storage/{backendEnvironmentName} | Updates an existing backend storage resource. |\n\n### S3Buckets\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /s3Buckets | The list of S3 buckets in your account. |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a clone?\" -> POST /backend/{appId}/environments/{backendEnvironmentName}/clone\n- \"Create a backend?\" -> POST /backend\n- \"Create a api?\" -> POST /backend/{appId}/api\n- \"Create a auth?\" -> POST /backend/{appId}/auth\n- \"Create a config?\" -> POST /backend/{appId}/config\n- \"Create a storage?\" -> POST /backend/{appId}/storage\n- \"Create a challenge?\" -> POST /backend/{appId}/challenge\n- \"Create a remove?\" -> POST /backend/{appId}/environments/{backendEnvironmentName}/remove\n- \"Create a generateModel?\" -> POST /backend/{appId}/api/{backendEnvironmentName}/generateModels\n- \"Create a detail?\" -> POST /backend/{appId}/details\n- \"Create a getModel?\" -> POST /backend/{appId}/api/{backendEnvironmentName}/getModels\n- \"Get job details?\" -> GET /backend/{appId}/job/{backendEnvironmentName}/{jobId}\n- \"Get challenge details?\" -> GET /backend/{appId}/challenge/{sessionId}\n- \"Create a import?\" -> POST /backend/{appId}/auth/{backendEnvironmentName}/import\n- \"Create a s3Bucket?\" -> POST /s3Buckets\n- \"Create a update?\" -> POST /backend/{appId}/config/update\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 AmplifyBackend\n@version 2020-08-11\n@auth AWS SigV4\n@endpoints 31\n@hint download_for_search\n@toc backend(30), s3Buckets(1)\n\n@group backend\n@endpoint POST /backend/{appId}/environments/{backendEnvironmentName}/clone\n@desc This operation clones an existing backend.\n@required {AppId: str, BackendEnvironmentName: str, TargetEnvironmentName: str}\n@returns(200) {AppId: str?, BackendEnvironmentName: str?, Error: str?, JobId: str?, Operation: str?, Status: str?}\n\n@endpoint POST /backend\n@desc This operation creates a backend for an Amplify app. Backends are automatically created at the time of app creation.\n@required {AppId: str, AppName: str, BackendEnvironmentName: str}\n@optional {ResourceConfig: ResourceConfig, ResourceName: str}\n@returns(200) {AppId: str?, BackendEnvironmentName: str?, Error: str?, JobId: str?, Operation: str?, Status: str?}\n\n@endpoint POST /backend/{appId}/api\n@desc Creates a new backend API resource.\n@required {AppId: str, BackendEnvironmentName: str, ResourceConfig: BackendAPIResourceConfig, ResourceName: str}\n@returns(200) {AppId: str?, BackendEnvironmentName: str?, Error: str?, JobId: str?, Operation: str?, Status: str?}\n\n@endpoint POST /backend/{appId}/auth\n@desc Creates a new backend authentication resource.\n@required {AppId: str, BackendEnvironmentName: str, ResourceConfig: CreateBackendAuthResourceConfig, ResourceName: str}\n@returns(200) {AppId: str?, BackendEnvironmentName: str?, Error: str?, JobId: str?, Operation: str?, Status: str?}\n\n@endpoint POST /backend/{appId}/config\n@desc Creates a config object for a backend.\n@required {AppId: str}\n@optional {BackendManagerAppId: str}\n@returns(200) {AppId: str?, BackendEnvironmentName: str?, JobId: str?, Status: str?}\n\n@endpoint POST /backend/{appId}/storage\n@desc Creates a backend storage resource.\n@required {AppId: str, BackendEnvironmentName: str, ResourceConfig: CreateBackendStorageResourceConfig, ResourceName: str}\n@returns(200) {AppId: str?, BackendEnvironmentName: str?, JobId: str?, Status: str?}\n\n@endpoint POST /backend/{appId}/challenge\n@desc Generates a one-time challenge code to authenticate a user into your Amplify Admin UI.\n@required {AppId: str}\n@returns(200) {AppId: str?, ChallengeCode: str?, SessionId: str?, Ttl: str?}\n\n@endpoint POST /backend/{appId}/environments/{backendEnvironmentName}/remove\n@desc Removes an existing environment from your Amplify project.\n@required {AppId: str, BackendEnvironmentName: str}\n@returns(200) {AppId: str?, BackendEnvironmentName: str?, Error: str?, JobId: str?, Operation: str?, Status: str?}\n\n@endpoint POST /backend/{appId}/api/{backendEnvironmentName}/remove\n@desc Deletes an existing backend API resource.\n@required {AppId: str, BackendEnvironmentName: str, ResourceName: str}\n@optional {ResourceConfig: BackendAPIResourceConfig}\n@returns(200) {AppId: str?, BackendEnvironmentName: str?, Error: str?, JobId: str?, Operation: str?, Status: str?}\n\n@endpoint POST /backend/{appId}/auth/{backendEnvironmentName}/remove\n@desc Deletes an existing backend authentication resource.\n@required {AppId: str, BackendEnvironmentName: str, ResourceName: str}\n@returns(200) {AppId: str?, BackendEnvironmentName: str?, Error: str?, JobId: str?, Operation: str?, Status: str?}\n\n@endpoint POST /backend/{appId}/storage/{backendEnvironmentName}/remove\n@desc Removes the specified backend storage resource.\n@required {AppId: str, BackendEnvironmentName: str, ResourceName: str, ServiceName: str}\n@returns(200) {AppId: str?, BackendEnvironmentName: str?, JobId: str?, Status: str?}\n\n@endpoint POST /backend/{appId}/challenge/{sessionId}/remove\n@desc Deletes the challenge token based on the given appId and sessionId.\n@required {AppId: str, SessionId: str}\n@returns(200) {IsSuccess: bool?}\n\n@endpoint POST /backend/{appId}/api/{backendEnvironmentName}/generateModels\n@desc Generates a model schema for an existing backend API resource.\n@required {AppId: str, BackendEnvironmentName: str, ResourceName: str}\n@returns(200) {AppId: str?, BackendEnvironmentName: str?, Error: str?, JobId: str?, Operation: str?, Status: str?}\n\n@endpoint POST /backend/{appId}/details\n@desc Provides project-level details for your Amplify UI project.\n@required {AppId: str}\n@optional {BackendEnvironmentName: str}\n@returns(200) {AmplifyFeatureFlags: str?, AmplifyMetaConfig: str?, AppId: str?, AppName: str?, BackendEnvironmentList: [str]?, BackendEnvironmentName: str?, Error: str?}\n\n@endpoint POST /backend/{appId}/api/{backendEnvironmentName}/details\n@desc Gets the details for a backend API.\n@required {AppId: str, BackendEnvironmentName: str, ResourceName: str}\n@optional {ResourceConfig: BackendAPIResourceConfig}\n@returns(200) {AppId: str?, BackendEnvironmentName: str?, Error: str?, ResourceConfig: BackendAPIResourceConfig?{AdditionalAuthTypes: [BackendAPIAuthType]?, ApiName: str?, ConflictResolution: BackendAPIConflictResolution?{ResolutionStrategy: str?}, DefaultAuthType: BackendAPIAuthType?{Mode: str?, Settings: BackendAPIAppSyncAuthSettings?{CognitoUserPoolId: str?, Description: str?, ExpirationTime: num(f64)?, OpenIDAuthTTL: str?, OpenIDClientId: str?, OpenIDIatTTL: str?, OpenIDIssueURL: str?, OpenIDProviderName: str?}}, Service: str?, TransformSchema: str?}, ResourceName: str?}\n\n@endpoint POST /backend/{appId}/api/{backendEnvironmentName}/getModels\n@desc Gets a model introspection schema for an existing backend API resource.\n@required {AppId: str, BackendEnvironmentName: str, ResourceName: str}\n@returns(200) {Models: str?, Status: str?, ModelIntrospectionSchema: str?}\n\n@endpoint POST /backend/{appId}/auth/{backendEnvironmentName}/details\n@desc Gets a backend auth details.\n@required {AppId: str, BackendEnvironmentName: str, ResourceName: str}\n@returns(200) {AppId: str?, BackendEnvironmentName: str?, Error: str?, ResourceConfig: CreateBackendAuthResourceConfig?{AuthResources: str, IdentityPoolConfigs: CreateBackendAuthIdentityPoolConfig?{IdentityPoolName: str, UnauthenticatedLogin: bool}, Service: str, UserPoolConfigs: CreateBackendAuthUserPoolConfig{ForgotPassword: CreateBackendAuthForgotPasswordConfig?{DeliveryMethod: str, EmailSettings: EmailSettings?, SmsSettings: SmsSettings?}, Mfa: CreateBackendAuthMFAConfig?{MFAMode: str, Settings: Settings?}, OAuth: CreateBackendAuthOAuthConfig?{DomainPrefix: str?, OAuthGrantType: str, OAuthScopes: [str], RedirectSignInURIs: [str], RedirectSignOutURIs: [str], SocialProviderSettings: SocialProviderSettings?}, PasswordPolicy: CreateBackendAuthPasswordPolicyConfig?{AdditionalConstraints: [str]?, MinimumLength: num(f64)}, RequiredSignUpAttributes: [str], SignInMethod: str, UserPoolName: str, VerificationMessage: CreateBackendAuthVerificationMessageConfig?{DeliveryMethod: str, EmailSettings: EmailSettings?, SmsSettings: SmsSettings?}}}, ResourceName: str?}\n\n@endpoint GET /backend/{appId}/job/{backendEnvironmentName}/{jobId}\n@desc Returns information about a specific job.\n@required {AppId: str, BackendEnvironmentName: str, JobId: str}\n@returns(200) {AppId: str?, BackendEnvironmentName: str?, CreateTime: str?, Error: str?, JobId: str?, Operation: str?, Status: str?, UpdateTime: str?}\n\n@endpoint POST /backend/{appId}/storage/{backendEnvironmentName}/details\n@desc Gets details for a backend storage resource.\n@required {AppId: str, BackendEnvironmentName: str, ResourceName: str}\n@returns(200) {AppId: str?, BackendEnvironmentName: str?, ResourceConfig: GetBackendStorageResourceConfig?{BucketName: str?, Imported: bool, Permissions: BackendStoragePermissions?{Authenticated: [str], UnAuthenticated: [str]?}, ServiceName: str}, ResourceName: str?}\n\n@endpoint GET /backend/{appId}/challenge/{sessionId}\n@desc Gets the challenge token based on the given appId and sessionId.\n@required {AppId: str, SessionId: str}\n@returns(200) {AppId: str?, ChallengeCode: str?, SessionId: str?, Ttl: str?}\n\n@endpoint POST /backend/{appId}/auth/{backendEnvironmentName}/import\n@desc Imports an existing backend authentication resource.\n@required {AppId: str, BackendEnvironmentName: str, NativeClientId: str, UserPoolId: str, WebClientId: str}\n@optional {IdentityPoolId: str}\n@returns(200) {AppId: str?, BackendEnvironmentName: str?, Error: str?, JobId: str?, Operation: str?, Status: str?}\n\n@endpoint POST /backend/{appId}/storage/{backendEnvironmentName}/import\n@desc Imports an existing backend storage resource.\n@required {AppId: str, BackendEnvironmentName: str, ServiceName: str}\n@optional {BucketName: str}\n@returns(200) {AppId: str?, BackendEnvironmentName: str?, JobId: str?, Status: str?}\n\n@endpoint POST /backend/{appId}/job/{backendEnvironmentName}\n@desc Lists the jobs for the backend of an Amplify app.\n@required {AppId: str, BackendEnvironmentName: str}\n@optional {JobId: str, MaxResults: int, NextToken: str, Operation: str, Status: str}\n@returns(200) {Jobs: [BackendJobRespObj]?, NextToken: str?}\n\n@endgroup\n\n@group s3Buckets\n@endpoint POST /s3Buckets\n@desc The list of S3 buckets in your account.\n@optional {NextToken: str}\n@returns(200) {Buckets: [S3BucketInfo]?, NextToken: str?}\n\n@endgroup\n\n@group backend\n@endpoint POST /backend/{appId}/remove\n@desc Removes all backend environments from your Amplify project.\n@required {AppId: str}\n@optional {CleanAmplifyApp: bool}\n@returns(200) {AppId: str?, Error: str?, JobId: str?, Operation: str?, Status: str?}\n\n@endpoint POST /backend/{appId}/config/remove\n@desc Removes the AWS resources required to access the Amplify Admin UI.\n@required {AppId: str}\n@returns(200) {Error: str?}\n\n@endpoint POST /backend/{appId}/api/{backendEnvironmentName}\n@desc Updates an existing backend API resource.\n@required {AppId: str, BackendEnvironmentName: str, ResourceName: str}\n@optional {ResourceConfig: BackendAPIResourceConfig}\n@returns(200) {AppId: str?, BackendEnvironmentName: str?, Error: str?, JobId: str?, Operation: str?, Status: str?}\n\n@endpoint POST /backend/{appId}/auth/{backendEnvironmentName}\n@desc Updates an existing backend authentication resource.\n@required {AppId: str, BackendEnvironmentName: str, ResourceConfig: UpdateBackendAuthResourceConfig, ResourceName: str}\n@returns(200) {AppId: str?, BackendEnvironmentName: str?, Error: str?, JobId: str?, Operation: str?, Status: str?}\n\n@endpoint POST /backend/{appId}/config/update\n@desc Updates the AWS resources required to access the Amplify Admin UI.\n@required {AppId: str}\n@optional {LoginAuthConfig: LoginAuthConfigReqObj}\n@returns(200) {AppId: str?, BackendManagerAppId: str?, Error: str?, LoginAuthConfig: LoginAuthConfigReqObj?{AwsCognitoIdentityPoolId: str?, AwsCognitoRegion: str?, AwsUserPoolsId: str?, AwsUserPoolsWebClientId: str?}}\n\n@endpoint POST /backend/{appId}/job/{backendEnvironmentName}/{jobId}\n@desc Updates a specific job.\n@required {AppId: str, BackendEnvironmentName: str, JobId: str}\n@optional {Operation: str, Status: str}\n@returns(200) {AppId: str?, BackendEnvironmentName: str?, CreateTime: str?, Error: str?, JobId: str?, Operation: str?, Status: str?, UpdateTime: str?}\n\n@endpoint POST /backend/{appId}/storage/{backendEnvironmentName}\n@desc Updates an existing backend storage resource.\n@required {AppId: str, BackendEnvironmentName: str, ResourceConfig: UpdateBackendStorageResourceConfig, ResourceName: str}\n@returns(200) {AppId: str?, BackendEnvironmentName: str?, JobId: str?, Status: str?}\n\n@endgroup\n\n@end\n"}}