Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/adobe-suite-engines-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 email required.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Sensei Machine Learning Engines API
description: "Sensei Machine Learning API provides a mechanism for data scientists to organize and manage ML services from algorithm onboarding through experimentation and to service deployment.\n\nRelated documentation:\n * [Data Science Workspace documentation](http://www.adobe.com/go/data-science-overview-en)\n \nVisualize API calls with Postman (a free, third-party software):\n * [Sensei Machine Learning API Postman collection on GitHub](https://github.com/adobe/experience-platform-postman-samples/blob/master/apis/experience-platform/Sensei%20Machine%20Learning%20API.postman_collection.json)\n * [Video guide for creating the Postman environment](https://video.tv.adobe.com/v/28832)\n * [Steps for importing environments and collections in Postman](https://learning.getpostman.com/docs/postman/collection_runs/using_environments_in_collection_runs/)\n\n\n**API paths**: \n * PLATFORM Gateway URL: https://<span>platform.adobe.io/ \n * Base path for this API: /data/sensei\n * Example of a complete path: https://<span>platform.adobe.io/data/sensei/engines\n\n**Required headers**:\n * All calls require the headers `Authorization`, `x-gw-ims-org-id`, and `x-api-key`. For more information on how to obtain these values, see the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).\n * All resources in Experience Platform are isolated to specific virtual sandboxes. All requests to Platform APIs require the header `x-sandbox-name` whose value is the all-lowercase name of the sandbox the operation will take place in (for example, \"prod\"). See the [sandboxes overview](https://adobe.com/go/sandbox-overview-en) for more information.\n * All requests with a payload in the request body (such as POST, PUT, and PATCH calls) must include the header `Content-Type` with a value of `application/json`. \n \n**API error handling**: \n - Refer to the Experience Platform API troubleshooting guide for [FAQs](https://experienceleague.adobe.com/docs/experience-platform/landing/troubleshooting.html#faq), [API status codes](https://experienceleague.adobe.com/docs/experience-platform/landing/troubleshooting.html#api-status-codes), and [request header errors](https://experienceleague.adobe.com/docs/experience-platform/landing/troubleshooting.html#request-header-errors)."
version: '1.0'
servers:
- url: //{environment}.adobe.io/data/sensei
variables:
environment:
default: platform
enum:
- platform
- platform-stage
tags:
- name: Engines
description: Engines act as an umbrella entity holding all machine learning instances. This is tied to a Docker image, Java archive, or EGG file which contains machine learning logic to train and score a Model.
paths:
/engines:
get:
tags:
- Engines
summary: List all engines
description: Lists all engines providing mechanisms for pagination, filtering, and sorting.
operationId: retrieveEngines
parameters:
- name: x-gw-ims-org-id
in: header
description: The Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the documentation covering making API calls in the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).
required: true
schema:
type: string
- name: x-sandbox-name
in: header
description: The name of the sandbox in which the operation will take place. See the [sandboxes overview documentation](https://adobe.com/go/sandbox-overview-en) for more information.
required: true
schema:
type: string
- name: Authorization
in: header
description: The access token which can be copied from your Experience Platform integration, prefixed with "Bearer " (for example, `Bearer {ACCESS_TOKEN}`). For more information on how to obtain this value, visit the documentation covering making API calls in the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).
required: true
schema:
type: string
- name: x-api-key
in: header
description: The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the documentation covering making API calls in the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).
required: true
schema:
type: string
- name: start
in: query
description: Start value for pagination. Indicates the starting index for the items to return.
schema:
type: string
- name: limit
in: query
description: Limit value for pagination. Indicates the requested number of items to return. The service may return a different number of items than requested.
schema:
maximum: 100
minimum: 0
type: integer
format: int32
default: 25
- name: orderby
in: query
description: Sort order for pagination. Indicates the fields and direction to use for sorting in priority order.
style: form
explode: false
schema:
type: array
items:
type: string
default: '["-updated"]'
- name: property
in: query
description: Property matching expression for filtering paginated results. Indicates the comparison expression that items must match in order to be returned.
style: form
explode: false
schema:
type: array
items:
type: string
responses:
'200':
x-summary: Success
description: List of Engines
content:
application/vnd.adobe.platform.sensei+json;profile=engineListing.v1.json:
schema:
$ref: '#/components/schemas/EngineListing'
'400':
x-summary: Bad request
description: Bad Request. The request is malformed.
content: {}
'401':
x-summary: Unauthorized
description: Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
content: {}
'403':
x-summary: Forbidden
description: Forbidden. That combination of arguments is not allowed.
content: {}
'406':
x-summary: Not acceptable
description: Not Acceptable. Unacceptable content type. The caller sent an <b>Accept</b> header for a content type which does not exist on the server
content: {}
'500':
x-summary: Internal server error
description: There was an internal server error. Try the request again in a few minutes, and contact Adobe Support if the problem persists.
content: {}
'502':
x-summary: Bad gateway
description: Bad Gateway. This is an indicator that the search back-end did not send a valid response.
content: {}
503:
x-summary: Service unavailable
description: Service Unavailable. This is an indicator of a potential server overload.
content: {}
504:
x-summary: Gateway timeout
description: Gateway Timeout. This is an indicator that the search back-end did not complete a response within an allowed time period.
content: {}
post:
tags:
- Engines
summary: Create a new Engine
description: Creates a new Engine
operationId: createEngine
parameters:
- name: x-gw-ims-org-id
in: header
description: The Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the documentation covering making API calls in the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).
required: true
schema:
type: string
- name: x-sandbox-name
in: header
description: The name of the sandbox in which the operation will take place. See the [sandboxes overview documentation](https://adobe.com/go/sandbox-overview-en) for more information.
required: true
schema:
type: string
- name: Authorization
in: header
description: The access token which can be copied from your Experience Platform integration, prefixed with "Bearer " (for example, `Bearer {ACCESS_TOKEN}`). For more information on how to obtain this value, visit the documentation covering making API calls in the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).
required: true
schema:
type: string
- name: x-api-key
in: header
description: The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the documentation covering making API calls in the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).
required: true
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
engine:
type: string
description: Engine entity description
x-content-type: application/vnd.adobe.platform.sensei+json;profile=engine.v1.json
defaultArtifact:
type: string
description: The binary Engine artifact (e.g. JAR, EGG) used for all operations by default
format: binary
x-content-type: application/octet-stream
preprocessOverrideArtifact:
type: string
description: The binary Engine artifact (e.g. JAR, EGG) used for the 'preprocess' operation
format: binary
x-content-type: application/octet-stream
featurePipelineOverrideArtifact:
type: string
description: The binary Engine artifact (e.g. JAR, EGG) used for the 'preprocess' operation
format: binary
x-content-type: application/octet-stream
trainOverrideArtifact:
type: string
description: The binary Engine artifact (e.g. JAR, EGG) used for the 'train' operation
format: binary
x-content-type: application/octet-stream
batchScoreOverrideArtifact:
type: string
description: The binary Engine artifact (e.g. JAR, EGG) used for the 'batchScore' operation
format: binary
x-content-type: application/octet-stream
validateOverrideArtifact:
type: string
description: The binary Engine artifact (e.g. JAR, EGG) used for the 'validate' operation
format: binary
x-content-type: application/octet-stream
evaluateOverrideArtifact:
type: string
description: The binary Engine artifact (e.g. JAR, EGG) used for the 'evaluate' operation
format: binary
x-content-type: application/octet-stream
publishOverrideArtifact:
type: string
description: The binary Engine artifact (e.g. JAR, EGG) used for the 'publish' operation
format: binary
x-content-type: application/octet-stream
responses:
201:
x-summary: Success
description: Creation successful
headers:
Location:
description: URL indicating the location of the created Engine resource
schema:
type: string
content:
application/vnd.adobe.platform.sensei+json;profile=engine.v1.json:
schema:
$ref: '#/components/schemas/Engine'
'400':
x-summary: Bad request
description: Bad Request. The request is malformed.
content: {}
'401':
x-summary: Unauthorized
description: Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
content: {}
'403':
x-summary: Forbidden
description: Forbidden. That combination of arguments is not allowed.
content: {}
'406':
x-summary: Not acceptable
description: Not Acceptable. Unacceptable content type. The caller sent an <b>Accept</b> header for a content type which does not exist on the server
content: {}
415:
x-summary: Unsupported media type
description: Unsupported Media Type. The server refuses to accept the request because the payload format is in an unsupported format.
content: {}
422:
x-summary: Unprocessable entity
description: Unprocessable Entity. Client sent a correct request that contained invalid values for one or more parameters.
content: {}
'500':
x-summary: Internal server error
description: There was an internal server error. Try the request again in a few minutes, and contact Adobe Support if the problem persists.
content: {}
'502':
x-summary: Bad gateway
description: Bad Gateway. This is an indicator that the search back-end did not send a valid response.
content: {}
503:
x-summary: Service unavailable
description: Service Unavailable. This is an indicator of a potential server overload.
content: {}
504:
x-summary: Gateway timeout
description: Gateway Timeout. This is an indicator that the search back-end did not complete a response within an allowed time period.
content: {}
/engines/dockerRegistry:
get:
tags:
- Engines
summary: Get Docker registry information
description: Get Docker registry information
operationId: retrieveDockerRegistryInfo
parameters:
- name: Authorization
in: header
description: The access token which can be copied from your Experience Platform integration, prefixed with "Bearer " (for example, `Bearer {ACCESS_TOKEN}`). For more information on how to obtain this value, visit the documentation covering making API calls in the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).
required: true
schema:
type: string
- name: x-api-key
in: header
description: The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the documentation covering making API calls in the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).
required: true
schema:
type: string
- name: x-gw-ims-org-id
in: header
description: The Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the documentation covering making API calls in the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).
required: true
schema:
type: string
- name: x-sandbox-name
in: header
description: The name of the sandbox in which the operation will take place. See the [sandboxes overview documentation](https://adobe.com/go/sandbox-overview-en) for more information.
required: true
schema:
type: string
responses:
'200':
x-summary: Success
description: Docker Registry Information
content:
application/vnd.adobe.platform.sensei+json;profile=enginesDockerRegistryInfo.v1.json:
schema:
$ref: '#/components/schemas/EnginesDockerRegistryInfo'
'400':
x-summary: Bad request
description: Bad Request. The request is malformed.
content: {}
'401':
x-summary: Unauthorized
description: Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
content: {}
'403':
x-summary: Forbidden
description: Forbidden. That combination of arguments is not allowed.
content: {}
'406':
x-summary: Not acceptable
description: Not Acceptable. Unacceptable content type. The caller sent an <b>Accept</b> header for a content type which does not exist on the server
content: {}
'500':
x-summary: Internal server error
description: There was an internal server error. Try the request again in a few minutes, and contact Adobe Support if the problem persists.
content: {}
'502':
x-summary: Bad gateway
description: Bad Gateway. This is an indicator that the search back-end did not send a valid response.
content: {}
503:
x-summary: Service unavailable
description: Service Unavailable. This is an indicator of a potential server overload.
content: {}
504:
x-summary: Gateway timeout
description: Gateway Timeout. This is an indicator that the search back-end did not complete a response within an allowed time period.
content: {}
/engines/{engineId}:
get:
tags:
- Engines
summary: Retrieve an Engine
description: Retrieves a specific Engine
operationId: retrieveEngine
parameters:
- name: Authorization
in: header
description: The access token which can be copied from your Experience Platform integration, prefixed with "Bearer " (for example, `Bearer {ACCESS_TOKEN}`). For more information on how to obtain this value, visit the documentation covering making API calls in the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).
required: true
schema:
type: string
- name: x-api-key
in: header
description: The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the documentation covering making API calls in the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).
required: true
schema:
type: string
- name: x-gw-ims-org-id
in: header
description: The Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the documentation covering making API calls in the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).
required: true
schema:
type: string
- name: x-sandbox-name
in: header
description: The name of the sandbox in which the operation will take place. See the [sandboxes overview documentation](https://adobe.com/go/sandbox-overview-en) for more information.
required: true
schema:
type: string
- name: engineId
in: path
description: The identifier of the Sensei Engine
required: true
schema:
type: string
responses:
'200':
x-summary: Success
description: Engine object
content:
application/vnd.adobe.platform.sensei+json;profile=engine.v1.json:
schema:
$ref: '#/components/schemas/Engine'
'400':
x-summary: Bad request
description: Bad Request. The request is malformed.
content: {}
'401':
x-summary: Unauthorized
description: Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
content: {}
'403':
x-summary: Forbidden
description: Forbidden. That combination of arguments is not allowed.
content: {}
404:
x-summary: Not found
description: The resource the client is looking for isn't there.
content: {}
'406':
x-summary: Not acceptable
description: Not Acceptable. Unacceptable content type. The caller sent an <b>Accept</b> header for a content type which does not exist on the server
content: {}
'500':
x-summary: Internal server error
description: There was an internal server error. Try the request again in a few minutes, and contact Adobe Support if the problem persists.
content: {}
'502':
x-summary: Bad gateway
description: Bad Gateway. This is an indicator that the search back-end did not send a valid response.
content: {}
503:
x-summary: Service unavailable
description: Service Unavailable. This is an indicator of a potential server overload.
content: {}
504:
x-summary: Gateway timeout
description: Gateway Timeout. This is an indicator that the search back-end did not complete a response within an allowed time period.
content: {}
put:
tags:
- Engines
summary: Update an Engine
description: Updates a specific Engine
operationId: updateEngine
parameters:
- name: Authorization
in: header
description: The access token which can be copied from your Experience Platform integration, prefixed with "Bearer " (for example, `Bearer {ACCESS_TOKEN}`). For more information on how to obtain this value, visit the documentation covering making API calls in the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).
required: true
schema:
type: string
- name: x-api-key
in: header
description: The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the documentation covering making API calls in the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).
required: true
schema:
type: string
- name: x-gw-ims-org-id
in: header
description: The Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the documentation covering making API calls in the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).
required: true
schema:
type: string
- name: x-sandbox-name
in: header
description: The name of the sandbox in which the operation will take place. See the [sandboxes overview documentation](https://adobe.com/go/sandbox-overview-en) for more information.
required: true
schema:
type: string
- name: engineId
in: path
description: The identifier of the Sensei Engine
required: true
schema:
type: string
- name: If-Match
in: header
description: Optional header field with ETag value provided by client
schema:
type: string
- name: Content-Type
in: header
description: application/vnd.adobe.platform.sensei+json;profile=engine.v1.json
required: true
schema:
type: string
requestBody:
description: Engine object to be updated
content:
application/vnd.adobe.platform.sensei+json;profile=engine.v1.json:
schema:
$ref: '#/components/schemas/Engine'
required: true
responses:
'200':
x-summary: Success
description: Engine object
content:
application/vnd.adobe.platform.sensei+json;profile=engine.v1.json:
schema:
$ref: '#/components/schemas/Engine'
'400':
x-summary: Bad request
description: Bad Request. The request is malformed.
content: {}
'401':
x-summary: Unauthorized
description: Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
content: {}
'403':
x-summary: Forbidden
description: Forbidden. That combination of arguments is not allowed.
content: {}
404:
x-summary: Not found
description: The resource the client is looking for isn't there.
content: {}
'406':
x-summary: Not acceptable
description: Not Acceptable. Unacceptable content type. The caller sent an <b>Accept</b> header for a content type which does not exist on the server
content: {}
'500':
x-summary: Internal server error
description: There was an internal server error. Try the request again in a few minutes, and contact Adobe Support if the problem persists.
content: {}
'502':
x-summary: Bad gateway
description: Bad Gateway. This is an indicator that the search back-end did not send a valid response.
content: {}
503:
x-summary: Service unavailable
description: Service Unavailable. This is an indicator of a potential server overload.
content: {}
504:
x-summary: Gateway timeout
description: Gateway Timeout. This is an indicator that the search back-end did not complete a response within an allowed time period.
content: {}
x-codegen-request-body-name: engine
delete:
tags:
- Engines
summary: Delete an existing Engine
description: Deletes a specific Engine
operationId: deleteEngine
parameters:
- name: Authorization
in: header
description: The access token which can be copied from your Experience Platform integration, prefixed with "Bearer " (for example, `Bearer {ACCESS_TOKEN}`). For more information on how to obtain this value, visit the documentation covering making API calls in the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).
required: true
schema:
type: string
- name: x-api-key
in: header
description: The API key which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the documentation covering making API calls in the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).
required: true
schema:
type: string
- name: x-gw-ims-org-id
in: header
description: The Organization ID which can be copied from your Experience Platform integration. For more information on how to obtain this value, visit the documentation covering making API calls in the [authentication tutorial](http://www.adobe.com/go/platform-api-authentication-en).
required: true
schema:
type: string
- name: x-sandbox-name
in: header
description: The name of the sandbox in which the operation will take place. See the [sandboxes overview documentation](https://adobe.com/go/sandbox-overview-en) for more information.
required: true
schema:
type: string
- name: engineId
in: path
description: The identifier of the Sensei Engine
required: true
schema:
type: string
responses:
'200':
x-summary: Success
description: Engine deleted successfully
content:
application/vnd.adobe.platform.sensei+json;profile=api-response.v1.json:
schema:
$ref: '#/components/schemas/SenseiApiResponse'
'400':
x-summary: Bad request
description: Bad Request. The request is malformed.
content: {}
'401':
x-summary: Unauthorized
description: Unauthorized. The request has not been applied because it lacks valid authentication credentials for the target resource.
content: {}
'403':
x-summary: Forbidden
description: Forbidden. That combination of arguments is not allowed.
content: {}
404:
x-summary: Not found
description: The resource the client is looking for isn't there.
content: {}
'406':
x-summary: Not acceptable
description: Not Acceptable. Unacceptable content type. The caller sent an <b>Accept</b> header for a content type which does not exist on the server
content: {}
'500':
x-summary: Internal server error
description: There was an internal server error. Try the request again in a few minutes, and contact Adobe Support if the problem persists.
content: {}
'502':
x-summary: Bad gateway
description: Bad Gateway. This is an indicator that the search back-end did not send a valid response.
content: {}
503:
x-summary: Service unavailable
description: Service Unavailable. This is an indicator of a potential server overload.
content: {}
504:
x-summary: Gateway timeout
description: Gateway Timeout. This is an indicator that the search back-end did not complete a response within an allowed time period.
content: {}
components:
schemas:
LinkObject:
required:
- href
type: object
properties:
href:
type: string
description: Either an URI (RFC3986) or an URI Template (RFC6570) in which case the linkObject SHOULD have a 'templated' attribute whose value is true
templated:
type: boolean
description: True if the link href is templated, false otherwise which is also the default
default: false
type:
type: string
description: A hint to indicate the media type expected when dereferencing the target resource
method:
type: string
description: The HTTP method to be applied when using this link. This should be a valid HTTP method name such as GET, PUT, POST, PATCH, DELETE where GET implies support for HEAD as well
default: GET
title:
type: string
description: A label with a human-readable identifier (as defined by RFC5988)
hrefLang:
type: string
description: The language of the target resource (as defined by RFC5988)
MLEngineArtifact:
required:
- location
- name
- packagingType
type: object
properties:
location:
type: string
reference:
$ref: '#/components/schemas/ArtifactReference'
name:
type: string
executionType:
type: string
packagingType:
type: string
default: docker
enum:
- docker
- jar
- egg
metadata:
type: object
additionalProperties:
type: object
properties: {}
readOnly: true
EngineListing:
type: object
properties:
children:
type: array
items:
$ref: '#/components/schemas/EngineSummary'
_page:
$ref: '#/components/schemas/PagingInformationAttributes'
_links:
$ref: '#/components/schemas/EngineListingLinks'
ArtifactReference:
required:
- artifactId
type: object
properties:
artifactId:
type: string
version:
type: string
PagingNavigationAttributes:
type: object
properties:
next:
$ref: '#/components/schemas/LinkObject'
page:
$ref: '#/components/schemas/LinkObject'
TaskSpec:
required:
- type
type: object
properties:
type:
type: string
enum:
- ContainerTaskSpec
- SparkTaskSpec
description: Refer to Co
# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/adobe-suite/refs/heads/main/openapi/adobe-suite-engines-api-openapi.yml