CreateRegistryRecord - Amazon Bedrock AgentCore Control Plane

CreateRegistryRecord

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.

Request Syntax

POST /registries/registryId/records HTTP/1.1 Content-type: application/json { "clientToken": "string", "description": "string", "descriptors": { "a2a": { "agentCard": { "inlineContent": "string", "schemaVersion": "string" } }, "agentSkills": { "skillDefinition": { "inlineContent": "string", "schemaVersion": "string" }, "skillMd": { "inlineContent": "string" } }, "custom": { "inlineContent": "string" }, "mcp": { "server": { "inlineContent": "string", "schemaVersion": "string" }, "tools": { "inlineContent": "string", "protocolVersion": "string" } } }, "descriptorType": "string", "name": "string", "recordVersion": "string", "synchronizationConfiguration": { "fromUrl": { "credentialProviderConfigurations": [ { "credentialProvider": { ... }, "credentialProviderType": "string" } ], "url": "string" } }, "synchronizationType": "string" }

URI Request Parameters

The request uses the following URI parameters.

registryId

The identifier of the registry where the record will be created. You can specify either the Amazon Resource Name (ARN) or the ID of the registry.

Length Constraints: Minimum length of 1. Maximum length of 2048.

Pattern: (arn:aws(-[^:]+)?:bedrock-agentcore:[a-z0-9-]+:[0-9]{12}:registry/)?[a-zA-Z0-9]{12,16}

Required: Yes

Request Body

The request accepts the following data in JSON format.

clientToken

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 Ensuring idempotency.

Type: String

Length Constraints: Minimum length of 33. Maximum length of 256.

Pattern: [a-zA-Z0-9](-*[a-zA-Z0-9]){0,256}

Required: No

description

A description of the registry record.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 4096.

Required: No

descriptors

The descriptor-type-specific configuration containing the resource schema and metadata. The structure of this field depends on the descriptorType you specify.

Type: Descriptors object

Required: No

descriptorType

The descriptor type of the registry record.

  • MCP - Model Context Protocol descriptor for MCP-compatible servers and tools.

  • A2A - Agent-to-Agent protocol descriptor.

  • CUSTOM - Custom descriptor type for resources such as APIs, Lambda functions, or servers not conforming to a standard protocol.

  • AGENT_SKILLS - Agent skills descriptor for defining agent skill definitions.

Type: String

Valid Values: MCP | A2A | CUSTOM | AGENT_SKILLS

Required: Yes

name

The name of the registry record.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 255.

Pattern: [a-zA-Z0-9][a-zA-Z0-9_\-\.\/]*

Required: Yes

recordVersion

The version of the registry record. Use this to track different versions of the record's content.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 255.

Pattern: [a-zA-Z0-9.-]+

Required: No

synchronizationConfiguration

The configuration for synchronizing registry record metadata from an external source, such as a URL-based MCP server.

Type: SynchronizationConfiguration object

Required: No

synchronizationType

The type of synchronization to use for keeping the record metadata up to date from an external source. Possible values include FROM_URL and NONE.

Type: String

Valid Values: URL

Required: No

Response Syntax

HTTP/1.1 202 Content-type: application/json { "recordArn": "string", "status": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 202 response.

The following data is returned in JSON format by the service.

recordArn

The Amazon Resource Name (ARN) of the created registry record.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 2048.

Pattern: arn:aws(-[^:]+)?:bedrock-agentcore:[a-z0-9-]+:[0-9]{12}:registry/[a-zA-Z0-9]{12,16}/record/[a-zA-Z0-9]{12}

status

The status of the registry record. Set to CREATING while the asynchronous workflow is in progress.

Type: String

Valid Values: DRAFT | PENDING_APPROVAL | APPROVED | REJECTED | DEPRECATED | CREATING | UPDATING | CREATE_FAILED | UPDATE_FAILED

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedException

This exception is thrown when a request is denied per access permissions

HTTP Status Code: 403

ConflictException

This exception is thrown when there is a conflict performing an operation

HTTP Status Code: 409

InternalServerException

This exception is thrown if there was an unexpected error during processing of request

HTTP Status Code: 500

ResourceNotFoundException

This exception is thrown when a resource referenced by the operation does not exist

HTTP Status Code: 404

ServiceQuotaExceededException

This exception is thrown when a request is made beyond the service quota

HTTP Status Code: 402

ThrottlingException

This exception is thrown when the number of requests exceeds the limit

HTTP Status Code: 429

ValidationException

The input fails to satisfy the constraints specified by the service.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: