{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/CatalogIntegrationApiSpecProvider", "title": "CatalogIntegrationApiSpecProvider", "description": "Defines how an integration behaves as a source provider of Catalog Service API specs.\nAPI specs are entities that can be attached to Catalog Services.\nWhen an integration implements this capability, it can act as a source type for API spec contents.\nIn this role, the integration becomes the source of truth for the spec.\nWhen a spec is attached to a Catalog Service using this source type, the platform relies on the external system to provide and update the spec data.\nA null value indicates the given integration does not act as a source provider of API specs.\n", "type": "object", "properties": { "name": { "description": "The globally unique name of the API spec provider that identifies it within the catalog.\nCorresponds to the API spec provider `type` when creating API specs.\n", "type": "string", "example": "konnect_api" }, "display_name": { "description": "A user-friendly name for the API spec provider.", "type": "string", "example": "Konnect API" }, "description": { "description": "An brief description of the API spec provider.", "type": "string" }, "config_schema": { "description": "Defines the shape of the API spec provider config.", "type": "object", "example": { "type": "simple", "definition": { "api_id": "string" } }, "properties": { "type": { "type": "string", "enum": [ "simple" ] }, "definition": { "type": "object", "additionalProperties": { "type": "string", "enum": [ "string", "number", "boolean" ], "x-speakeasy-unknown-values": "allow" } } }, "required": [ "type", "definition" ] }, "resource_type": { "description": "When non-null, denotes that the API spec provider is bound to the given Resource type.\nThis means that API specs are auto-created when a Resource of the given type is mapped to a service.\nFurthermore, it couples the lifecycle of the API Spec with the given Resource mapping.\nWhen the given Resource is removed, the API spec will be deleted.\n", "type": "string", "nullable": true } }, "nullable": true, "required": [ "name", "display_name", "description", "config_schema", "resource_type" ] }