json.schema.entity.data.apiEndpoint.json Maven / Gradle / Ivy
{
"$id": "https://open-metadata.org/schema/entity/data/apiEndpoint.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "APIEndpoint",
"$comment": "@om-entity-type",
"description": "This schema defines the APIEndpoint entity. An APIEndpoint is a specific endpoint of an API that is part of an API Collection.",
"type": "object",
"javaType": "org.openmetadata.schema.entity.data.APIEndpoint",
"javaInterfaces": ["org.openmetadata.schema.EntityInterface"],
"definitions": {
"apiRequestMethod": {
"javaType": "org.openmetadata.schema.type.APIRequestMethod",
"description": "This schema defines the Request Method type for APIs .",
"type": "string",
"default": "GET",
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE",
"HEAD",
"CONNECT",
"OPTIONS",
"TRACE"
],
"javaEnums": [
{
"name": "GET"
},
{
"name": "POST"
},
{
"name": "PUT"
},
{
"name": "PATCH"
},
{
"name": "DELETE"
},
{
"name": "HEAD"
},
{
"name": "CONNECT"
},
{
"name": "OPTIONS"
},
{
"name": "TRACE"
}
]
}
},
"properties": {
"id": {
"description": "Unique identifier that identifies a API Endpoint instance.",
"$ref": "../../type/basic.json#/definitions/uuid"
},
"name": {
"description": "Name that identifies this API Endpoint.",
"$ref": "../../type/basic.json#/definitions/entityName"
},
"displayName": {
"description": "Display Name that identifies this API Endpoint.",
"type": "string"
},
"fullyQualifiedName": {
"description": "A unique name that identifies a API Collection in the format 'ServiceName.ApiCollectionName.APIEndpoint'.",
"$ref": "../../type/basic.json#/definitions/fullyQualifiedEntityName"
},
"description": {
"description": "Description of the API Endpoint, 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"
},
"requestMethod": {
"description": "Request Method for the API Endpoint.",
"$ref": "#/definitions/apiRequestMethod"
},
"requestSchema": {
"description": "Request Schema for the API Endpoint.",
"$ref": "../../type/apiSchema.json"
},
"responseSchema": {
"description": "Response Schema for the API Endpoint.",
"$ref": "../../type/apiSchema.json"
},
"apiCollection": {
"description": "Reference to API Collection that contains this API Endpoint.",
"$ref": "../../type/entityReference.json"
},
"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"
},
"followers": {
"description": "Followers of this API Collection.",
"$ref": "../../type/entityReferenceList.json"
},
"tags": {
"description": "Tags for this API Collection.",
"type": "array",
"items": {
"$ref": "../../type/tagLabel.json"
},
"default": []
},
"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"
},
"certification": {
"$ref": "../../type/assetCertification.json"
},
"sourceHash": {
"description": "Source hash of the entity",
"type": "string",
"minLength": 1,
"maxLength": 32
}
},
"required": ["id", "name", "service", "endpointURL"],
"additionalProperties": false
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy