> ## Documentation Index
> Fetch the complete documentation index at: https://developer.amplify.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# API conventions

> Understand Amplify API naming, versioning, and resource behavior.

## Environments

Use the production environment for live customer integrations. Use development only for testing against non-production data.

| Environment | Base URL                      |
| ----------- | ----------------------------- |
| Production  | `https://api.amplify.xyz`     |
| Development | `https://dev-api.amplify.xyz` |

The examples and interactive API playground in this documentation use production by default. Keep credentials and access tokens separate between environments.

## Base URL and versioning

Production v1 endpoints begin with:

```text theme={null}
https://api.amplify.xyz/v1
```

The major version is part of the URL. Breaking changes require a new major version.

## Naming

* Paths use lowercase plural nouns, such as `/numbers`.
* Fields, query parameters, and enum values use `snake_case`.
* Path parameters use resource-specific names, such as `{number_id}`.
* Resource identifiers are numeric values represented as strings.

## Resource operations

* Create operations return `201 Created` when work finishes synchronously.
* Long-running operations return `202 Accepted`. Track progress on the returned resource.
* Updates use `PATCH`.
* `DELETE` permanently deletes a resource.
* Resources that support a trash lifecycle use `POST /{resource}/{resource_id}/trash` and `/restore`.

## Unsupported v1 conventions

The v1 contract does not support idempotency keys, ETag-based optimistic concurrency, sparse fieldsets, embedded-resource expansion, client-supplied correlation IDs, or webhook signatures.
