Obtain a JWT token by posting to POST /api/v1/users/login with admin credentials, or use a bot token configured under Settings > Bots in OpenMetadata; include the token in the Authorization: Bearer header on all subsequent calls
Create or look up the database service, database, and schema entities via POST /api/v1/services/databaseServices and related endpoints; OpenMetadata uses a hierarchical entity model where tables live under schemas under databases under services
Register or upsert a table entity via PUT /api/v1/tables with a payload containing the fully qualified name, columns with dataType entries, and optional tags; PUT behaves as an upsert so repeated calls update existing entities
Publish lineage by sending PUT /api/v1/lineage with an EntityLineage payload listing the 'edge' array, where each edge specifies fromEntity and toEntity objects by their id and type fields; column-level lineage is expressed in the lineageDetails.columnsLineage array within each edge
Verify the lineage was recorded by calling GET /api/v1/lineage/{entity}/{id}?upstreamDepth=2&downstreamDepth=2 and checking that the expected upstream and downstream nodes appear in the response
Known gotchas
OpenMetadata entity IDs are UUIDs assigned at creation time; the lineage PUT payload requires UUIDs, not fully qualified names — fetch entity IDs with GET /api/v1/tables/name/{fqn} before constructing lineage payloads
Tag categories and tag labels must be pre-created before they can be attached to entities; attempting to tag an entity with a non-existent tag will return a 404 on the tag itself, which can be mistaken for an entity-not-found error
The PUT /api/v1/lineage endpoint replaces the entire lineage graph for the involved entities; incremental lineage additions must be performed carefully by reading existing lineage first, merging new edges, and re-submitting the full edge list
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp