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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/immuta-data-source-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
openapi: 3.2.0
info:
title: Immuta Data Marketplace Data Source API
description: This is the API for the Immuta Data Marketplace based on the OpenAPI 3.0 specification. The API supports the discovery and management of data products as well as access to those products including both the request and approval process.
version: '1.0'
contact:
name: Support
url: https://support.immuta.com
email: support@immuta.com
termsOfService: https://www.immuta.com/terms-of-service
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: https://{global-segment}.api.immutacloud.com/marketplace
description: Marketplace API Endpoint
variables:
global-segment:
default: na
enum:
- na
- eu
- ap
description: Marketplace API global segment
tags:
- name: Data Source
description: APIs for managing data sources
paths:
/api/data-product/{id}/datasources:
put:
description: Update the data sources associated with the data product. Any currently associated data sources not included in the payload will be removed.
operationId: updateDataSources
parameters:
- name: id
required: true
in: path
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDataSources'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DataProduct'
security:
- bearer: []
summary: Update the data product's data sources
tags:
- Data Source
get:
description: Search all data sources for the data product using the provided filters
operationId: searchDataSources
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: nextToken
required: false
in: query
description: Pagination token to fetch the next page of results
schema:
type: string
- name: limit
required: false
in: query
description: The number of items to return per page
schema:
minimum: 1
maximum: 100
default: 10
type: number
- name: user
required: false
in: query
description: The global user ID to search data source access status for
schema:
format: uuid
type: string
- name: nameFilter
required: false
in: query
description: Data source name to filter by
schema:
default: ''
oneOf:
- type: string
description: Data source name to filter by
- type: string
minLength: 0
maxLength: 0
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedDataSourceWithStatus'
security:
- bearer: []
summary: Search all data sources in the data product
tags:
- Data Source
/api/data-product/{id}/datasources/all:
get:
description: Get all data sources in the data product
operationId: getAllDataSources
parameters:
- name: id
required: true
in: path
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AllDataSources'
security:
- bearer: []
summary: Get all data sources in the data product
tags:
- Data Source
components:
schemas:
PaginatedDataSourceWithStatus:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
format: cuid
name:
type: string
example: Web Sales 2024
type:
type: string
sourceId:
type: string
hostname:
oneOf:
- type: string
description: Data source hostname
description: Data source hostname
database:
oneOf:
- type: string
description: Data source database name
description: Data source database name
schema:
oneOf:
- type: string
description: Data source schema name
description: Data source schema name
table:
oneOf:
- type: string
description: Data source table name
description: Data source table name
prefix:
oneOf:
- type: string
description: The native S3 prefix
description: The native S3 prefix
status:
type: string
enum:
- NONE
- RESTRICTED
- SUBSCRIBED
description: Govern app subscription status
required:
- id
- name
- type
- sourceId
- status
meta:
type: object
properties:
nextToken:
oneOf:
- type: string
description: Pagination token to fetch the next page of results, or null if there are no more pages.
description: Pagination token to fetch the next page of results, or null if there are no more pages.
limit:
default: 10
type: number
minimum: 1
maximum: 100
description: The number of items to return per page
required:
- nextToken
required:
- data
- meta
DataProduct:
type: object
properties:
id:
oneOf:
- type: string
format: cuid
- type: string
format: uuid
name:
type: string
minLength: 1
maxLength: 255
pattern: ^[\p{L}\p{M}\p{N})(\-_/\\\s]*$
description: Data product name
description:
oneOf:
- type: string
description: Data product description
example: All sales records from the current fiscal year
description: Data product description
domains:
type: array
items:
type: string
minItems: 1
example:
- 4d004a3a-4568-4c1d-822e-30958ef898dc
suspended:
type: boolean
description: Whether access to the data product's data sources is suspended
example: false
createdBy:
type: string
format: uuid
description: Immuta global user ID of the user who created the data product
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
status:
type: string
enum:
- APPROVED
- CANCELED
- DENIED
- PENDING
- NONE
- PUBLISHER
- REVOKED
- EXPIRED
example: PENDING
expiration:
oneOf:
- type: string
format: date-time
stats:
type: object
properties:
dataSourceCount:
type: integer
description: Count of data sources in a data product
pendingRequestCount:
type: integer
description: Count of pending requests for a data product
approvedRequestCount:
type: integer
description: Count of approved requests for a data product
revokedRequestCount:
type: integer
description: Count of revoked requests for a data product
canceledRequestCount:
type: integer
description: Count of canceled requests for a data product
deniedRequestCount:
type: integer
description: Count of denied requests for a data product
totalRequestCount:
type: integer
description: Count of total requests for a data product
required:
- dataSourceCount
- pendingRequestCount
- approvedRequestCount
- revokedRequestCount
- canceledRequestCount
- deniedRequestCount
- totalRequestCount
description: Data product statistics
title: Data Product Stats
requestId:
type: string
format: cuid
description: If requested, the ID of the access request for the data product
sourceTypes:
type: array
items:
type: string
description: The types of data sources contained in the data product.
example:
- Databricks
- Redshift
- Snowflake
metadata:
oneOf:
- type: object
properties:
subjectMatterExpert:
type: object
properties:
id:
type: string
format: uuid
description: Immuta global user ID of the subject matter expert for this data product
username:
type: string
name:
type: string
required:
- id
required:
- subjectMatterExpert
dataAccessPolicy:
default:
rules: []
defaultEvent:
type: review
params:
stages:
- any:
- type: PERMISSION
permission: GOVERNANCE
- type: DOMAIN PERMISSION
permission: Manage Data Products
type: object
properties:
version:
type: string
description: Policy schema version
rules:
type: array
items:
type: object
properties:
conditions:
oneOf:
- type: object
properties:
all:
type: array
items: {}
required:
- all
additionalProperties: false
- type: object
properties:
any:
type: array
items: {}
required:
- any
additionalProperties: false
- type: object
properties:
not: {}
required:
- not
additionalProperties: false
event:
discriminator:
propertyName: type
oneOf:
- type: object
properties:
type:
type: string
enum:
- approve
params:
type: object
properties:
comment:
type: string
duration:
type: number
minimum: 1
durationUnit:
type: string
enum:
- HOURS
- DAYS
- WEEKS
- MONTHS
- YEARS
additionalProperties: false
required:
- type
- params
- type: object
properties:
type:
type: string
enum:
- deny
params:
type: object
properties:
comment:
type: string
required:
- type
- params
- type: object
properties:
type:
type: string
enum:
- review
params:
type: object
properties:
stages:
type: array
items:
oneOf:
- type: object
properties:
all:
type: array
items:
oneOf:
- type: object
properties:
type:
type: string
enum:
- USER
description: Entity type
id:
type: string
description: Entity ID
displayName:
type: string
description: Entity display name
required:
- type
- id
- type: object
properties:
type:
type: string
enum:
- GROUP
description: Entity type
id:
type: number
description: Entity ID
iamId:
type: string
description: IAM ID
name:
type: string
description: Entity display name
required:
- type
- name
- type: object
properties:
type:
type: string
enum:
- PERMISSION
permission:
type: string
enum:
- GOVERNANCE
- USER_ADMIN
- AUDIT
description: Global permission
required:
- type
- permission
- type: object
properties:
type:
type: string
enum:
- DOMAIN PERMISSION
permission:
type: string
enum:
- Manage Policies
- Audit Activity
- Manage Data Products
- Manage Identifiers
description: Domain permission
domainId:
type: string
description: Domain ID
required:
- type
- permission
- type: object
properties:
type:
type: string
enum:
- ATTRIBUTE
key:
type: string
description: Attribute key
value:
type: string
description: Attribute value
required:
- type
- key
- value
- type: object
properties:
type:
type: string
enum:
- CATALOG PERMISSION
required:
- type
minItems: 1
required:
- all
- type: object
properties:
any:
type: array
items:
oneOf:
- type: object
properties:
type:
type: string
enum:
- USER
description: Entity type
id:
type: string
description: Entity ID
displayName:
type: string
description: Entity display name
required:
- type
- id
- type: object
properties:
type:
type: string
enum:
- GROUP
description: Entity type
id:
type: number
description: Entity ID
iamId:
type: string
description: IAM ID
name:
type: string
description: Entity display name
required:
- type
- name
- type: object
properties:
type:
type: string
enum:
- PERMISSION
permission:
type: string
enum:
- GOVERNANCE
- USER_ADMIN
- AUDIT
description: Global permission
required:
- type
- permission
- type: object
properties:
type:
type: string
enum:
- DOMAIN PERMISSION
permission:
type: string
enum:
- Manage Policies
- Audit Activity
- Manage Data Products
- Manage Identifiers
description: Domain permission
domainId:
type: string
description: Domain ID
required:
- type
- permission
- type: object
properties:
type:
type: string
enum:
- ATTRIBUTE
key:
type: string
description: Attribute key
value:
type: string
description: Attribute value
required:
- type
- key
- value
- type: object
properties:
type:
type: string
enum:
- CATALOG PERMISSION
required:
- type
minItems: 1
required:
- any
description: Array of stages for manual review
required:
- stages
required:
- type
- params
- type: object
properties:
type:
type: string
enum:
- dataProductPolicy
required:
- type
required:
- conditions
- event
defaultEvent:
discriminator:
propertyName: type
oneOf:
- type: object
properties:
type:
type: string
enum:
- approve
params:
type: object
properties:
comment:
type: string
duration:
type: number
minimum: 1
durationUnit:
type: string
enum:
- HOURS
- DAYS
- WEEKS
- MONTHS
- YEARS
additionalProperties: false
required:
- type
- params
- type: object
properties:
type:
type: string
enum:
- review
params:
type: object
properties:
stages:
type: array
items:
oneOf:
- type: object
properties:
all:
type: array
items:
oneOf:
- type: object
properties:
type:
type: string
enum:
- USER
description: Entity type
id:
type: string
description: Entity ID
displayName:
type: string
description: Entity display name
required:
- type
- id
- type: object
properties:
type:
type: string
enum:
- GROUP
description: Entity type
id:
type: number
description: Entity ID
iamId:
type: string
description: IAM ID
name:
type: string
description: Entity display name
required:
- type
- name
- type: object
properties:
type:
type: string
enum:
- PERMISSION
permission:
type: string
enum:
- GOVERNANCE
- USER_ADMIN
- AUDIT
description: Global permission
required:
- type
- permission
- type: object
properties:
type:
type: string
enum:
- DOMAIN PERMISSION
permission:
type: string
enum:
- Manage Policies
- Audit Activity
- Manage Data Products
- Manage Identifiers
description: Domain permission
domainId:
type: string
description: Domain ID
required:
- type
- permission
- type: object
properties:
type:
type: string
enum:
- ATTRIBUTE
key:
type: string
description: Attribute key
value:
type: string
description: Attribute value
required:
- type
- key
- value
- type: object
properties:
type:
type: string
enum:
- CATALOG PERMISSION
required:
- type
minItems: 1
required:
- all
- type: object
properties:
any:
type: array
items:
oneOf:
- type: object
properties:
type:
type: string
# --- truncated at 32 KB (65 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/immuta/refs/heads/main/openapi/immuta-data-source-api-openapi.yml