View a markdown version of this page

CreateRegistryRecord - AgentRegistry Control Plane API Reference

CreateRegistryRecord

Creates a registry record within a registry. A registry record describes a discoverable resource, such as an MCP server, an agent, an agent skill, or a custom resource. Creation is asynchronous: the record is returned with the CREATING status while it is processed.

Request Syntax

POST /registries/registryId/records HTTP/1.1 Content-type: application/json { "clientToken": "string", "description": "string", "descriptors": { "a2aAgentCard": { "data": "string", "dataSchemaVersion": "string", "source": { "fromUrl": { "credentialProviderConfigurations": [ { "credentialProvider": { ... }, "credentialProviderType": "string" } ], "url": "string" } } }, "agentSkillsDefinition": { "additionalData": { "skillMd": { "data": "string", "dataSchemaVersion": "string", "source": { "fromUrl": { "credentialProviderConfigurations": [ { "credentialProvider": { ... }, "credentialProviderType": "string" } ], "url": "string" } } } }, "data": "string", "dataSchemaVersion": "string" }, "custom": { "data": "string" }, "mcpServer": { "additionalData": { "tools": { "data": "string", "dataSchemaVersion": "string" } }, "data": "string", "dataSchemaVersion": "string", "source": { "fromUrl": { "credentialProviderConfigurations": [ { "credentialProvider": { ... }, "credentialProviderType": "string" } ], "url": "string" } } } }, "displayName": "string", "name": "string", "recordType": "string", "recordVersion": "string", "tags": { "string" : "string" } }

URI Request Parameters

The request uses the following URI parameters.

registryId

The identifier of the registry in which to create the record (ARN or ID)

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

Pattern: (arn:aws(-[^:]+)?:agent-registry:[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

Client token for 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

The description of the registry record

Type: String

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

Required: No

descriptors

The typed descriptor content for the registry record

Type: Descriptors object

Required: Yes

displayName

The human-readable display name of the registry record

Type: String

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

Required: No

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

recordType

The type of the registry record, which determines the descriptor format

Type: String

Valid Values: MCP | AGENT | CUSTOM | SKILL

Required: Yes

recordVersion

The version of the registry record

Type: String

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

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

Required: No

tags

Tags to associate with the registry record

Type: String to string map

Map Entries: Maximum number of 50 items.

Key Length Constraints: Minimum length of 1. Maximum length of 128.

Key Pattern: [a-zA-Z0-9\s._:/=+@-]*

Value Length Constraints: Minimum length of 0. Maximum length of 256.

Value Pattern: [a-zA-Z0-9\s._:/=+@-]*

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 ARN of the created registry record

Type: String

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

Pattern: arn:aws(-[^:]+)?:agent-registry:[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 Error Types.

AccessDeniedException

The caller is not authorized to perform the requested action.

HTTP Status Code: 403

ConflictException

The request conflicts with the current state of the resource.

HTTP Status Code: 409

InternalServerException

The request failed due to an unexpected internal error; the caller may retry.

HTTP Status Code: 500

ResourceNotFoundException

The requested resource was not found.

HTTP Status Code: 404

ServiceQuotaExceededException

The request would exceed a service quota.

HTTP Status Code: 402

ThrottlingException

The request was denied due to request throttling; the caller may retry after a delay.

HTTP Status Code: 429

ValidationException

The request failed validation of one or more input fields.

fieldList

The list of input fields that failed validation.

reason

The reason the request failed validation.

HTTP Status Code: 400

See Also

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