canonical: https://jentic.com/apis/amazonaws.com/amplifybackend

# AWS AmplifyBackend

Jentic publishes the only available OpenAPI specification for AmplifyBackend, keeping it validated and agent-ready. AWS AmplifyBackend is the admin API that powers backend resource generation for Amplify Hosting applications, including auth, API, storage, and config resources tied to specific Amplify backend environments. The API exposes 31 operations to clone, configure, list, and remove backends, manage authentication and API resources, and import existing Cognito user pools. Platform teams use it to script Amplify CLI generated backends from CI rather than developer machines.

## For AI agents

Generate, configure, and remove Amplify backend environments and their auth, API, storage, and config resources programmatically through 31 admin operations.

## Scope

Does not handle frontend hosting, build pipelines, or branch deployments - use for managing Amplify backend environments and their auth, API, storage, and config resources only.

## Capabilities

- Clone an existing Amplify backend environment to spin up an isolated dev or QA stack
- Generate auth resources backed by Amazon Cognito user pools and identity pools
- Generate API resources for REST and GraphQL backends with associated Lambda and DynamoDB infrastructure
- Configure storage backends backed by S3 with per-user access rules
- Import an existing Cognito user pool so multiple Amplify environments share the same identity
- Inspect and remove backend resources without leaving orphaned CloudFormation stacks

## Use cases

### Programmatic Backend Environment Cloning

Platform teams use CloneBackend to copy a working backend environment into a new one for QA, staging, or feature work without rerunning the full Amplify CLI flow. The clone preserves auth, API, storage, and config so the new environment can be wired to a different Amplify Hosting branch and used by reviewers or QA testers within minutes.

Example prompt: Call POST /backend/{appId}/environments/{backendEnvironmentName}/clone with TargetEnvironmentName=qa to copy an existing backend

### Auth Resource Generation

Application teams use the auth endpoints to generate Cognito-backed authentication for an Amplify app from a structured config rather than the local CLI. CreateBackendAuth provisions a Cognito user pool and identity pool with the requested settings, and UpdateBackendAuth applies subsequent changes. The same flow can be triggered from a CI job, so backend changes deploy alongside frontend changes.

Example prompt: Call POST /backend/{appId}/auth with ResourceConfig describing the Cognito user pool and identity pool requirements for the target environment

### Existing Cognito Pool Import

Teams that already have a Cognito user pool use ImportBackendAuth to attach it to a new Amplify backend rather than duplicating identities. The same pool then underpins the Amplify generated client config so frontends authenticate against the existing identity store, making it straightforward to migrate legacy apps onto Amplify without forcing user resets.

Example prompt: Call POST /backend/{appId}/auth/{backendEnvironmentName}/import with the existing UserPoolId, IdentityPoolId, and NativeClientId

### AI Agent Backend Provisioner

An AI agent invoked through Jentic provisions a new Amplify backend environment for each new microsite or experiment. The agent searches Jentic for the create-backend-auth and create-backend-api operations, executes them with the requested resource configs, and reports the resulting endpoints back to a chat workflow. Jentic handles SigV4 signing, so the agent only deals with the structured ResourceConfig payloads.

Example prompt: Search Jentic for create amplify backend auth, execute it with the auth resource config, then create matching API and storage resources for the same backend environment

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /backend | Create a new Amplify backend |
| POST | /backend/{appId}/environments/{backendEnvironmentName}/clone | Clone an existing backend environment into a new one |
| POST | /backend/{appId}/auth | Create a Cognito-based auth resource for the backend |
| POST | /backend/{appId}/api | Create a REST or GraphQL API resource for the backend |
| POST | /backend/{appId}/storage | Create an S3-backed storage resource for the backend |
| POST | /backend/{appId}/environments/{backendEnvironmentName}/remove | Remove a backend environment and its associated resources |

## Key resources

- **Backend Environments** — Create, clone, list, and delete backend environments tied to an Amplify app
- **Auth Resources** — Create, update, get, delete, and import Cognito-based auth backends
- **API Resources** — Create, update, get, and delete REST and GraphQL backend APIs
- **Storage Resources** — Manage S3-backed storage resources with per-user access rules
- **Config** — Read and update consolidated backend configuration for an Amplify environment
- **Challenge Tokens** — Issue and validate the bootstrap tokens used to register a new backend

