{"files":{"SKILL.md":"---\nname: schemas\ndescription: \"Schemas API skill. Use when working with Schemas for discoverers, registries, policy. Covers 31 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# Schemas\nAPI version: 2019-12-02\n\n## Auth\nAWS SigV4\n\n## Base URL\nNot specified.\n\n## Setup\n1. Configure auth: AWS SigV4\n2. GET /v1/policy -- retrieves the resource-based policy attached to a given registry.\n3. POST /v1/discoverers -- create first discoverer\n\n## Endpoints\n31 endpoints across 5 groups. See references/api-spec.lap for full details.\n\n### Discoverers\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /v1/discoverers | Creates a discoverer. |\n| DELETE | /v1/discoverers/id/{discovererId} | Deletes a discoverer. |\n| GET | /v1/discoverers/id/{discovererId} | Describes the discoverer. |\n| GET | /v1/discoverers | List the discoverers. |\n| POST | /v1/discoverers/id/{discovererId}/start | Starts the discoverer |\n| POST | /v1/discoverers/id/{discovererId}/stop | Stops the discoverer |\n| PUT | /v1/discoverers/id/{discovererId} | Updates the discoverer |\n\n### Registries\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /v1/registries/name/{registryName} | Creates a registry. |\n| POST | /v1/registries/name/{registryName}/schemas/name/{schemaName} | Creates a schema definition. Inactive schemas will be deleted after two years. |\n| DELETE | /v1/registries/name/{registryName} | Deletes a Registry. |\n| DELETE | /v1/registries/name/{registryName}/schemas/name/{schemaName} | Delete a schema definition. |\n| DELETE | /v1/registries/name/{registryName}/schemas/name/{schemaName}/version/{schemaVersion} | Delete the schema version definition |\n| GET | /v1/registries/name/{registryName}/schemas/name/{schemaName}/language/{language} | Describe the code binding URI. |\n| GET | /v1/registries/name/{registryName} | Describes the registry. |\n| GET | /v1/registries/name/{registryName}/schemas/name/{schemaName} | Retrieve the schema definition. |\n| GET | /v1/registries/name/{registryName}/schemas/name/{schemaName}/export |  |\n| GET | /v1/registries/name/{registryName}/schemas/name/{schemaName}/language/{language}/source | Get the code binding source URI. |\n| GET | /v1/registries | List the registries. |\n| GET | /v1/registries/name/{registryName}/schemas/name/{schemaName}/versions | Provides a list of the schema versions and related information. |\n| GET | /v1/registries/name/{registryName}/schemas | List the schemas. |\n| POST | /v1/registries/name/{registryName}/schemas/name/{schemaName}/language/{language} | Put code binding URI |\n| GET | /v1/registries/name/{registryName}/schemas/search | Search the schemas |\n| PUT | /v1/registries/name/{registryName} | Updates a registry. |\n| PUT | /v1/registries/name/{registryName}/schemas/name/{schemaName} | Updates the schema definition Inactive schemas will be deleted after two years. |\n\n### Policy\n| Method | Path | Description |\n|--------|------|-------------|\n| DELETE | /v1/policy | Delete the resource-based policy attached to the specified registry. |\n| GET | /v1/policy | Retrieves the resource-based policy attached to a given registry. |\n| PUT | /v1/policy | The name of the policy. |\n\n### Discover\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /v1/discover | Get the discovered schema that was generated based on sampled events. |\n\n### Tags\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /tags/{resource-arn} | Get tags for resource. |\n| POST | /tags/{resource-arn} | Add tags to a resource. |\n| DELETE | /tags/{resource-arn} | Removes tags from a resource. |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a discoverer?\" -> POST /v1/discoverers\n- \"Delete a id?\" -> DELETE /v1/discoverers/id/{discovererId}\n- \"Delete a name?\" -> DELETE /v1/registries/name/{registryName}\n- \"Delete a version?\" -> DELETE /v1/registries/name/{registryName}/schemas/name/{schemaName}/version/{schemaVersion}\n- \"Get language details?\" -> GET /v1/registries/name/{registryName}/schemas/name/{schemaName}/language/{language}\n- \"Get id details?\" -> GET /v1/discoverers/id/{discovererId}\n- \"Get name details?\" -> GET /v1/registries/name/{registryName}\n- \"List all export?\" -> GET /v1/registries/name/{registryName}/schemas/name/{schemaName}/export\n- \"List all source?\" -> GET /v1/registries/name/{registryName}/schemas/name/{schemaName}/language/{language}/source\n- \"Create a discover?\" -> POST /v1/discover\n- \"List all policy?\" -> GET /v1/policy\n- \"List all discoverers?\" -> GET /v1/discoverers\n- \"List all registries?\" -> GET /v1/registries\n- \"List all versions?\" -> GET /v1/registries/name/{registryName}/schemas/name/{schemaName}/versions\n- \"List all schemas?\" -> GET /v1/registries/name/{registryName}/schemas\n- \"Get tag details?\" -> GET /tags/{resource-arn}\n- \"List all search?\" -> GET /v1/registries/name/{registryName}/schemas/search\n- \"Create a start?\" -> POST /v1/discoverers/id/{discovererId}/start\n- \"Create a stop?\" -> POST /v1/discoverers/id/{discovererId}/stop\n- \"Delete a tag?\" -> DELETE /tags/{resource-arn}\n- \"Update a id?\" -> PUT /v1/discoverers/id/{discovererId}\n- \"Update a name?\" -> PUT /v1/registries/name/{registryName}\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Paginated endpoints accept limit/offset or cursor parameters\n- Create/update endpoints return the modified resource on success\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Schemas\n@version 2019-12-02\n@auth AWS SigV4\n@endpoints 31\n@hint download_for_search\n@toc discoverers(7), registries(17), policy(3), discover(1), tags(3)\n\n@group discoverers\n@endpoint POST /v1/discoverers\n@desc Creates a discoverer.\n@required {SourceArn: str}\n@optional {Description: str, CrossAccount: bool, Tags: map<str,str>}\n@returns(200) {Description: str?, DiscovererArn: str?, DiscovererId: str?, SourceArn: str?, State: str?, CrossAccount: bool?, Tags: map<str,str>?}\n\n@endgroup\n\n@group registries\n@endpoint POST /v1/registries/name/{registryName}\n@desc Creates a registry.\n@required {RegistryName: str}\n@optional {Description: str, Tags: map<str,str>}\n@returns(200) {Description: str?, RegistryArn: str?, RegistryName: str?, Tags: map<str,str>?}\n\n@endpoint POST /v1/registries/name/{registryName}/schemas/name/{schemaName}\n@desc Creates a schema definition. Inactive schemas will be deleted after two years.\n@required {RegistryName: str, SchemaName: str, Content: str, Type: str}\n@optional {Description: str, Tags: map<str,str>}\n@returns(200) {Description: str?, LastModified: str(timestamp)?, SchemaArn: str?, SchemaName: str?, SchemaVersion: str?, Tags: map<str,str>?, Type: str?, VersionCreatedDate: str(timestamp)?}\n\n@endgroup\n\n@group discoverers\n@endpoint DELETE /v1/discoverers/id/{discovererId}\n@desc Deletes a discoverer.\n@required {DiscovererId: str}\n\n@endgroup\n\n@group registries\n@endpoint DELETE /v1/registries/name/{registryName}\n@desc Deletes a Registry.\n@required {RegistryName: str}\n\n@endgroup\n\n@group policy\n@endpoint DELETE /v1/policy\n@desc Delete the resource-based policy attached to the specified registry.\n@optional {registryName: str}\n\n@endgroup\n\n@group registries\n@endpoint DELETE /v1/registries/name/{registryName}/schemas/name/{schemaName}\n@desc Delete a schema definition.\n@required {RegistryName: str, SchemaName: str}\n\n@endpoint DELETE /v1/registries/name/{registryName}/schemas/name/{schemaName}/version/{schemaVersion}\n@desc Delete the schema version definition\n@required {RegistryName: str, SchemaName: str, SchemaVersion: str}\n\n@endpoint GET /v1/registries/name/{registryName}/schemas/name/{schemaName}/language/{language}\n@desc Describe the code binding URI.\n@required {Language: str, RegistryName: str, SchemaName: str}\n@optional {schemaVersion: str}\n@returns(200) {CreationDate: str(timestamp)?, LastModified: str(timestamp)?, SchemaVersion: str?, Status: str?}\n\n@endgroup\n\n@group discoverers\n@endpoint GET /v1/discoverers/id/{discovererId}\n@desc Describes the discoverer.\n@required {DiscovererId: str}\n@returns(200) {Description: str?, DiscovererArn: str?, DiscovererId: str?, SourceArn: str?, State: str?, CrossAccount: bool?, Tags: map<str,str>?}\n\n@endgroup\n\n@group registries\n@endpoint GET /v1/registries/name/{registryName}\n@desc Describes the registry.\n@required {RegistryName: str}\n@returns(200) {Description: str?, RegistryArn: str?, RegistryName: str?, Tags: map<str,str>?}\n\n@endpoint GET /v1/registries/name/{registryName}/schemas/name/{schemaName}\n@desc Retrieve the schema definition.\n@required {RegistryName: str, SchemaName: str}\n@optional {schemaVersion: str}\n@returns(200) {Content: str?, Description: str?, LastModified: str(timestamp)?, SchemaArn: str?, SchemaName: str?, SchemaVersion: str?, Tags: map<str,str>?, Type: str?, VersionCreatedDate: str(timestamp)?}\n\n@endpoint GET /v1/registries/name/{registryName}/schemas/name/{schemaName}/export\n@required {RegistryName: str, SchemaName: str, type: str}\n@optional {schemaVersion: str}\n@returns(200) {Content: str?, SchemaArn: str?, SchemaName: str?, SchemaVersion: str?, Type: str?}\n\n@endpoint GET /v1/registries/name/{registryName}/schemas/name/{schemaName}/language/{language}/source\n@desc Get the code binding source URI.\n@required {Language: str, RegistryName: str, SchemaName: str}\n@optional {schemaVersion: str}\n@returns(200) {Body: bytes?}\n\n@endgroup\n\n@group discover\n@endpoint POST /v1/discover\n@desc Get the discovered schema that was generated based on sampled events.\n@required {Events: [str], Type: str}\n@returns(200) {Content: str?}\n\n@endgroup\n\n@group policy\n@endpoint GET /v1/policy\n@desc Retrieves the resource-based policy attached to a given registry.\n@optional {registryName: str}\n@returns(200) {Policy: str?, RevisionId: str?}\n\n@endgroup\n\n@group discoverers\n@endpoint GET /v1/discoverers\n@desc List the discoverers.\n@optional {discovererIdPrefix: str, limit: int, nextToken: str, sourceArnPrefix: str}\n@returns(200) {Discoverers: [DiscovererSummary]?, NextToken: str?}\n\n@endgroup\n\n@group registries\n@endpoint GET /v1/registries\n@desc List the registries.\n@optional {limit: int, nextToken: str, registryNamePrefix: str, scope: str}\n@returns(200) {NextToken: str?, Registries: [RegistrySummary]?}\n\n@endpoint GET /v1/registries/name/{registryName}/schemas/name/{schemaName}/versions\n@desc Provides a list of the schema versions and related information.\n@required {RegistryName: str, SchemaName: str}\n@optional {limit: int, nextToken: str}\n@returns(200) {NextToken: str?, SchemaVersions: [SchemaVersionSummary]?}\n\n@endpoint GET /v1/registries/name/{registryName}/schemas\n@desc List the schemas.\n@required {RegistryName: str}\n@optional {limit: int, nextToken: str, schemaNamePrefix: str}\n@returns(200) {NextToken: str?, Schemas: [SchemaSummary]?}\n\n@endgroup\n\n@group tags\n@endpoint GET /tags/{resource-arn}\n@desc Get tags for resource.\n@required {ResourceArn: str}\n@returns(200) {Tags: map<str,str>?}\n\n@endgroup\n\n@group registries\n@endpoint POST /v1/registries/name/{registryName}/schemas/name/{schemaName}/language/{language}\n@desc Put code binding URI\n@required {Language: str, RegistryName: str, SchemaName: str}\n@optional {schemaVersion: str}\n@returns(200) {CreationDate: str(timestamp)?, LastModified: str(timestamp)?, SchemaVersion: str?, Status: str?}\n\n@endgroup\n\n@group policy\n@endpoint PUT /v1/policy\n@desc The name of the policy.\n@required {Policy: str}\n@optional {registryName: str, RevisionId: str}\n@returns(200) {Policy: str?, RevisionId: str?}\n\n@endgroup\n\n@group registries\n@endpoint GET /v1/registries/name/{registryName}/schemas/search\n@desc Search the schemas\n@required {keywords: str, RegistryName: str}\n@optional {limit: int, nextToken: str}\n@returns(200) {NextToken: str?, Schemas: [SearchSchemaSummary]?}\n\n@endgroup\n\n@group discoverers\n@endpoint POST /v1/discoverers/id/{discovererId}/start\n@desc Starts the discoverer\n@required {DiscovererId: str}\n@returns(200) {DiscovererId: str?, State: str?}\n\n@endpoint POST /v1/discoverers/id/{discovererId}/stop\n@desc Stops the discoverer\n@required {DiscovererId: str}\n@returns(200) {DiscovererId: str?, State: str?}\n\n@endgroup\n\n@group tags\n@endpoint POST /tags/{resource-arn}\n@desc Add tags to a resource.\n@required {ResourceArn: str, Tags: map<str,str>}\n\n@endpoint DELETE /tags/{resource-arn}\n@desc Removes tags from a resource.\n@required {ResourceArn: str, tagKeys: [str]}\n\n@endgroup\n\n@group discoverers\n@endpoint PUT /v1/discoverers/id/{discovererId}\n@desc Updates the discoverer\n@required {DiscovererId: str}\n@optional {Description: str, CrossAccount: bool}\n@returns(200) {Description: str?, DiscovererArn: str?, DiscovererId: str?, SourceArn: str?, State: str?, CrossAccount: bool?, Tags: map<str,str>?}\n\n@endgroup\n\n@group registries\n@endpoint PUT /v1/registries/name/{registryName}\n@desc Updates a registry.\n@required {RegistryName: str}\n@optional {Description: str}\n@returns(200) {Description: str?, RegistryArn: str?, RegistryName: str?, Tags: map<str,str>?}\n\n@endpoint PUT /v1/registries/name/{registryName}/schemas/name/{schemaName}\n@desc Updates the schema definition Inactive schemas will be deleted after two years.\n@required {RegistryName: str, SchemaName: str}\n@optional {ClientTokenId: str, Content: str, Description: str, Type: str}\n@returns(200) {Description: str?, LastModified: str(timestamp)?, SchemaArn: str?, SchemaName: str?, SchemaVersion: str?, Tags: map<str,str>?, Type: str?, VersionCreatedDate: str(timestamp)?}\n\n@endgroup\n\n@end\n"}}