OpenMetadata Domains API

A `Data Product` or `Data as a Product` is a logical unit that contains all components to process and store domain data for analytical or data-intensive use cases made available to data consumers.

Business capability
Data Governance Management BC-610.10

Operations 58

PUT /v1/dataProducts/{id}/followers Add a follower #
PUT /v1/dataProducts/{name}/assets/add Bulk Add Assets #
PUT /v1/dataProducts/{name}/inputPorts/add Bulk Add Input Ports #
PUT /v1/dataProducts/name/{fqn}/inputPorts/add Bulk Add Input Ports by Name #
PUT /v1/dataProducts/{name}/outputPorts/add Bulk Add Output Ports #
PUT /v1/dataProducts/name/{fqn}/outputPorts/add Bulk Add Output Ports by Name #
PUT /v1/dataProducts/{name}/assets/remove Bulk Remove Assets #
PUT /v1/dataProducts/{name}/inputPorts/remove Bulk Remove Input Ports #
PUT /v1/dataProducts/name/{fqn}/inputPorts/remove Bulk Remove Input Ports by Name #
PUT /v1/dataProducts/{name}/outputPorts/remove Bulk Remove Output Ports #
PUT /v1/dataProducts/name/{fqn}/outputPorts/remove Bulk Remove Output Ports by Name #
GET /v1/dataProducts List dataProducts #
PUT /v1/dataProducts Create or update a dataProduct #
POST /v1/dataProducts Create a dataProduct #
GET /v1/dataProducts/name/{name} Get a dataProduct by name #
DELETE /v1/dataProducts/name/{name} Delete a dataProduct by name #
GET /v1/dataProducts/{id} Get a dataProduct by Id #
DELETE /v1/dataProducts/{id} Delete a dataProduct by Id #
PATCH /v1/dataProducts/{id} Update a dataProduct #
DELETE /v1/dataProducts/async/{id} Asynchronously delete a dataProduct by Id #
DELETE /v1/dataProducts/{id}/followers/{userId} Remove a follower #
GET /v1/dataProducts/assets/counts Get all data products with their asset counts #
GET /v1/dataProducts/{id}/assets Get assets for a data product #
GET /v1/dataProducts/name/{fqn}/assets Get assets for a data product by name #
GET /v1/dataProducts/{id}/dataContract Get data contract for a data product #
GET /v1/dataProducts/{id}/inputPorts Get input ports for a data product #
GET /v1/dataProducts/name/{fqn}/inputPorts Get input ports for a data product by name #
GET /v1/dataProducts/{id}/outputPorts Get output ports for a data product #
GET /v1/dataProducts/name/{fqn}/outputPorts Get output ports for a data product by name #
GET /v1/dataProducts/{id}/portsView Get combined input/output ports view for a data product #
GET /v1/dataProducts/name/{fqn}/portsView Get combined input/output ports view for a data product by name #
GET /v1/dataProducts/{id}/versions/{version} Get a version of the dataProduct #
GET /v1/dataProducts/history List all entity versions within a time range #
GET /v1/dataProducts/{id}/versions List dataProduct versions #
PATCH /v1/dataProducts/name/{fqn} Update a dataProduct by name #
PUT /v1/dataProducts/{id}/vote Update Vote for an Entity #
PUT /v1/domains/{id}/followers Add a follower #
PUT /v1/domains/{name}/assets/add Bulk Add Assets #
PUT /v1/domains/{name}/assets/remove Bulk Remove Assets #
GET /v1/domains List domains #
PUT /v1/domains Create or update a domain #
POST /v1/domains Create a domain #
GET /v1/domains/name/{name} Get a domain by name #
DELETE /v1/domains/name/{name} Delete a domain by name #
GET /v1/domains/{id} Get a domain by Id #
DELETE /v1/domains/{id} Delete a domain by Id #
PATCH /v1/domains/{id} Update a domain #
DELETE /v1/domains/async/{id} Asynchronously delete a domain by Id #
DELETE /v1/domains/{id}/followers/{userId} Remove a follower #
GET /v1/domains/assets/counts Get all domains with their asset counts #
GET /v1/domains/{id}/assets Get assets for a domain #
GET /v1/domains/name/{fqn}/assets Get assets for a domain by name #
GET /v1/domains/{id}/versions/{version} Get a version of the domain #
GET /v1/domains/history List all entity versions within a time range #
GET /v1/domains/hierarchy List domains in hierarchical order #
GET /v1/domains/{id}/versions List domain versions #
PATCH /v1/domains/name/{fqn} Update a domain by name #
PUT /v1/domains/{id}/vote Update Vote for an Entity #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/openmetadata-domains-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

openmetadata-domains-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: OpenMetadata Domains API
  description: Common types and API definition for OpenMetadata
  contact:
    name: OpenMetadata
    url: https://open-metadata.org
    email: openmetadata-dev@googlegroups.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  version: '1.13'
servers:
- url: /api
  description: Current Host
- url: http://localhost:8585/api
  description: Endpoint URL
security:
- BearerAuth: []
tags:


# --- truncated at 32 KB (99 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/openmetadata/refs/heads/main/openapi/openmetadata-domains-api-openapi.yml