## Why Jentic

- **Setup:** Wiring AmplifyBackend by hand means signing every admin request with AWS Signature Version 4 and resolving the amplifybackend.{region}.amazonaws.com host for your region. Through Jentic you install once, import AmplifyBackend from the API Directory, store your AWS access key and secret once, and your agent calls it.
- **Permission scoping:** AmplifyBackend puts the app id and environment name in the URL path (/backend/{appId}/auth, /backend/{appId}/environments/{backendEnvironmentName}/clone, and similar), so a rule can pin the agent to one app's backend environments and their auth, API, and storage resources. You choose the operations it may call, so destructive ones like the environment remove at /backend/{appId}/environments/{backendEnvironmentName}/remove are not included unless you add them.
- **Credential handling:** Your AWS access key and secret are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'clone an Amplify backend environment' or 'create a Cognito-based auth resource', and Jentic returns the matching AmplifyBackend operation with its ResourceConfig schema so the agent does not have to map operation names to AWS path conventions.

## Related APIs

- **AWS Amplify** — AmplifyBackend pairs with the Amplify Hosting API to wire backend resources to specific frontend branches
- **Amazon API Gateway** — Use API Gateway directly when you do not want Amplify's CloudFormation glue around your backend
- **AWS Certificate Manager** — Issues SSL certificates used by API and storage endpoints generated by Amplify backends

## FAQ

### Why is there no official OpenAPI spec for AmplifyBackend?

AWS does not publish an OpenAPI specification for AmplifyBackend; the official surface is the AWS SDKs and the Smithy model. Jentic generates and maintains this spec so that AI agents and developers can call AmplifyBackend via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the AmplifyBackend API use?

AmplifyBackend uses AWS Signature Version 4 (SigV4) signed with an IAM access key id and secret access key, optionally with an STS session token. Through Jentic the access key id and secret access key are stored encrypted in the vault and SigV4 signing is performed server side, so the agent never sees the raw secret access key.

### Can I clone an existing Amplify backend with the AmplifyBackend API?

Yes. POST /backend/{appId}/environments/{backendEnvironmentName}/clone with a TargetEnvironmentName produces a new backend environment with the same auth, API, storage, and config as the source. It is the API equivalent of amplify env add --copy-from-existing in the Amplify CLI.

### What are the rate limits for the AmplifyBackend API?

AmplifyBackend applies per-region throttling on each operation. Most mutating operations like CreateBackendAuth and CreateBackendAPI are throttled at lower rates than read operations like GetBackend and ListBackendJobs. Persistent throttling returns ThrottlingException; back off with exponential delay and retry.

### How do I generate a backend auth resource with the AmplifyBackend API through Jentic?

Install the SDK with pip install jentic, search Jentic for create amplify backend auth, load the CreateBackendAuth operation schema, and execute it with a ResourceConfig describing the Cognito user pool and identity pool you need. Jentic handles SigV4 signing and returns the JobId you can poll with GetBackendJob until the resource is ready.

### Can I import an existing Cognito user pool into an Amplify backend?

Yes. POST /backend/{appId}/auth/{backendEnvironmentName}/import with the existing UserPoolId, IdentityPoolId, and NativeClientId attaches the pool to the backend instead of creating a new one. This is the recommended path when migrating an existing app onto Amplify Hosting without forcing users to reset credentials.

### Can I limit what my agent is allowed to do with the AmplifyBackend API?

Yes. Because you run Jentic One self-hosted, your own rules decide which AmplifyBackend operations and credentials the agent may use. Since the API puts the app id and environment name in the URL path, such as /backend/{appId}/auth and /backend/{appId}/environments/{backendEnvironmentName}/clone, you can pin the agent to a single app's backend environments and their auth, API, and storage resources. You also choose the exact operations it may call, so a destructive one like the environment remove at /backend/{appId}/environments/{backendEnvironmentName}/remove is excluded unless you add it.
