{ "$id": "https://open-metadata.org/schema/entity/data/apiCollection.json", "$schema": "http://json-schema.org/draft-07/schema#", "title": "APICollection", "$comment": "@om-entity-type", "description": "This schema defines the APICollection entity. API Collection allows user to group multiple APIs together. In OpenAPI specification its marked as a Tag.", "type": "object", "javaType": "org.openmetadata.schema.entity.data.APICollection", "javaInterfaces": ["org.openmetadata.schema.EntityInterface"], "properties": { "id": { "description": "Unique identifier that identifies a API Collection instance.", "$ref": "../../type/basic.json#/definitions/uuid" }, "name": { "description": "Name that identifies this API Collection.", "$ref": "../../type/basic.json#/definitions/entityName" }, "displayName": { "description": "Display Name that identifies this API Collection. It could be title or label from the source services.", "type": "string" }, "fullyQualifiedName": { "description": "A unique name that identifies a API Collection in the format 'ServiceName.ApiCollectionName'.", "$ref": "../../type/basic.json#/definitions/fullyQualifiedEntityName" }, "description": { "description": "Description of the API Collection, what it is, and how to use it.", "$ref": "../../type/basic.json#/definitions/markdown" }, "version": { "description": "Metadata version of the entity.", "$ref": "../../type/entityHistory.json#/definitions/entityVersion" }, "updatedAt": { "description": "Last update time corresponding to the new version of the entity in Unix epoch time milliseconds.", "$ref": "../../type/basic.json#/definitions/timestamp" }, "updatedBy": { "description": "User who made the update.", "type": "string" }, "endpointURL": { "title": "Endpoint URL", "description": "EndPoint URL for the API Collection. Capture the Root URL of the collection.", "type": "string", "format": "uri" }, "apiEndpoints": { "description": "All the APIs included in this API Collection.", "$ref": "../../type/entityReferenceList.json", "default": null }, "href": { "description": "Link to the resource corresponding to this entity.", "$ref": "../../type/basic.json#/definitions/href" }, "owners": { "description": "Owners of this API Collection.", "$ref": "../../type/entityReferenceList.json", "default": null }, "tags": { "description": "Tags for this API Collection.", "type": "array", "items": { "$ref": "../../type/tagLabel.json" }, "default": null }, "service": { "description": "Link to service where this API Collection is hosted in.", "$ref": "../../type/entityReference.json" }, "serviceType": { "description": "Service type where this API Collection is hosted in.", "$ref": "../services/apiService.json#/definitions/apiServiceType" }, "changeDescription": { "description": "Change that lead to this version of the entity.", "$ref": "../../type/entityHistory.json#/definitions/changeDescription" }, "deleted": { "description": "When `true` indicates the entity has been soft deleted.", "type": "boolean", "default": false }, "extension": { "description": "Entity extension data with custom attributes added to the entity.", "$ref": "../../type/basic.json#/definitions/entityExtension" }, "domain": { "description": "Domain the API Collection belongs to. When not set, the API Collection inherits the domain from the API service it belongs to.", "$ref": "../../type/entityReference.json" }, "dataProducts": { "description": "List of data products this entity is part of.", "$ref": "../../type/entityReferenceList.json" }, "votes": { "description": "Votes on the entity.", "$ref": "../../type/votes.json" }, "lifeCycle": { "description": "Life Cycle properties of the entity", "$ref": "../../type/lifeCycle.json" }, "sourceHash": { "description": "Source hash of the entity", "type": "string", "minLength": 1, "maxLength": 32 } }, "required": ["id", "name", "service", "endpointURL"], "additionalProperties": false }