Trigger a full reindex from PostgreSQL to Elasticsearch. The reindex runs asynchronously in the background. Only one reindex can run at a time.
{- "message": "Reindex started",
- "status": "accepted"
}| asset_id required | string Agent asset id |
| period | string Lookback window (e.g. 24h, 7d). Default 24h. |
| limit | integer Max number of runs to return |
{- "runs": [
- {
- "agent_id": "string",
- "created_at": "string",
- "duration_ms": 0,
- "ended_at": "string",
- "error": "string",
- "id": "string",
- "model": "string",
- "run_id": "string",
- "started_at": "string",
- "status": "string",
- "tokens_in": 0,
- "tokens_out": 0,
- "tool_calls": [
- {
- "duration_ms": 0,
- "ordinal": 0,
- "started_at": "string",
- "status": "string",
- "target_mrn": "string",
- "tool_name": "string"
}
]
}
], - "total": 0
}| asset_id required | string Agent asset id |
| period | string Lookback window (e.g. 24h, 7d). Default 24h. |
{- "median_latency_ms": 0,
- "p95_latency_ms": 0,
- "run_count": 0,
- "success_rate": 0,
- "tokens_in": 0,
- "tokens_out": 0
}Agent run record
| agent_mrn | string |
| ended_at | string |
| error | string |
| model | string |
| observed_assets | Array of strings |
| run_id | string |
| started_at | string |
| status | string |
| tokens_in | integer |
| tokens_out | integer |
Array of objects (ToolCallPayload) |
{- "agent_mrn": "string",
- "ended_at": "string",
- "error": "string",
- "model": "string",
- "observed_assets": [
- "string"
], - "run_id": "string",
- "started_at": "string",
- "status": "string",
- "tokens_in": 0,
- "tokens_out": 0,
- "tool_calls": [
- {
- "duration_ms": 0,
- "started_at": "string",
- "status": "string",
- "target_mrn": "string",
- "tool_name": "string"
}
]
}{- "agent_id": "string",
- "created_at": "string",
- "duration_ms": 0,
- "ended_at": "string",
- "error": "string",
- "id": "string",
- "model": "string",
- "run_id": "string",
- "started_at": "string",
- "status": "string",
- "tokens_in": 0,
- "tokens_out": 0,
- "tool_calls": [
- {
- "duration_ms": 0,
- "ordinal": 0,
- "started_at": "string",
- "status": "string",
- "target_mrn": "string",
- "tool_name": "string"
}
]
}Create a new asset rule that applies enrichments to matching assets
Asset rule creation request
| description | string |
| is_enabled | boolean |
Array of objects (AssetRuleExternalLink) | |
| metadata_field | string |
| name | string |
| pattern_type | string |
| pattern_value | string |
| priority | integer |
| query_expression | string |
| rule_type | string |
| term_ids | Array of strings |
{- "description": "string",
- "is_enabled": true,
- "links": [
- {
- "icon": "string",
- "name": "string",
- "url": "string"
}
], - "metadata_field": "string",
- "name": "string",
- "pattern_type": "string",
- "pattern_value": "string",
- "priority": 0,
- "query_expression": "string",
- "rule_type": "string",
- "term_ids": [
- "string"
]
}{- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "id": "string",
- "is_enabled": true,
- "last_reconciled_at": "string",
- "links": [
- {
- "icon": "string",
- "name": "string",
- "url": "string"
}
], - "membership_count": 0,
- "metadata_field": "string",
- "name": "string",
- "pattern_type": "string",
- "pattern_value": "string",
- "priority": 0,
- "query_expression": "string",
- "reconciliation_hash": "string",
- "rule_type": "query",
- "term_ids": [
- "string"
], - "updated_at": "string"
}Get an asset rule by ID
| id required | string Asset rule ID |
{- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "id": "string",
- "is_enabled": true,
- "last_reconciled_at": "string",
- "links": [
- {
- "icon": "string",
- "name": "string",
- "url": "string"
}
], - "membership_count": 0,
- "metadata_field": "string",
- "name": "string",
- "pattern_type": "string",
- "pattern_value": "string",
- "priority": 0,
- "query_expression": "string",
- "reconciliation_hash": "string",
- "rule_type": "query",
- "term_ids": [
- "string"
], - "updated_at": "string"
}Update an existing asset rule
| id required | string Asset rule ID |
Asset rule update request
| description | string |
| is_enabled | boolean |
Array of objects (AssetRuleExternalLink) | |
| metadata_field | string |
| name | string |
| pattern_type | string |
| pattern_value | string |
| priority | integer |
| query_expression | string |
| rule_type | string |
| term_ids | Array of strings |
{- "description": "string",
- "is_enabled": true,
- "links": [
- {
- "icon": "string",
- "name": "string",
- "url": "string"
}
], - "metadata_field": "string",
- "name": "string",
- "pattern_type": "string",
- "pattern_value": "string",
- "priority": 0,
- "query_expression": "string",
- "rule_type": "string",
- "term_ids": [
- "string"
]
}{- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "id": "string",
- "is_enabled": true,
- "last_reconciled_at": "string",
- "links": [
- {
- "icon": "string",
- "name": "string",
- "url": "string"
}
], - "membership_count": 0,
- "metadata_field": "string",
- "name": "string",
- "pattern_type": "string",
- "pattern_value": "string",
- "priority": 0,
- "query_expression": "string",
- "reconciliation_hash": "string",
- "rule_type": "query",
- "term_ids": [
- "string"
], - "updated_at": "string"
}Get the list of asset IDs matched by an asset rule
| id required | string Asset rule ID |
| limit | integer Default: 50 Number of items to return |
| offset | integer Default: 0 Number of items to skip |
{ }List all asset rules with pagination
| limit | integer Default: 50 Number of items to return |
| offset | integer Default: 0 Number of items to skip |
{- "asset_rules": [
- {
- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "id": "string",
- "is_enabled": true,
- "last_reconciled_at": "string",
- "links": [
- {
- "icon": "string",
- "name": "string",
- "url": "string"
}
], - "membership_count": 0,
- "metadata_field": "string",
- "name": "string",
- "pattern_type": "string",
- "pattern_value": "string",
- "priority": 0,
- "query_expression": "string",
- "reconciliation_hash": "string",
- "rule_type": "query",
- "term_ids": [
- "string"
], - "updated_at": "string"
}
], - "total": 0
}Preview which assets would match a rule configuration
Rule preview request
| limit | integer |
| metadata_field | string |
| pattern_type | string |
| pattern_value | string |
| query_expression | string |
| rule_type | string |
{- "limit": 0,
- "metadata_field": "string",
- "pattern_type": "string",
- "pattern_value": "string",
- "query_expression": "string",
- "rule_type": "string"
}{- "asset_count": 0,
- "asset_ids": [
- "string"
], - "errors": [
- "string"
]
}Search asset rules by name
| query | string Search query |
| limit | integer Default: 50 Number of items to return |
| offset | integer Default: 0 Number of items to skip |
{- "asset_rules": [
- {
- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "id": "string",
- "is_enabled": true,
- "last_reconciled_at": "string",
- "links": [
- {
- "icon": "string",
- "name": "string",
- "url": "string"
}
], - "membership_count": 0,
- "metadata_field": "string",
- "name": "string",
- "pattern_type": "string",
- "pattern_value": "string",
- "priority": 0,
- "query_expression": "string",
- "reconciliation_hash": "string",
- "rule_type": "query",
- "term_ids": [
- "string"
], - "updated_at": "string"
}
], - "total": 0
}Create a new asset in the system
Asset creation request
| description | string |
object | |
Array of objects (AssetExternalLink) | |
object | |
| name required | string |
| providers required | Array of strings |
object | |
Array of objects (AssetSource) | |
| tags | Array of strings |
| type required | string |
{- "description": "string",
- "environments": {
- "property1": {
- "metadata": { },
- "name": "string",
- "path": "string"
}, - "property2": {
- "metadata": { },
- "name": "string",
- "path": "string"
}
}, - "external_links": [
- {
- "icon": "string",
- "name": "string",
- "url": "string"
}
], - "metadata": { },
- "name": "string",
- "providers": [
- "string"
], - "schema": {
- "property1": "string",
- "property2": "string"
}, - "sources": [
- {
- "last_sync_at": "string",
- "name": "string",
- "priority": 0,
- "properties": { }
}
], - "tags": [
- "string"
], - "type": "string"
}{- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "environments": {
- "property1": {
- "metadata": { },
- "name": "string",
- "path": "string"
}, - "property2": {
- "metadata": { },
- "name": "string",
- "path": "string"
}
}, - "external_links": [
- {
- "icon": "string",
- "name": "string",
- "url": "string"
}
], - "has_run_history": true,
- "id": "string",
- "is_stub": true,
- "last_sync_at": "string",
- "metadata": { },
- "mrn": "string",
- "name": "string",
- "parent_mrn": "string",
- "providers": [
- "string"
], - "query": "string",
- "query_language": "string",
- "schema": {
- "property1": "string",
- "property2": "string"
}, - "sources": [
- {
- "last_sync_at": "string",
- "name": "string",
- "priority": 0,
- "properties": { }
}
], - "tags": [
- "string"
], - "terms": [
- "string"
], - "type": "string",
- "updated_at": "string",
- "user_description": "string"
}Get detailed information about a specific asset
| id required | string Asset ID |
{- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "environments": {
- "property1": {
- "metadata": { },
- "name": "string",
- "path": "string"
}, - "property2": {
- "metadata": { },
- "name": "string",
- "path": "string"
}
}, - "external_links": [
- {
- "icon": "string",
- "name": "string",
- "url": "string"
}
], - "has_run_history": true,
- "id": "string",
- "is_stub": true,
- "last_sync_at": "string",
- "metadata": { },
- "mrn": "string",
- "name": "string",
- "parent_mrn": "string",
- "providers": [
- "string"
], - "query": "string",
- "query_language": "string",
- "schema": {
- "property1": "string",
- "property2": "string"
}, - "sources": [
- {
- "last_sync_at": "string",
- "name": "string",
- "priority": 0,
- "properties": { }
}
], - "tags": [
- "string"
], - "terms": [
- "string"
], - "type": "string",
- "updated_at": "string",
- "user_description": "string"
}Update an existing asset's information
| id required | string Asset ID |
Asset update request
| description | string |
object | |
Array of objects (AssetExternalLink) | |
object | |
| name | string |
| providers | Array of strings |
object | |
Array of objects (AssetSource) | |
| tags | Array of strings |
| type | string |
| user_description | string |
{- "description": "string",
- "environments": {
- "property1": {
- "metadata": { },
- "name": "string",
- "path": "string"
}, - "property2": {
- "metadata": { },
- "name": "string",
- "path": "string"
}
}, - "external_links": [
- {
- "icon": "string",
- "name": "string",
- "url": "string"
}
], - "metadata": { },
- "name": "string",
- "providers": [
- "string"
], - "schema": {
- "property1": "string",
- "property2": "string"
}, - "sources": [
- {
- "last_sync_at": "string",
- "name": "string",
- "priority": 0,
- "properties": { }
}
], - "tags": [
- "string"
], - "type": "string",
- "user_description": "string"
}{- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "environments": {
- "property1": {
- "metadata": { },
- "name": "string",
- "path": "string"
}, - "property2": {
- "metadata": { },
- "name": "string",
- "path": "string"
}
}, - "external_links": [
- {
- "icon": "string",
- "name": "string",
- "url": "string"
}
], - "has_run_history": true,
- "id": "string",
- "is_stub": true,
- "last_sync_at": "string",
- "metadata": { },
- "mrn": "string",
- "name": "string",
- "parent_mrn": "string",
- "providers": [
- "string"
], - "query": "string",
- "query_language": "string",
- "schema": {
- "property1": "string",
- "property2": "string"
}, - "sources": [
- {
- "last_sync_at": "string",
- "name": "string",
- "priority": 0,
- "properties": { }
}
], - "tags": [
- "string"
], - "terms": [
- "string"
], - "type": "string",
- "updated_at": "string",
- "user_description": "string"
}Retrieve all assets associated with a specific glossary term
| term_id required | string Glossary Term ID |
| limit | integer Default: 20 Maximum number of assets |
| offset | integer Default: 0 Pagination offset |
{ }Create or update documentation for an asset
Documentation creation request
| content required | string |
| mrn required | string |
| source required | string |
{- "content": "string",
- "mrn": "string",
- "source": "string"
}{- "content": "string",
- "created_at": "string",
- "global_docs": [
- "string"
], - "id": "string",
- "mrn": "string",
- "source": "string",
- "updated_at": "string"
}Get documentation for a specific asset
| mrn required | string <url> Asset MRN |
[- {
- "content": "string",
- "created_at": "string",
- "global_docs": [
- "string"
], - "id": "string",
- "mrn": "string",
- "source": "string",
- "updated_at": "string"
}
]Create or update documentation for multiple assets
Batch documentation request
required | Array of objects (Documentation) non-empty | ||||||||||||||
Array (non-empty)
| |||||||||||||||
{- "documentation": [
- {
- "content": "string",
- "created_at": "string",
- "global_docs": [
- "string"
], - "id": "string",
- "mrn": "string",
- "source": "string",
- "updated_at": "string"
}
]
}{- "results": [
- {
- "documentation": {
- "content": "string",
- "created_at": "string",
- "global_docs": [
- "string"
], - "id": "string",
- "mrn": "string",
- "source": "string",
- "updated_at": "string"
}, - "error": "string",
- "status": "string"
}
]
}Get an asset by its type, service (provider), and name
| type required | string Asset type |
| service required | string Service/Provider name |
| name required | string Asset name |
{- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "environments": {
- "property1": {
- "metadata": { },
- "name": "string",
- "path": "string"
}, - "property2": {
- "metadata": { },
- "name": "string",
- "path": "string"
}
}, - "external_links": [
- {
- "icon": "string",
- "name": "string",
- "url": "string"
}
], - "has_run_history": true,
- "id": "string",
- "is_stub": true,
- "last_sync_at": "string",
- "metadata": { },
- "mrn": "string",
- "name": "string",
- "parent_mrn": "string",
- "providers": [
- "string"
], - "query": "string",
- "query_language": "string",
- "schema": {
- "property1": "string",
- "property2": "string"
}, - "sources": [
- {
- "last_sync_at": "string",
- "name": "string",
- "priority": 0,
- "properties": { }
}
], - "tags": [
- "string"
], - "terms": [
- "string"
], - "type": "string",
- "updated_at": "string",
- "user_description": "string"
}Find assets matching a pattern
| pattern required | string Asset pattern to match |
| type required | string Asset type |
[- {
- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "environments": {
- "property1": {
- "metadata": { },
- "name": "string",
- "path": "string"
}, - "property2": {
- "metadata": { },
- "name": "string",
- "path": "string"
}
}, - "external_links": [
- {
- "icon": "string",
- "name": "string",
- "url": "string"
}
], - "has_run_history": true,
- "id": "string",
- "is_stub": true,
- "last_sync_at": "string",
- "metadata": { },
- "mrn": "string",
- "name": "string",
- "parent_mrn": "string",
- "providers": [
- "string"
], - "query": "string",
- "query_language": "string",
- "schema": {
- "property1": "string",
- "property2": "string"
}, - "sources": [
- {
- "last_sync_at": "string",
- "name": "string",
- "priority": 0,
- "properties": { }
}
], - "tags": [
- "string"
], - "terms": [
- "string"
], - "type": "string",
- "updated_at": "string",
- "user_description": "string"
}
]Get assets owned by the current user or their teams
| limit | integer Default: 20 Limit |
| offset | integer Default: 0 Offset |
{- "assets": [
- {
- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "environments": {
- "property1": {
- "metadata": { },
- "name": "string",
- "path": "string"
}, - "property2": {
- "metadata": { },
- "name": "string",
- "path": "string"
}
}, - "external_links": [
- {
- "icon": "string",
- "name": "string",
- "url": "string"
}
], - "has_run_history": true,
- "id": "string",
- "is_stub": true,
- "last_sync_at": "string",
- "metadata": { },
- "mrn": "string",
- "name": "string",
- "parent_mrn": "string",
- "providers": [
- "string"
], - "query": "string",
- "query_language": "string",
- "schema": {
- "property1": "string",
- "property2": "string"
}, - "sources": [
- {
- "last_sync_at": "string",
- "name": "string",
- "priority": 0,
- "properties": { }
}
], - "tags": [
- "string"
], - "terms": [
- "string"
], - "type": "string",
- "updated_at": "string",
- "user_description": "string"
}
], - "filters": {
- "providers": {
- "property1": 0,
- "property2": 0
}, - "tags": {
- "property1": 0,
- "property2": 0
}, - "types": {
- "property1": 0,
- "property2": 0
}
}, - "limit": 0,
- "offset": 0,
- "total": 0
}Fetches sample data from the asset's data source. Requires assets:preview permission.
| id required | string Asset ID |
{- "column_names": [
- "string"
], - "rows": [
- [
- null
]
], - "total_rows": 0
}Get detailed information about a specific asset using its qualified name
| name required | string Asset qualified name |
{- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "environments": {
- "property1": {
- "metadata": { },
- "name": "string",
- "path": "string"
}, - "property2": {
- "metadata": { },
- "name": "string",
- "path": "string"
}
}, - "external_links": [
- {
- "icon": "string",
- "name": "string",
- "url": "string"
}
], - "has_run_history": true,
- "id": "string",
- "is_stub": true,
- "last_sync_at": "string",
- "metadata": { },
- "mrn": "string",
- "name": "string",
- "parent_mrn": "string",
- "providers": [
- "string"
], - "query": "string",
- "query_language": "string",
- "schema": {
- "property1": "string",
- "property2": "string"
}, - "sources": [
- {
- "last_sync_at": "string",
- "name": "string",
- "priority": 0,
- "properties": { }
}
], - "tags": [
- "string"
], - "terms": [
- "string"
], - "type": "string",
- "updated_at": "string",
- "user_description": "string"
}Get histogram data for asset run history over specified period
| id required | string Asset ID |
| period | string Default: "30d" Time period (7d, 30d, 90d) |
{- "buckets": [
- {
- "abort": 0,
- "complete": 0,
- "date": "string",
- "fail": 0,
- "other": 0,
- "running": 0,
- "total": 0
}
], - "period": "string"
}Get paginated run history for a specific asset
| id required | string Asset ID |
| limit | integer Default: 10 Number of items per page |
| offset | integer Default: 0 Number of items to skip |
{- "limit": 0,
- "offset": 0,
- "run_history": [
- {
- "duration_ms": 0,
- "end_time": "string",
- "event_time": "string",
- "id": "string",
- "job_name": "string",
- "job_namespace": "string",
- "run_id": "string",
- "start_time": "string",
- "status": "string",
- "type": "string"
}
], - "total": 0
}Search for assets using query string and filters
| q | string Search query |
| types | Array of strings Filter by asset types |
| services | Array of strings Filter by services |
| tags | Array of strings Filter by tags |
| limit | integer Default: 50 Number of items to return |
| offset | integer Default: 0 Number of items to skip |
| calculateCounts | boolean Default: false Calculate filter counts |
{- "assets": [
- {
- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "environments": {
- "property1": {
- "metadata": { },
- "name": "string",
- "path": "string"
}, - "property2": {
- "metadata": { },
- "name": "string",
- "path": "string"
}
}, - "external_links": [
- {
- "icon": "string",
- "name": "string",
- "url": "string"
}
], - "has_run_history": true,
- "id": "string",
- "is_stub": true,
- "last_sync_at": "string",
- "metadata": { },
- "mrn": "string",
- "name": "string",
- "parent_mrn": "string",
- "providers": [
- "string"
], - "query": "string",
- "query_language": "string",
- "schema": {
- "property1": "string",
- "property2": "string"
}, - "sources": [
- {
- "last_sync_at": "string",
- "name": "string",
- "priority": 0,
- "properties": { }
}
], - "tags": [
- "string"
], - "terms": [
- "string"
], - "type": "string",
- "updated_at": "string",
- "user_description": "string"
}
], - "filters": {
- "providers": {
- "property1": 0,
- "property2": 0
}, - "tags": {
- "property1": 0,
- "property2": 0
}, - "types": {
- "property1": 0,
- "property2": 0
}
}, - "limit": 0,
- "offset": 0,
- "total": 0
}Get suggestions for values of a specific metadata field
| field required | string Metadata field name |
| prefix | string Value prefix to filter by |
| limit | integer Default: 10 Maximum number of suggestions |
[- {
- "count": 0,
- "example": {
- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "environments": {
- "property1": {
- "metadata": { },
- "name": "string",
- "path": "string"
}, - "property2": {
- "metadata": { },
- "name": "string",
- "path": "string"
}
}, - "external_links": [
- {
- "icon": "string",
- "name": "string",
- "url": "string"
}
], - "has_run_history": true,
- "id": "string",
- "is_stub": true,
- "last_sync_at": "string",
- "metadata": { },
- "mrn": "string",
- "name": "string",
- "parent_mrn": "string",
- "providers": [
- "string"
], - "query": "string",
- "query_language": "string",
- "schema": {
- "property1": "string",
- "property2": "string"
}, - "sources": [
- {
- "last_sync_at": "string",
- "name": "string",
- "priority": 0,
- "properties": { }
}
], - "tags": [
- "string"
], - "terms": [
- "string"
], - "type": "string",
- "updated_at": "string",
- "user_description": "string"
}, - "value": "string"
}
]Get the total count of assets by type
{- "providers": {
- "property1": 0,
- "property2": 0
}, - "tags": {
- "property1": 0,
- "property2": 0
}, - "types": {
- "property1": {
- "count": 0,
- "service": "string"
}, - "property2": {
- "count": 0,
- "service": "string"
}
}
}Remove a tag from an existing asset
| id required | string Asset ID |
Tag to remove
| tag required | string |
{- "tag": "string"
}{- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "environments": {
- "property1": {
- "metadata": { },
- "name": "string",
- "path": "string"
}, - "property2": {
- "metadata": { },
- "name": "string",
- "path": "string"
}
}, - "external_links": [
- {
- "icon": "string",
- "name": "string",
- "url": "string"
}
], - "has_run_history": true,
- "id": "string",
- "is_stub": true,
- "last_sync_at": "string",
- "metadata": { },
- "mrn": "string",
- "name": "string",
- "parent_mrn": "string",
- "providers": [
- "string"
], - "query": "string",
- "query_language": "string",
- "schema": {
- "property1": "string",
- "property2": "string"
}, - "sources": [
- {
- "last_sync_at": "string",
- "name": "string",
- "priority": 0,
- "properties": { }
}
], - "tags": [
- "string"
], - "terms": [
- "string"
], - "type": "string",
- "updated_at": "string",
- "user_description": "string"
}Add a new tag to an existing asset
| id required | string Asset ID |
Tag to add
| tag required | string |
{- "tag": "string"
}{- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "environments": {
- "property1": {
- "metadata": { },
- "name": "string",
- "path": "string"
}, - "property2": {
- "metadata": { },
- "name": "string",
- "path": "string"
}
}, - "external_links": [
- {
- "icon": "string",
- "name": "string",
- "url": "string"
}
], - "has_run_history": true,
- "id": "string",
- "is_stub": true,
- "last_sync_at": "string",
- "metadata": { },
- "mrn": "string",
- "name": "string",
- "parent_mrn": "string",
- "providers": [
- "string"
], - "query": "string",
- "query_language": "string",
- "schema": {
- "property1": "string",
- "property2": "string"
}, - "sources": [
- {
- "last_sync_at": "string",
- "name": "string",
- "priority": 0,
- "properties": { }
}
], - "tags": [
- "string"
], - "terms": [
- "string"
], - "type": "string",
- "updated_at": "string",
- "user_description": "string"
}Remove a glossary term association from an asset
| id required | string Asset ID |
Term ID to remove
| term_id required | string |
{- "term_id": "string"
}[- {
- "created_at": "string",
- "created_by": "string",
- "created_by_username": "string",
- "definition": "string",
- "source": "string",
- "term_id": "string",
- "term_name": "string"
}
]Retrieve all glossary terms associated with an asset
| id required | string Asset ID |
[- {
- "created_at": "string",
- "created_by": "string",
- "created_by_username": "string",
- "definition": "string",
- "source": "string",
- "term_id": "string",
- "term_name": "string"
}
]Associate one or more glossary terms with an asset
| id required | string Asset ID |
Term IDs to add
| term_ids required | Array of strings non-empty |
{- "term_ids": [
- "string"
]
}[- {
- "created_at": "string",
- "created_by": "string",
- "created_by_username": "string",
- "definition": "string",
- "source": "string",
- "term_id": "string",
- "term_name": "string"
}
]Create a new glossary term with name, definition, and optional metadata
Glossary term to create
| definition required | string |
| description | string |
object | |
| name required | string |
Array of objects (OwnerRequest) | |
| parent_term_id | string |
{- "definition": "string",
- "description": "string",
- "metadata": { },
- "name": "string",
- "owners": [
- {
- "id": "string",
- "type": "user"
}
], - "parent_term_id": "string"
}{- "created_at": "string",
- "definition": "string",
- "deleted_at": "string",
- "description": "string",
- "id": "string",
- "metadata": { },
- "name": "string",
- "owners": [
- {
- "email": "string",
- "id": "string",
- "name": "string",
- "profile_picture": "string",
- "type": "string",
- "username": "string"
}
], - "parent_term_id": "string",
- "tags": [
- "string"
], - "updated_at": "string",
- "user_definition": "string"
}Retrieve a glossary term by its ID
| id required | string Glossary Term ID |
{- "created_at": "string",
- "definition": "string",
- "deleted_at": "string",
- "description": "string",
- "id": "string",
- "metadata": { },
- "name": "string",
- "owners": [
- {
- "email": "string",
- "id": "string",
- "name": "string",
- "profile_picture": "string",
- "type": "string",
- "username": "string"
}
], - "parent_term_id": "string",
- "tags": [
- "string"
], - "updated_at": "string",
- "user_definition": "string"
}Update an existing glossary term by its ID
| id required | string Glossary Term ID |
Glossary term update data
| definition | string |
| description | string |
object | |
| name | string |
Array of objects (OwnerRequest) | |
| parent_term_id | string |
{- "definition": "string",
- "description": "string",
- "metadata": { },
- "name": "string",
- "owners": [
- {
- "id": "string",
- "type": "user"
}
], - "parent_term_id": "string"
}{- "created_at": "string",
- "definition": "string",
- "deleted_at": "string",
- "description": "string",
- "id": "string",
- "metadata": { },
- "name": "string",
- "owners": [
- {
- "email": "string",
- "id": "string",
- "name": "string",
- "profile_picture": "string",
- "type": "string",
- "username": "string"
}
], - "parent_term_id": "string",
- "tags": [
- "string"
], - "updated_at": "string",
- "user_definition": "string"
}Retrieve a paginated list of all glossary terms
| limit | integer Default: 20 Maximum number of terms to return |
| offset | integer Default: 0 Number of terms to skip |
{- "terms": [
- {
- "created_at": "string",
- "definition": "string",
- "deleted_at": "string",
- "description": "string",
- "id": "string",
- "metadata": { },
- "name": "string",
- "owners": [
- {
- "email": "string",
- "id": "string",
- "name": "string",
- "profile_picture": "string",
- "type": "string",
- "username": "string"
}
], - "parent_term_id": "string",
- "tags": [
- "string"
], - "updated_at": "string",
- "user_definition": "string"
}
], - "total": 0
}Search for glossary terms by query string and filters
| q | string Search query |
| parent_term_id | string Filter by parent term ID |
| limit | integer Default: 20 Maximum number of terms to return |
| offset | integer Default: 0 Number of terms to skip |
{- "terms": [
- {
- "created_at": "string",
- "definition": "string",
- "deleted_at": "string",
- "description": "string",
- "id": "string",
- "metadata": { },
- "name": "string",
- "owners": [
- {
- "email": "string",
- "id": "string",
- "name": "string",
- "profile_picture": "string",
- "type": "string",
- "username": "string"
}
], - "parent_term_id": "string",
- "tags": [
- "string"
], - "updated_at": "string",
- "user_definition": "string"
}
], - "total": 0
}| schedule_id | string Filter by schedule ID |
| status | string Filter by status |
| limit | integer Limit |
| offset | integer Offset |
{- "limit": 0,
- "offset": 0,
- "runs": [
- {
- "assets_created": 0,
- "assets_deleted": 0,
- "assets_updated": 0,
- "claimed_at": "string",
- "claimed_by": "string",
- "config": { },
- "created_at": "string",
- "created_by": "string",
- "documentation_added": 0,
- "error_message": "string",
- "finished_at": "string",
- "id": "string",
- "lineage_created": 0,
- "log": "string",
- "pipeline_name": "string",
- "plugin_run_id": "string",
- "run_id": "string",
- "schedule_id": "string",
- "source_name": "string",
- "started_at": "string",
- "status": "string",
- "updated_at": "string"
}
], - "total": 0
}| id required | string Job run ID |
{- "assets_created": 0,
- "assets_deleted": 0,
- "assets_updated": 0,
- "claimed_at": "string",
- "claimed_by": "string",
- "config": { },
- "created_at": "string",
- "created_by": "string",
- "documentation_added": 0,
- "error_message": "string",
- "finished_at": "string",
- "id": "string",
- "lineage_created": 0,
- "log": "string",
- "pipeline_name": "string",
- "plugin_run_id": "string",
- "run_id": "string",
- "schedule_id": "string",
- "source_name": "string",
- "started_at": "string",
- "status": "string",
- "updated_at": "string"
}| enabled | boolean Filter by enabled status |
| limit | integer Limit |
| offset | integer Offset |
{- "limit": 0,
- "offset": 0,
- "schedules": [
- {
- "config": { },
- "created_at": "string",
- "created_by": "string",
- "cron_expression": "string",
- "enabled": true,
- "id": "string",
- "ingest_on_query": true,
- "last_run_at": "string",
- "last_run_status": "string",
- "managed_by": "string",
- "name": "string",
- "next_run_at": "string",
- "plugin_id": "string",
- "queryable": true,
- "served_by_id": "string",
- "served_by_type": "string",
- "updated_at": "string"
}
], - "total": 0
}Schedule configuration
object | |
| cron_expression | string |
| enabled | boolean |
| ingest_on_query | boolean IngestOnQuery refreshes the source's catalog in the background after data queries, rate-limited per source. |
| name | string |
| plugin_id | string |
| queryable | boolean Queryable lets agents and users query this source through Marmot; the plugin must support queries. |
{- "config": { },
- "cron_expression": "string",
- "enabled": true,
- "ingest_on_query": true,
- "name": "string",
- "plugin_id": "string",
- "queryable": true
}{- "config": { },
- "created_at": "string",
- "created_by": "string",
- "cron_expression": "string",
- "enabled": true,
- "id": "string",
- "ingest_on_query": true,
- "last_run_at": "string",
- "last_run_status": "string",
- "managed_by": "string",
- "name": "string",
- "next_run_at": "string",
- "plugin_id": "string",
- "queryable": true,
- "served_by_id": "string",
- "served_by_type": "string",
- "updated_at": "string"
}| id required | string Schedule ID |
{- "config": { },
- "created_at": "string",
- "created_by": "string",
- "cron_expression": "string",
- "enabled": true,
- "id": "string",
- "ingest_on_query": true,
- "last_run_at": "string",
- "last_run_status": "string",
- "managed_by": "string",
- "name": "string",
- "next_run_at": "string",
- "plugin_id": "string",
- "queryable": true,
- "served_by_id": "string",
- "served_by_type": "string",
- "updated_at": "string"
}| id required | string Schedule ID |
Updated schedule configuration
object | |
| cron_expression | string |
| enabled | boolean |
| ingest_on_query | boolean IngestOnQuery refreshes the source's catalog in the background after data queries, rate-limited per source. |
| name | string |
| plugin_id | string |
| queryable | boolean Queryable lets agents and users query this source through Marmot; the plugin must support queries. |
{- "config": { },
- "cron_expression": "string",
- "enabled": true,
- "ingest_on_query": true,
- "name": "string",
- "plugin_id": "string",
- "queryable": true
}{- "config": { },
- "created_at": "string",
- "created_by": "string",
- "cron_expression": "string",
- "enabled": true,
- "id": "string",
- "ingest_on_query": true,
- "last_run_at": "string",
- "last_run_status": "string",
- "managed_by": "string",
- "name": "string",
- "next_run_at": "string",
- "plugin_id": "string",
- "queryable": true,
- "served_by_id": "string",
- "served_by_type": "string",
- "updated_at": "string"
}Config to validate
object | |
| plugin_id | string |
{- "config": { },
- "plugin_id": "string"
}{- "errors": [
- {
- "field": "string",
- "message": "string"
}
], - "valid": true
}Process OpenLineage run events and update assets/lineage accordingly
OpenLineage run event
| eventTime | string |
| eventType | string |
Array of objects (Dataset) | |
object (Job) | |
Array of objects (Dataset) | |
| producer | string |
object (LineageRun) | |
| schemaURL | string |
{- "eventTime": "string",
- "eventType": "string",
- "inputs": [
- {
- "facets": { },
- "inputFacets": { },
- "name": "string",
- "namespace": "string",
- "outputFacets": { }
}
], - "job": {
- "facets": { },
- "name": "string",
- "namespace": "string"
}, - "outputs": [
- {
- "facets": { },
- "inputFacets": { },
- "name": "string",
- "namespace": "string",
- "outputFacets": { }
}
], - "producer": "string",
- "run": {
- "facets": { },
- "runId": "string"
}, - "schemaURL": "string"
}{- "error": "string"
}Get upstream and downstream lineage for a specific asset
| id required | string <uuid> Asset ID |
| limit | integer Default: 10 Maximum depth of lineage graph |
| direction | string Default: "both" Enum: "upstream" "downstream" "both" Direction of lineage (upstream, downstream, or both) |
| exclude_types | string Comma separated edge types to leave out, for example CONTAINS to see data flow without structure |
{- "edges": [
- {
- "id": "string",
- "job_mrn": "string",
- "last_seen_at": "string",
- "observation_count": 0,
- "origin": "string",
- "source": "string",
- "target": "string",
- "type": "string"
}
], - "nodes": [
- {
- "asset": {
- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "environments": {
- "property1": {
- "metadata": { },
- "name": "string",
- "path": "string"
}, - "property2": {
- "metadata": { },
- "name": "string",
- "path": "string"
}
}, - "external_links": [
- {
- "icon": "string",
- "name": "string",
- "url": "string"
}
], - "has_run_history": true,
- "id": "string",
- "is_stub": true,
- "last_sync_at": "string",
- "metadata": { },
- "mrn": "string",
- "name": "string",
- "parent_mrn": "string",
- "providers": [
- "string"
], - "query": "string",
- "query_language": "string",
- "schema": {
- "property1": "string",
- "property2": "string"
}, - "sources": [
- {
- "last_sync_at": "string",
- "name": "string",
- "priority": 0,
- "properties": { }
}
], - "tags": [
- "string"
], - "terms": [
- "string"
], - "type": "string",
- "updated_at": "string",
- "user_description": "string"
}, - "depth": 0,
- "id": "string",
- "type": "string"
}
]
}Create lineage edges in batch
Array of lineage edges to create
| id | string |
| job_mrn | string |
| last_seen_at | string |
| observation_count | integer |
| origin | string |
| source | string |
| target | string |
| type | string |
[- {
- "id": "string",
- "job_mrn": "string",
- "last_seen_at": "string",
- "observation_count": 0,
- "origin": "string",
- "source": "string",
- "target": "string",
- "type": "string"
}
][- {
- "edge": {
- "id": "string",
- "job_mrn": "string",
- "last_seen_at": "string",
- "observation_count": 0,
- "origin": "string",
- "source": "string",
- "target": "string",
- "type": "string"
}, - "status": "string"
}
]Create a direct lineage connection between two assets and returns the created edge
Lineage edge to create
| id | string |
| job_mrn | string |
| last_seen_at | string |
| observation_count | integer |
| origin | string |
| source | string |
| target | string |
| type | string |
{- "id": "string",
- "job_mrn": "string",
- "last_seen_at": "string",
- "observation_count": 0,
- "origin": "string",
- "source": "string",
- "target": "string",
- "type": "string"
}{- "id": "string",
- "job_mrn": "string",
- "last_seen_at": "string",
- "observation_count": 0,
- "origin": "string",
- "source": "string",
- "target": "string",
- "type": "string"
}Get a specific direct lineage connection by its ID
| id required | string <uuid> Edge ID |
{- "id": "string",
- "job_mrn": "string",
- "last_seen_at": "string",
- "observation_count": 0,
- "origin": "string",
- "source": "string",
- "target": "string",
- "type": "string"
}JSON-RPC 2.0 over the MCP Streamable HTTP transport. Requires assets:view, glossary:view and teams:view.
JSON-RPC 2.0 request
| property name* additional property | any |
{ }{ }Get aggregated metrics for dashboard display
| start required | string Start time (ISO 8601) |
| end required | string End time (ISO 8601) |
| metric_names | Array of strings Filter by metric names |
| aggregation | string Default: "avg" Enum: "avg" "sum" "max" "min" Aggregation type |
| bucket_size | string Enum: "1m" "5m" "1h" "1d" Time bucket size |
{- "metrics": [
- {
- "aggregation_type": "string",
- "bucket_end": "string",
- "bucket_size": 0,
- "bucket_start": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "name": "string",
- "value": 0
}
], - "query": {
- "aggregation": "string",
- "bucket_size": "string",
- "end": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "metric_names": [
- "string"
], - "start": "string"
}
}Get the most viewed assets
| start required | string Start time (ISO 8601) |
| end required | string End time (ISO 8601) |
| limit | integer Default: 10 Number of results |
[- {
- "asset_id": "string",
- "asset_name": "string",
- "asset_provider": "string",
- "asset_type": "string",
- "count": 0
}
]Get the most popular search queries
| start required | string Start time (ISO 8601) |
| end required | string End time (ISO 8601) |
| limit | integer Default: 10 Number of results |
[- {
- "count": 0,
- "query": "string",
- "query_type": "string"
}
]Search for asset owners (users and teams)
| q required | string Search query |
| limit | integer Default: 20 Maximum number of results |
{- "owners": [
- {
- "email": "string",
- "id": "string",
- "name": "string",
- "profile_picture": "string",
- "type": "string",
- "username": "string"
}
]
}List all active roles with user counts and permissions
[- {
- "created_at": "string",
- "deleted_at": "string",
- "description": "string",
- "id": "string",
- "is_system": true,
- "name": "string",
- "permission_keys": [
- "string"
], - "permissions": [
- {
- "action": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "resource_type": "string"
}
], - "updated_at": "string",
- "user_count": 0
}
]Create a new role with optional initial permissions, named by id or by resource_type:action key. The body may be JSON or YAML.
Role creation request
| description | string |
| name | string |
| permission_ids | Array of strings |
| permission_keys | Array of strings PermissionKeys names permissions as resource_type:action keys, the form a hand-written role document uses. |
{- "description": "string",
- "name": "string",
- "permission_ids": [
- "string"
], - "permission_keys": [
- "string"
]
}{- "created_at": "string",
- "deleted_at": "string",
- "description": "string",
- "id": "string",
- "is_system": true,
- "name": "string",
- "permission_keys": [
- "string"
], - "permissions": [
- {
- "action": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "resource_type": "string"
}
], - "updated_at": "string",
- "user_count": 0
}Get a role by ID with its permissions
| id required | string Role ID |
{- "created_at": "string",
- "deleted_at": "string",
- "description": "string",
- "id": "string",
- "is_system": true,
- "name": "string",
- "permission_keys": [
- "string"
], - "permissions": [
- {
- "action": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "resource_type": "string"
}
], - "updated_at": "string",
- "user_count": 0
}Update a role's name or description. System roles cannot be renamed.
| id required | string Role ID |
Role update request
| description | string |
| name | string |
{- "description": "string",
- "name": "string"
}{- "created_at": "string",
- "deleted_at": "string",
- "description": "string",
- "id": "string",
- "is_system": true,
- "name": "string",
- "permission_keys": [
- "string"
], - "permissions": [
- {
- "action": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "resource_type": "string"
}
], - "updated_at": "string",
- "user_count": 0
}Atomically replace all permissions on a role, named by id or by resource_type:action key. System roles enforce a minimum permission floor.
| id required | string Role ID |
Permission IDs to assign
| permission_ids | Array of strings |
| permission_keys | Array of strings PermissionKeys names permissions as resource_type:action keys. They are added to PermIDs. |
{- "permission_ids": [
- "string"
], - "permission_keys": [
- "string"
]
}{- "created_at": "string",
- "deleted_at": "string",
- "description": "string",
- "id": "string",
- "is_system": true,
- "name": "string",
- "permission_keys": [
- "string"
], - "permissions": [
- {
- "action": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "resource_type": "string"
}
], - "updated_at": "string",
- "user_count": 0
}Checks a role document, in JSON or YAML, without saving it, and lists every problem found with where it is, so an editor can mark each one. Pass id to check an edit to an existing role, so it keeping its own name is not reported as a clash.
| id | string ID of the role being edited |
Role document
| description | string |
| name | string |
| permission_ids | Array of strings |
| permission_keys | Array of strings PermissionKeys names permissions as resource_type:action keys, the form a hand-written role document uses. |
{- "description": "string",
- "name": "string",
- "permission_ids": [
- "string"
], - "permission_keys": [
- "string"
]
}{- "problems": [
- {
- "message": "string",
- "path": "string"
}
], - "valid": true
}Delete all resources ever created by a pipeline (across all sources)
| pipelineName required | string Pipeline Name |
{- "assets_deleted": 0,
- "deleted_entity_mrns": [
- "string"
], - "documentation_deleted": 0,
- "lineage_deleted": 0
}{- "loading": true,
- "plugins": [
- {
- "asset_schemas": [
- {
- "description": "string",
- "display_name": "string",
- "fields": [
- {
- "description": "string",
- "name": "string",
- "type": "string"
}
], - "struct_name": "string"
}
], - "category": "string",
- "config_spec": [
- {
- "default": null,
- "description": "string",
- "fields": [
- { }
], - "group": "string",
- "hidden": true,
- "is_array": true,
- "label": "string",
- "name": "string",
- "options": [
- {
- "label": "string",
- "value": "string"
}
], - "placeholder": "string",
- "required": true,
- "sensitive": true,
- "show_when": {
- "field": "string",
- "value": "string"
}, - "type": "string",
- "validation": {
- "max": 0,
- "max_len": 0,
- "min": 0,
- "min_len": 0,
- "pattern": "string"
}
}
], - "description": "string",
- "features": [
- "string"
], - "icon": "string",
- "id": "string",
- "name": "string",
- "status": "string",
- "supports_data_preview": true,
- "supports_query": true
}
]
}Create a new data product with owners and optional membership rules
Data product to create
| description | string |
object | |
| name required | string |
Array of objects (DataProductOwnerRequest) | |
Array of objects (DataProductRuleRequest) | |
| tags | Array of strings |
{- "description": "string",
- "metadata": { },
- "name": "string",
- "owners": [
- {
- "id": "string",
- "type": "user"
}
], - "rules": [
- {
- "description": "string",
- "is_enabled": true,
- "metadata_field": "string",
- "name": "string",
- "pattern_type": "string",
- "pattern_value": "string",
- "priority": 0,
- "query_expression": "string",
- "rule_type": "string"
}
], - "tags": [
- "string"
]
}{- "asset_count": 0,
- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "icon_url": "string",
- "id": "string",
- "manual_asset_count": 0,
- "metadata": { },
- "name": "string",
- "owners": [
- {
- "email": "string",
- "id": "string",
- "name": "string",
- "profile_picture": "string",
- "type": "string",
- "username": "string"
}
], - "rule_asset_count": 0,
- "rules": [
- {
- "created_at": "string",
- "data_product_id": "string",
- "description": "string",
- "id": "string",
- "is_enabled": true,
- "matched_asset_count": 0,
- "metadata_field": "string",
- "name": "string",
- "pattern_type": "string",
- "pattern_value": "string",
- "priority": 0,
- "query_expression": "string",
- "rule_type": "query",
- "updated_at": "string"
}
], - "tags": [
- "string"
], - "updated_at": "string"
}Get a data product by ID
| id required | string Data Product ID |
{- "asset_count": 0,
- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "icon_url": "string",
- "id": "string",
- "manual_asset_count": 0,
- "metadata": { },
- "name": "string",
- "owners": [
- {
- "email": "string",
- "id": "string",
- "name": "string",
- "profile_picture": "string",
- "type": "string",
- "username": "string"
}
], - "rule_asset_count": 0,
- "rules": [
- {
- "created_at": "string",
- "data_product_id": "string",
- "description": "string",
- "id": "string",
- "is_enabled": true,
- "matched_asset_count": 0,
- "metadata_field": "string",
- "name": "string",
- "pattern_type": "string",
- "pattern_value": "string",
- "priority": 0,
- "query_expression": "string",
- "rule_type": "query",
- "updated_at": "string"
}
], - "tags": [
- "string"
], - "updated_at": "string"
}Update an existing data product
| id required | string Data Product ID |
Fields to update
| description | string |
object | |
| name | string |
Array of objects (DataProductOwnerRequest) | |
| tags | Array of strings |
{- "description": "string",
- "metadata": { },
- "name": "string",
- "owners": [
- {
- "id": "string",
- "type": "user"
}
], - "tags": [
- "string"
]
}{- "asset_count": 0,
- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "icon_url": "string",
- "id": "string",
- "manual_asset_count": 0,
- "metadata": { },
- "name": "string",
- "owners": [
- {
- "email": "string",
- "id": "string",
- "name": "string",
- "profile_picture": "string",
- "type": "string",
- "username": "string"
}
], - "rule_asset_count": 0,
- "rules": [
- {
- "created_at": "string",
- "data_product_id": "string",
- "description": "string",
- "id": "string",
- "is_enabled": true,
- "matched_asset_count": 0,
- "metadata_field": "string",
- "name": "string",
- "pattern_type": "string",
- "pattern_value": "string",
- "priority": 0,
- "query_expression": "string",
- "rule_type": "query",
- "updated_at": "string"
}
], - "tags": [
- "string"
], - "updated_at": "string"
}Get the manually added assets of a data product
| id required | string Data Product ID |
| limit | integer Default: 20 Maximum number of assets to return |
| offset | integer Default: 0 Number of assets to skip |
{- "asset_ids": [
- "string"
], - "total": 0
}Manually add assets to a data product
| id required | string Data Product ID |
Asset IDs to add
| asset_ids required | Array of strings non-empty |
{- "asset_ids": [
- "string"
]
}{- "property1": "string",
- "property2": "string"
}Remove a manually added asset from a data product
| id required | string Data Product ID |
| assetId required | string Asset ID |
{- "property1": "string",
- "property2": "string"
}Delete an icon or header image for a data product
| id required | string Data Product ID |
| purpose required | string Image purpose (icon or header) |
{- "property1": "string",
- "property2": "string"
}Upload an icon or header image for a data product
| id required | string Data Product ID |
| purpose required | string Image purpose (icon or header) |
| file required | string <binary> Image file |
{- "content_type": "string",
- "created_at": "string",
- "data_product_id": "string",
- "filename": "string",
- "id": "string",
- "purpose": "icon",
- "size_bytes": 0,
- "url": "string"
}Retrieve a paginated list of data products
| limit | integer Default: 20 Maximum number of data products to return |
| offset | integer Default: 0 Number of data products to skip |
{- "data_products": [
- {
- "asset_count": 0,
- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "icon_url": "string",
- "id": "string",
- "manual_asset_count": 0,
- "metadata": { },
- "name": "string",
- "owners": [
- {
- "email": "string",
- "id": "string",
- "name": "string",
- "profile_picture": "string",
- "type": "string",
- "username": "string"
}
], - "rule_asset_count": 0,
- "rules": [
- {
- "created_at": "string",
- "data_product_id": "string",
- "description": "string",
- "id": "string",
- "is_enabled": true,
- "matched_asset_count": 0,
- "metadata_field": "string",
- "name": "string",
- "pattern_type": "string",
- "pattern_value": "string",
- "priority": 0,
- "query_expression": "string",
- "rule_type": "query",
- "updated_at": "string"
}
], - "tags": [
- "string"
], - "updated_at": "string"
}
], - "total": 0
}Get all assets of a data product, both manually added and matched by rules
| id required | string Data Product ID |
| limit | integer Default: 20 Maximum number of assets to return |
| offset | integer Default: 0 Number of assets to skip |
{- "all_assets": [
- "string"
], - "dynamic_assets": [
- "string"
], - "manual_assets": [
- "string"
], - "total": 0
}Preview which assets would match a rule configuration
| limit | integer Default: 20 Maximum number of matching assets to return |
Rule to preview
| description | string |
| is_enabled | boolean |
| metadata_field | string |
| name required | string |
| pattern_type | string |
| pattern_value | string |
| priority | integer |
| query_expression | string |
| rule_type required | string |
{- "description": "string",
- "is_enabled": true,
- "metadata_field": "string",
- "name": "string",
- "pattern_type": "string",
- "pattern_value": "string",
- "priority": 0,
- "query_expression": "string",
- "rule_type": "string"
}{- "asset_count": 0,
- "asset_ids": [
- "string"
], - "errors": [
- "string"
]
}Get the membership rules of a data product
| id required | string Data Product ID |
{- "rules": [
- {
- "created_at": "string",
- "data_product_id": "string",
- "description": "string",
- "id": "string",
- "is_enabled": true,
- "matched_asset_count": 0,
- "metadata_field": "string",
- "name": "string",
- "pattern_type": "string",
- "pattern_value": "string",
- "priority": 0,
- "query_expression": "string",
- "rule_type": "query",
- "updated_at": "string"
}
], - "total": 0
}Create a membership rule for a data product
| id required | string Data Product ID |
Rule to create
| description | string |
| is_enabled | boolean |
| metadata_field | string |
| name required | string |
| pattern_type | string |
| pattern_value | string |
| priority | integer |
| query_expression | string |
| rule_type required | string |
{- "description": "string",
- "is_enabled": true,
- "metadata_field": "string",
- "name": "string",
- "pattern_type": "string",
- "pattern_value": "string",
- "priority": 0,
- "query_expression": "string",
- "rule_type": "string"
}{- "created_at": "string",
- "data_product_id": "string",
- "description": "string",
- "id": "string",
- "is_enabled": true,
- "matched_asset_count": 0,
- "metadata_field": "string",
- "name": "string",
- "pattern_type": "string",
- "pattern_value": "string",
- "priority": 0,
- "query_expression": "string",
- "rule_type": "query",
- "updated_at": "string"
}Update a membership rule of a data product
| id required | string Data Product ID |
| ruleId required | string Rule ID |
Rule fields to update
| description | string |
| is_enabled | boolean |
| metadata_field | string |
| name required | string |
| pattern_type | string |
| pattern_value | string |
| priority | integer |
| query_expression | string |
| rule_type required | string |
{- "description": "string",
- "is_enabled": true,
- "metadata_field": "string",
- "name": "string",
- "pattern_type": "string",
- "pattern_value": "string",
- "priority": 0,
- "query_expression": "string",
- "rule_type": "string"
}{- "created_at": "string",
- "data_product_id": "string",
- "description": "string",
- "id": "string",
- "is_enabled": true,
- "matched_asset_count": 0,
- "metadata_field": "string",
- "name": "string",
- "pattern_type": "string",
- "pattern_value": "string",
- "priority": 0,
- "query_expression": "string",
- "rule_type": "query",
- "updated_at": "string"
}Search data products by name, description, and tags
| q | string Search query |
| tags | string Comma-separated list of tags to filter by |
| limit | integer Default: 20 Maximum number of data products to return |
| offset | integer Default: 0 Number of data products to skip |
{- "data_products": [
- {
- "asset_count": 0,
- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "icon_url": "string",
- "id": "string",
- "manual_asset_count": 0,
- "metadata": { },
- "name": "string",
- "owners": [
- {
- "email": "string",
- "id": "string",
- "name": "string",
- "profile_picture": "string",
- "type": "string",
- "username": "string"
}
], - "rule_asset_count": 0,
- "rules": [
- {
- "created_at": "string",
- "data_product_id": "string",
- "description": "string",
- "id": "string",
- "is_enabled": true,
- "matched_asset_count": 0,
- "metadata_field": "string",
- "name": "string",
- "pattern_type": "string",
- "pattern_value": "string",
- "priority": 0,
- "query_expression": "string",
- "rule_type": "query",
- "updated_at": "string"
}
], - "tags": [
- "string"
], - "updated_at": "string"
}
], - "total": 0
}Lists the query log, newest first. Callers without access:view only see their own queries.
| source | string Source name |
| decision | string allowed or denied |
| status | string running, completed, failed or denied |
| mrn | string Only queries that referenced this MRN |
| principal_type | string Principal type |
| principal_id | string Principal ID |
| mine | boolean Only the caller's own queries |
| client | string Comma-separated clients to include: api, mcp or cli |
| from | string Only queries started at or after this time (RFC 3339) |
| to | string Only queries started before this time (RFC 3339) |
| q | string Matches the caller, source, statement or a referenced MRN |
| limit | integer Default: 50 Page size |
| offset | integer Default: 0 Page offset |
{- "limit": 0,
- "offset": 0,
- "queries": [
- {
- "audit_subject": "string",
- "client": "string",
- "completed_at": "string",
- "context": [
- {
- "asset_id": "string",
- "description": "string",
- "last_sync_at": "string",
- "mrn": "string",
- "name": "string",
- "providers": [
- "string"
], - "tags": [
- "string"
], - "type": "string"
}
], - "decision": "string",
- "decision_detail": {
- "property1": null,
- "property2": null
}, - "error": "string",
- "id": "string",
- "principal_id": "string",
- "principal_type": "string",
- "referenced_mrns": [
- "string"
], - "rows_returned": 0,
- "source_id": "string",
- "source_name": "string",
- "started_at": "string",
- "statement": "string",
- "status": "string",
- "truncated": true
}
], - "total": 0
}Returns one query from the log, including the catalog context recorded when it ran. Callers without access:view can only read their own queries.
| id required | string Query ID |
{- "audit_subject": "string",
- "client": "string",
- "completed_at": "string",
- "context": [
- {
- "asset_id": "string",
- "description": "string",
- "last_sync_at": "string",
- "mrn": "string",
- "name": "string",
- "providers": [
- "string"
], - "tags": [
- "string"
], - "type": "string"
}
], - "decision": "string",
- "decision_detail": {
- "property1": null,
- "property2": null
}, - "error": "string",
- "id": "string",
- "principal_id": "string",
- "principal_type": "string",
- "referenced_mrns": [
- "string"
], - "rows_returned": 0,
- "source_id": "string",
- "source_name": "string",
- "started_at": "string",
- "statement": "string",
- "status": "string",
- "truncated": true
}Runs a read-only statement against a queryable source as the caller. The statement is planned first and refused unless the caller may query every table it references. Every attempt is recorded in the query log.
Query
| max_rows | integer |
| source required | string |
| statement required | string |
{- "max_rows": 0,
- "source": "string",
- "statement": "string"
}{- "columns": [
- {
- "name": "string",
- "type": "string"
}
], - "context": [
- {
- "asset_id": "string",
- "description": "string",
- "last_sync_at": "string",
- "mrn": "string",
- "name": "string",
- "providers": [
- "string"
], - "tags": [
- "string"
], - "type": "string"
}
], - "query_id": "string",
- "referenced_mrns": [
- "string"
], - "row_count": 0,
- "rows": [
- [
- null
]
], - "truncated": true
}Pages through the sources that answer data queries, in name order. Use a source's name as the "source" of a query.
| q | string Search by source name or plugin |
| limit | integer Default: 50 Page size, at most 200 |
| offset | integer Default: 0 Page offset |
{- "sources": [
- {
- "id": "string",
- "ingest_on_query": true,
- "last_queried_at": "string",
- "name": "string",
- "plugin_id": "string",
- "queries_last_week": 0,
- "served": true,
- "table_count": 0
}
], - "total": 0
}Lists the catalogued tables a queryable source can reach, busiest first, each with a statement that previews it in the source's own dialect.
| name required | string Source name |
| q | string Search by table name |
| limit | integer Default: 25 At most 100 |
[- {
- "asset_id": "string",
- "description": "string",
- "mrn": "string",
- "name": "string",
- "queries": 0,
- "sample_statement": "string",
- "schema": "string",
- "tags": [
- "string"
], - "type": "string"
}
]Summarises data query activity over a window from hourly rollups: totals, a series and the busiest callers, sources and tables. Callers without access:view only see their own activity. The window defaults to the last 24 hours.
| from | string Start of the window, RFC 3339 |
| to | string End of the window, RFC 3339 |
| interval | string hour or day; defaults by window length |
| limit | integer Default: 6 Entries in each top list |
{- "from": "string",
- "interval": "string",
- "series": [
- {
- "bucket": "string",
- "denied": 0,
- "failed": 0,
- "succeeded": 0
}
], - "to": "string",
- "top_callers": [
- {
- "allowed": 0,
- "denied": 0,
- "key": "string",
- "label": "string",
- "plugin_id": "string",
- "principal_type": "string",
- "tags": [
- "string"
], - "total": 0
}
], - "top_sources": [
- {
- "allowed": 0,
- "denied": 0,
- "key": "string",
- "label": "string",
- "plugin_id": "string",
- "principal_type": "string",
- "tags": [
- "string"
], - "total": 0
}
], - "top_tables": [
- {
- "allowed": 0,
- "denied": 0,
- "key": "string",
- "label": "string",
- "plugin_id": "string",
- "principal_type": "string",
- "tags": [
- "string"
], - "total": 0
}
], - "totals": {
- "allowed": 0,
- "callers": 0,
- "denied": 0,
- "failed": 0,
- "queries": 0,
- "tables": 0
}
}Reports the long-running plugin processes that serve data queries.
{- "instances": [
- {
- "active_queries": 0,
- "last_used_at": "string",
- "plugin_id": "string",
- "restarts": 0,
- "started_at": "string"
}
]
}Issues a short-lived client certificate for a plugin running outside Marmot to connect and serve queries for the named sources. The caller must hold ingestion:serve, and each source must be free or already served by the caller.
Certificate request and sources
| csr | string |
Array of objects (pluginserve.EnrolSource) |
{- "csr": "string",
- "sources": [
- {
- "config": {
- "property1": null,
- "property2": null
}, - "name": "string",
- "plugin_id": "string"
}
]
}{- "address": "string",
- "ca_bundle": "string",
- "certificate": "string",
- "enrolment_id": "string",
- "expires_at": "string",
- "instance_id": "string",
- "port": "string",
- "signing_keys": [
- "string"
]
}Starts a new generation of the CA and query signing keys that secure serving plugins. A graceful rotation publishes the new keys, uses them after the overlap and then retires the old ones, without interrupting serving plugins. An immediate rotation is for a suspected compromise: it switches at once and serving plugins must be restarted.
Rotation
| ca_key_uri | string CAKeyURI and SigningKeyURI name new KMS keys. Leave both empty to have Marmot generate keys it stores encrypted, which is refused when the current keys are in a KMS. |
| immediate | boolean Immediate switches to the new keys at once and stops trusting the old ones, for a suspected compromise; serving plugins must then be restarted. |
| signing_key_uri | string |
{- "ca_key_uri": "string",
- "immediate": true,
- "signing_key_uri": "string"
}[- {
- "activates_at": "string",
- "active": true,
- "id": "string",
- "retires_at": "string",
- "storage": "string"
}
]Get paginated list of runs with filtering
| pipelines | string Comma-separated list of pipeline names |
| statuses | string Comma-separated list of statuses |
| limit | integer Default: 50 Number of results per page |
| offset | integer Default: 0 Number of results to skip |
{- "limit": 0,
- "offset": 0,
- "pipelines": [
- "string"
], - "runs": [
- {
- "completed_at": "string",
- "config": { },
- "created_by": "string",
- "error_message": "string",
- "id": "string",
- "pipeline_name": "string",
- "run_id": "string",
- "source_name": "string",
- "started_at": "string",
- "status": "running",
- "summary": {
- "assets_created": 0,
- "assets_deleted": 0,
- "assets_terms_linked": 0,
- "assets_updated": 0,
- "documentation_added": 0,
- "duration_seconds": 0,
- "errors_count": 0,
- "glossary_terms_created": 0,
- "glossary_terms_updated": 0,
- "lineage_created": 0,
- "lineage_updated": 0,
- "total_entities": 0
}
}
], - "total": 0
}Get a specific run by ID
| id required | string Run ID |
{- "completed_at": "string",
- "config": { },
- "created_by": "string",
- "error_message": "string",
- "id": "string",
- "pipeline_name": "string",
- "run_id": "string",
- "source_name": "string",
- "started_at": "string",
- "status": "running",
- "summary": {
- "assets_created": 0,
- "assets_deleted": 0,
- "assets_terms_linked": 0,
- "assets_updated": 0,
- "documentation_added": 0,
- "duration_seconds": 0,
- "errors_count": 0,
- "glossary_terms_created": 0,
- "glossary_terms_updated": 0,
- "lineage_created": 0,
- "lineage_updated": 0,
- "total_entities": 0
}
}Get paginated list of entities for a specific run
| id required | string Run ID |
| entity_type | string Filter by entity type (asset, lineage, documentation) |
| status | string Filter by status (created, updated, deleted, failed) |
| limit | integer Default: 100 Number of results per page |
| offset | integer Default: 0 Number of results to skip |
{- "entities": [
- {
- "created_at": "string",
- "entity_mrn": "string",
- "entity_name": "string",
- "entity_type": "string",
- "error_message": "string",
- "id": "string",
- "run_id": "string",
- "status": "string"
}
], - "limit": 0,
- "offset": 0,
- "total": 0
}Create/update assets within a run
Batch create request
required | Array of objects (RunCreateAssetRequest) non-empty |
object (RawPluginConfig) | |
Array of objects (CreateDocRequest) | |
Array of objects (CreateGlossaryTermRequest) | |
Array of objects (CreateLineageRequest) | |
| pipeline_name required | string |
Array of objects (CreateRunHistoryRequest) | |
| run_id required | string |
| source_name required | string |
Array of objects (CreateStatRequest) |
{- "assets": [
- {
- "description": "string",
- "external_links": [
- {
- "property1": "string",
- "property2": "string"
}
], - "metadata": { },
- "name": "string",
- "providers": [
- "string"
], - "schema": { },
- "sources": [
- {
- "last_sync_at": "string",
- "name": "string",
- "priority": 0,
- "properties": { }
}
], - "tags": [
- "string"
], - "terms": [
- "string"
], - "type": "string"
}
], - "config": { },
- "documentation": [
- {
- "asset_mrn": "string",
- "content": "string",
- "type": "string"
}
], - "glossary_terms": [
- {
- "definition": "string",
- "description": "string",
- "metadata": { },
- "name": "string",
- "parent": "string",
- "synonyms": [
- "string"
], - "tags": [
- "string"
]
}
], - "lineage": [
- {
- "job_mrn": "string",
- "source": "string",
- "target": "string",
- "type": "string"
}
], - "pipeline_name": "string",
- "run_history": [
- {
- "asset_mrn": "string",
- "event_time": "string",
- "event_type": "string",
- "job_facets": { },
- "job_name": "string",
- "job_namespace": "string",
- "run_facets": { },
- "run_id": "string"
}
], - "run_id": "string",
- "source_name": "string",
- "statistics": [
- {
- "asset_mrn": "string",
- "metric_name": "string",
- "value": 0
}
]
}{- "assets": [
- {
- "asset": null,
- "error": "string",
- "mrn": "string",
- "name": "string",
- "provider": "string",
- "status": "string",
- "type": "string"
}
], - "documentation": [
- {
- "asset_mrn": "string",
- "error": "string",
- "status": "string",
- "type": "string"
}
], - "lineage": [
- {
- "error": "string",
- "source": "string",
- "status": "string",
- "target": "string",
- "type": "string"
}
], - "stale_entities_removed": [
- "string"
]
}Complete a run with results
Complete run request
| error | string |
| run_id required | string |
| status required | string (RunStatus) Enum: "running" "completed" "failed" "cancelled" |
object (RunSummary) |
{- "error": "string",
- "run_id": "string",
- "status": "running",
- "summary": {
- "assets_created": 0,
- "assets_deleted": 0,
- "assets_terms_linked": 0,
- "assets_updated": 0,
- "documentation_added": 0,
- "duration_seconds": 0,
- "errors_count": 0,
- "glossary_terms_created": 0,
- "glossary_terms_updated": 0,
- "lineage_created": 0,
- "lineage_updated": 0,
- "total_entities": 0
}
}{- "property1": "string",
- "property2": "string"
}Start a new run for tracking
Start run request
object (RawPluginConfig) | |
| pipeline_name required | string |
| source_name required | string |
{- "config": { },
- "pipeline_name": "string",
- "source_name": "string"
}{- "completed_at": "string",
- "config": { },
- "created_by": "string",
- "error_message": "string",
- "id": "string",
- "pipeline_name": "string",
- "run_id": "string",
- "source_name": "string",
- "started_at": "string",
- "status": "running",
- "summary": {
- "assets_created": 0,
- "assets_deleted": 0,
- "assets_terms_linked": 0,
- "assets_updated": 0,
- "documentation_added": 0,
- "duration_seconds": 0,
- "errors_count": 0,
- "glossary_terms_created": 0,
- "glossary_terms_updated": 0,
- "lineage_created": 0,
- "lineage_updated": 0,
- "total_entities": 0
}
}Search across assets, glossary terms, teams, and users
| q required | string Search query |
| types | Array of strings Filter by result types (asset, glossary, team, user) |
| limit | integer Default: 20 Limit |
| offset | integer Default: 0 Offset |
{- "facets": {
- "asset_types": [
- {
- "count": 0,
- "value": "string"
}
], - "providers": [
- {
- "count": 0,
- "value": "string"
}
], - "tags": [
- {
- "count": 0,
- "value": "string"
}
], - "types": {
- "property1": 0,
- "property2": 0
}
}, - "limit": 0,
- "offset": 0,
- "results": [
- {
- "description": "string",
- "id": "string",
- "metadata": { },
- "name": "string",
- "rank": 0,
- "type": "asset",
- "updated_at": "string",
- "url": "string"
}
], - "total": 0
}[- {
- "active": true,
- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "roles": [
- {
- "created_at": "string",
- "deleted_at": "string",
- "description": "string",
- "id": "string",
- "is_system": true,
- "name": "string",
- "permission_keys": [
- "string"
], - "permissions": [
- {
- "action": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "resource_type": "string"
}
], - "updated_at": "string",
- "user_count": 0
}
], - "updated_at": "string"
}
]Create a new service account
Service account
| description | string |
| name | string |
| role_ids | Array of strings |
{- "description": "string",
- "name": "string",
- "role_ids": [
- "string"
]
}{- "active": true,
- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "roles": [
- {
- "created_at": "string",
- "deleted_at": "string",
- "description": "string",
- "id": "string",
- "is_system": true,
- "name": "string",
- "permission_keys": [
- "string"
], - "permissions": [
- {
- "action": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "resource_type": "string"
}
], - "updated_at": "string",
- "user_count": 0
}
], - "updated_at": "string"
}Get a service account by ID
| id required | string Service account ID |
{- "active": true,
- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "roles": [
- {
- "created_at": "string",
- "deleted_at": "string",
- "description": "string",
- "id": "string",
- "is_system": true,
- "name": "string",
- "permission_keys": [
- "string"
], - "permissions": [
- {
- "action": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "resource_type": "string"
}
], - "updated_at": "string",
- "user_count": 0
}
], - "updated_at": "string"
}Update a service account
| id required | string Service account ID |
Update fields
| active | boolean |
| description | string |
| name | string |
| role_ids | Array of strings |
{- "active": true,
- "description": "string",
- "name": "string",
- "role_ids": [
- "string"
]
}{- "active": true,
- "created_at": "string",
- "created_by": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "roles": [
- {
- "created_at": "string",
- "deleted_at": "string",
- "description": "string",
- "id": "string",
- "is_system": true,
- "name": "string",
- "permission_keys": [
- "string"
], - "permissions": [
- {
- "action": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "resource_type": "string"
}
], - "updated_at": "string",
- "user_count": 0
}
], - "updated_at": "string"
}Get all API keys for a service account
| id required | string Service account ID |
[- {
- "created_at": "string",
- "expires_at": "string",
- "id": "string",
- "key": "string",
- "last_used_at": "string",
- "name": "string",
- "service_account_id": "string"
}
]Create a new API key. The plaintext key is only returned once.
| id required | string Service account ID |
API key details
| expires_in_days | integer |
| name | string |
{- "expires_in_days": 0,
- "name": "string"
}{- "created_at": "string",
- "expires_at": "string",
- "id": "string",
- "key": "string",
- "last_used_at": "string",
- "name": "string",
- "service_account_id": "string"
}Processes the OAuth callback from any provider
| provider required | string OAuth provider (okta, google, github, etc.) |
| code required | string Authorization code |
| state required | string State parameter for CSRF protection |
"string"Handles authorization_code grants (with PKCE) and token exchange (RFC 8693). For token-exchange, supported subject_token_type values are urn:ietf:params:oauth:token-type:id_token and urn:ietf:params:oauth:token-type:access_token.
| grant_type required | string authorization_code or urn:ietf:params:oauth:grant-type:token-exchange |
| subject_token | string Token to exchange (token-exchange grant only) |
| subject_token_type | string id_token or access_token URI (token-exchange grant only) |
{- "access_token": "string",
- "expires_in": 0,
- "issued_token_type": "string",
- "token_type": "string"
}Get a list of SSO group to team mappings
| provider | string Filter by SSO provider |
{- "mappings": [
- {
- "created_at": "string",
- "id": "string",
- "member_role": "string",
- "provider": "string",
- "sso_group_name": "string",
- "team_id": "string",
- "updated_at": "string"
}
]
}Create a new SSO group to team mapping
SSO mapping creation request
| member_role | string |
| provider | string |
| sso_group_name | string |
| team_id | string |
{- "member_role": "string",
- "provider": "string",
- "sso_group_name": "string",
- "team_id": "string"
}{- "created_at": "string",
- "id": "string",
- "member_role": "string",
- "provider": "string",
- "sso_group_name": "string",
- "team_id": "string",
- "updated_at": "string"
}Get an SSO team mapping by its ID
| id required | string SSO mapping ID |
{- "created_at": "string",
- "id": "string",
- "member_role": "string",
- "provider": "string",
- "sso_group_name": "string",
- "team_id": "string",
- "updated_at": "string"
}Update an SSO team mapping by its ID
| id required | string SSO mapping ID |
SSO mapping update request
| member_role | string |
| team_id | string |
{- "member_role": "string",
- "team_id": "string"
}{- "message": "string"
}Get a paginated list of teams
| limit | integer Default: 50 Number of items to return |
| offset | integer Default: 0 Number of items to skip |
{- "limit": 0,
- "offset": 0,
- "teams": [
- {
- "created_at": "string",
- "created_by": "string",
- "created_via_sso": true,
- "description": "string",
- "id": "string",
- "metadata": { },
- "name": "string",
- "sso_provider": "string",
- "tags": [
- "string"
], - "updated_at": "string"
}
], - "total": 0
}Create a new team
Team creation request
| description | string |
| name | string |
{- "description": "string",
- "name": "string"
}{- "created_at": "string",
- "created_by": "string",
- "created_via_sso": true,
- "description": "string",
- "id": "string",
- "metadata": { },
- "name": "string",
- "sso_provider": "string",
- "tags": [
- "string"
], - "updated_at": "string"
}Get a team by its ID
| id required | string Team ID |
{- "created_at": "string",
- "created_by": "string",
- "created_via_sso": true,
- "description": "string",
- "id": "string",
- "metadata": { },
- "name": "string",
- "sso_provider": "string",
- "tags": [
- "string"
], - "updated_at": "string"
}Update a team's fields by its ID
| id required | string Team ID |
Team update request
| description | string |
object | |
| name | string |
| tags | Array of strings |
{- "description": "string",
- "metadata": { },
- "name": "string",
- "tags": [
- "string"
]
}{- "message": "string"
}Get the members of a team
| id required | string Team ID |
{- "members": [
- {
- "email": "string",
- "id": "string",
- "joined_at": "string",
- "name": "string",
- "profile_picture": "string",
- "role": "string",
- "source": "string",
- "sso_provider": "string",
- "team_id": "string",
- "user_id": "string",
- "username": "string"
}
]
}Add a user as a member of a team
| id required | string Team ID |
Member addition request
| role | string |
| user_id | string |
{- "role": "string",
- "user_id": "string"
}{- "message": "string"
}Update the role of a team member
| id required | string Team ID |
| userId required | string User ID |
Role update request
| role | string |
{- "role": "string"
}{- "message": "string"
}{- "allow_unencrypted": true,
- "banner": {
- "dismissible": true,
- "enabled": true,
- "id": "string",
- "message": "string",
- "variant": "string"
}, - "default_language": "string",
- "encryption_configured": true,
- "table_preview_enabled": true
}Get a list of users with optional filtering
| limit | integer Default: 50 Number of items to return |
| offset | integer Default: 0 Number of items to skip |
| query | string Search query for username or email |
| role_ids | Array of strings Filter by role IDs |
| active | boolean Filter by active status |
{- "limit": 0,
- "offset": 0,
- "total": 0,
- "users": [
- {
- "active": true,
- "created_at": "string",
- "id": "string",
- "identities": [
- {
- "created_at": "string",
- "id": "string",
- "provider": "string",
- "provider_data": { },
- "provider_email": "string",
- "provider_user_id": "string",
- "updated_at": "string",
- "user_id": "string"
}
], - "must_change_password": true,
- "name": "string",
- "preferences": { },
- "profile_picture": "string",
- "roles": [
- {
- "description": "string",
- "id": "string",
- "name": "string",
- "permissions": [
- {
- "action": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "resource_type": "string"
}
]
}
], - "sessions_invalidated_at": "string",
- "updated_at": "string",
- "username": "string"
}
]
}Create a new user in the system
User creation request
| name required | string |
| oauth_provider | string |
object | |
| oauth_provider_id | string |
| password | string >= 8 characters |
| profile_picture | string |
| role_names required | Array of strings non-empty |
| username required | string [ 3 .. 255 ] characters |
{- "name": "string",
- "oauth_provider": "string",
- "oauth_provider_data": { },
- "oauth_provider_id": "string",
- "password": "stringst",
- "profile_picture": "string",
- "role_names": [
- "string"
], - "username": "string"
}{- "active": true,
- "created_at": "string",
- "id": "string",
- "identities": [
- {
- "created_at": "string",
- "id": "string",
- "provider": "string",
- "provider_data": { },
- "provider_email": "string",
- "provider_user_id": "string",
- "updated_at": "string",
- "user_id": "string"
}
], - "must_change_password": true,
- "name": "string",
- "preferences": { },
- "profile_picture": "string",
- "roles": [
- {
- "description": "string",
- "id": "string",
- "name": "string",
- "permissions": [
- {
- "action": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "resource_type": "string"
}
]
}
], - "sessions_invalidated_at": "string",
- "updated_at": "string",
- "username": "string"
}Get detailed information about a specific user
| id required | string User ID |
{- "active": true,
- "created_at": "string",
- "id": "string",
- "identities": [
- {
- "created_at": "string",
- "id": "string",
- "provider": "string",
- "provider_data": { },
- "provider_email": "string",
- "provider_user_id": "string",
- "updated_at": "string",
- "user_id": "string"
}
], - "must_change_password": true,
- "name": "string",
- "preferences": { },
- "profile_picture": "string",
- "roles": [
- {
- "description": "string",
- "id": "string",
- "name": "string",
- "permissions": [
- {
- "action": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "resource_type": "string"
}
]
}
], - "sessions_invalidated_at": "string",
- "updated_at": "string",
- "username": "string"
}Update user information
| id required | string User ID |
User update request
| active | boolean |
string | |
| name | string |
| password | string >= 8 characters |
object | |
| profile_picture | string |
| role_names | Array of strings non-empty |
{- "active": true,
- "email": "string",
- "name": "string",
- "password": "stringst",
- "preferences": { },
- "profile_picture": "string",
- "role_names": [
- "string"
]
}{- "active": true,
- "created_at": "string",
- "id": "string",
- "identities": [
- {
- "created_at": "string",
- "id": "string",
- "provider": "string",
- "provider_data": { },
- "provider_email": "string",
- "provider_user_id": "string",
- "updated_at": "string",
- "user_id": "string"
}
], - "must_change_password": true,
- "name": "string",
- "preferences": { },
- "profile_picture": "string",
- "roles": [
- {
- "description": "string",
- "id": "string",
- "name": "string",
- "permissions": [
- {
- "action": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "resource_type": "string"
}
]
}
], - "sessions_invalidated_at": "string",
- "updated_at": "string",
- "username": "string"
}Create a new API key for a user
API key creation request
| expires_in_days | integer |
| name required | string |
{- "expires_in_days": 0,
- "name": "string"
}{- "created_at": "string",
- "expires_at": "string",
- "id": "string",
- "key": "string",
- "last_used_at": "string",
- "name": "string",
- "user_id": "string"
}Authenticate a user with username/email and password
Login credentials
| password required | string |
| username required | string |
{- "password": "string",
- "username": "string"
}{- "access_token": "string",
- "expires_in": 0,
- "requires_password_change": true,
- "token_type": "string"
}Get detailed information about the currently authenticated user
{- "active": true,
- "created_at": "string",
- "id": "string",
- "identities": [
- {
- "created_at": "string",
- "id": "string",
- "provider": "string",
- "provider_data": { },
- "provider_email": "string",
- "provider_user_id": "string",
- "updated_at": "string",
- "user_id": "string"
}
], - "must_change_password": true,
- "name": "string",
- "preferences": { },
- "profile_picture": "string",
- "roles": [
- {
- "description": "string",
- "id": "string",
- "name": "string",
- "permissions": [
- {
- "action": "string",
- "description": "string",
- "id": "string",
- "name": "string",
- "resource_type": "string"
}
]
}
], - "sessions_invalidated_at": "string",
- "updated_at": "string",
- "username": "string"
}Link an OAuth account to an existing user
OAuth account link request
| provider required | string |
| provider_user_id required | string |
| user_id required | string |
required | object |
{- "provider": "string",
- "provider_user_id": "string",
- "user_id": "string",
- "user_info": { }
}{- "error": "string"
}Update preferences for the current user
User preferences
| property name* additional property | any |
{ }{- "error": "string"
}Rejects every token issued to the user before now. Their password and API keys are untouched, so this is the response to a leaked or overexposed token rather than a lost credential.
| id required | string User ID |
{- "error": "string"
}Update current user's password
Password update request
| new_password required | string >= 8 characters |
{- "new_password": "stringst"
}{- "access_token": "string",
- "expires_in": 0,
- "requires_password_change": true,
- "token_type": "string"
}