All Downloads are FREE. Search and download functionalities are using the official Maven repository.

json.schema.entity.data.apiEndpoint.json Maven / Gradle / Ivy

There is a newer version: 1.6.0-rc1
Show newest version
{
  "$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