---
title: "POST /registries/{registryId}/records"
method: POST
path: "/registries/{registryId}/records"
---

# POST /registries/{registryId}/records

`POST /registries/{registryId}/records`

Creates a new registry record within the specified registry. A registry record represents an individual AI resource's metadata in the registry. This could be an MCP server (and associated tools), A2A agent, agent skill, or a custom resource with a custom schema.

The record is processed asynchronously and returns HTTP 202 Accepted.

## Path parameters

- `registryId` string, required

## Request body

- object
  - `name` string, required — The name of the registry record.
  - `description` string, password — A description of the registry record.
  - `descriptorType` 'MCP' | 'A2A' | 'CUSTOM' | 'AGENT_SKILLS', required — <p>The descriptor type of the registry record.</p> <ul> <li> <p> <code>MCP</code> - Model Context Protocol descriptor for MCP-compatible servers and tools.</p> </li> <li> <p> <code>A2A</code> - Agent-to-Agent protocol descriptor.</p> </li> <li> <p> <code>CUSTOM</code> - Custom descriptor type for resources such as APIs, Lambda functions, or servers not conforming to a standard protocol.</p> </li> <li> <p> <code>AGENT_SKILLS</code> - Agent skills descriptor for defining agent skill definitions.</p> </li> </ul>
  - `descriptors` object — Contains descriptor-type-specific configurations for a registry record. Only the descriptor matching the record's <code>descriptorType</code> should be populated.
    - `mcp` object — The Model Context Protocol (MCP) descriptor configuration. Use this when the <code>descriptorType</code> is <code>MCP</code>.
      - `server` object — The MCP server definition, containing the server configuration and schema as defined by the MCP protocol specification.
        - `schemaVersion` string — The schema version of the server definition based on the MCP protocol specification. If not specified, the version is auto-detected from the content.
        - `inlineContent` string — The JSON content containing the MCP server definition, conforming to the MCP protocol specification.
      - `tools` object — The MCP tools definition, containing the tools available on the MCP server as defined by the MCP protocol specification.
        - `protocolVersion` string — The protocol version of the tools definition based on the MCP protocol specification. If not specified, the version is auto-detected from the content.
        - `inlineContent` string — The JSON content containing the MCP tools definition, conforming to the MCP protocol specification.
    - `a2a` object — The Agent-to-Agent (A2A) protocol descriptor configuration. Use this when the <code>descriptorType</code> is <code>A2A</code>.
      - `agentCard` object — The agent card definition for the A2A agent, as defined by the A2A protocol specification.
        - `schemaVersion` string — The schema version of the agent card based on the A2A protocol specification.
        - `inlineContent` string — The JSON content containing the A2A agent card definition, conforming to the A2A protocol specification.
    - `custom` object — The custom descriptor configuration. Use this when the <code>descriptorType</code> is <code>CUSTOM</code>.
      - `inlineContent` string — The custom descriptor content as a valid JSON document. You can define any custom schema that describes your resource.
    - `agentSkills` object — The agent skills descriptor configuration. Use this when the <code>descriptorType</code> is <code>AGENT_SKILLS</code>.
      - `skillMd` object — The optional skill markdown definition describing the agent's skills in a human-readable format.
        - `inlineContent` string — The markdown content describing the agent's skills in a human-readable format.
      - `skillDefinition` object — The structured skill definition with schema version and content.
        - `schemaVersion` string — The version of the skill definition schema.
        - `inlineContent` string — The JSON content containing the structured skill definition.
  - `recordVersion` string — The version of the registry record. Use this to track different versions of the record's content.
  - `synchronizationType` 'URL' — The type of synchronization to use for keeping the record metadata up to date from an external source. Possible values include <code>FROM_URL</code> and <code>NONE</code>.
  - `synchronizationConfiguration` object — Configuration for synchronizing registry record metadata from an external source.
    - `fromUrl` object — Configuration for synchronizing from a URL-based source.
      - `url` string, required — The HTTPS URL of the MCP server to synchronize from.
      - `credentialProviderConfigurations` RegistryRecordCredentialProviderConfiguration[] — Optional list of credential provider configurations for authenticating with the MCP server. At most one credential provider configuration can be specified.
        - `credentialProviderType` 'OAUTH' | 'IAM', required — <p>The type of credential provider.</p> <ul> <li> <p> <code>OAUTH</code> - OAuth-based authentication.</p> </li> <li> <p> <code>IAM</code> - Amazon Web Services IAM-based authentication using SigV4 signing.</p> </li> </ul>
        - `credentialProvider` object, required — The credential provider configuration details. The structure depends on the <code>credentialProviderType</code>.
          - `oauthCredentialProvider` object — The OAuth credential provider configuration for authenticating with the external source.
            - `providerArn` string, required — The Amazon Resource Name (ARN) of the OAuth credential provider resource.
            - `grantType` 'CLIENT_CREDENTIALS' — The OAuth grant type. Currently only <code>CLIENT_CREDENTIALS</code> is supported.
            - `scopes` String[] — The OAuth scopes to request during authentication.
            - `customParameters` object — Additional custom parameters for the OAuth flow.
          - `iamCredentialProvider` object — The IAM credential provider configuration for authenticating with the external source using SigV4 signing.
            - `roleArn` string — The Amazon Resource Name (ARN) of the IAM role to assume for SigV4 signing.
            - `service` string — The SigV4 signing service name (for example, <code>execute-api</code> or <code>bedrock-agentcore</code>).
            - `region` string — The Amazon Web Services region for SigV4 signing (for example, <code>us-west-2</code>). If not specified, the region is extracted from the MCP server URL hostname, with fallback to the service's own region.
  - `clientToken` string — A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If you don't specify this field, a value is randomly generated for you. If this token matches a previous request, the service ignores the request, but doesn't return an error. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring idempotency</a>.

## Response `202`

Success

- CreateRegistryRecordResponse
  - `recordArn` string, required — The Amazon Resource Name (ARN) of the created registry record.
  - `status` 'DRAFT' | 'PENDING_APPROVAL' | 'APPROVED' | 'REJECTED' | 'DEPRECATED' | 'CREATING' | 'UPDATING' | 'CREATE_FAILED' | 'UPDATE_FAILED', required — The status of the registry record. Set to <code>CREATING</code> while the asynchronous workflow is in progress.

## Other responses

- `480` — ServiceQuotaExceededException
- `481` — AccessDeniedException
- `482` — ConflictException
- `483` — ValidationException
- `484` — ResourceNotFoundException
- `485` — ThrottlingException
- `486` — InternalServerException

---

[API](https://skmtc.net/aws/apis/bedrock-agentcore-control.md) · [All operations](https://skmtc.net/aws/apis/bedrock-agentcore-control/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aws/bedrock-agentcore-control/versions/0ebde766792b/schema)
