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-mlservices-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: 3.2.0
info:
title: Sensei Machine Learning ML Services 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: MLServices
description: An MLService is a published trained model that provides your organization with the ability to access and reuse previously developed models. A key feature of MLServices is the ability to automate training and scoring on a scheduled basis.
paths:
/mlServices:
get:
tags:
- MLServices
summary: List all filtered MLServices
description: MLServices may be searched by name or tags.
operationId: retrieveMLServices
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: 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 MLServices
content:
application/vnd.adobe.platform.sensei+json;profile=mlServiceListing.v1.json:
schema:
$ref: '#/components/schemas/MLServiceListing'
'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:
- MLServices
summary: Create an MLService
description: Creates a new MLService of an MLInstance
operationId: createMLService
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
requestBody:
description: MLService object that needs to be added. Note that a valid `mlInstanceId` has to be listed in the object.
content:
application/vnd.adobe.platform.sensei+json;profile=mlService.v1.json:
schema:
$ref: '#/components/schemas/MLService'
required: true
responses:
201:
x-summary: Success
description: Creation successful
headers:
Location:
description: URL indicating the location of the created MLService resource
schema:
type: string
content:
application/vnd.adobe.platform.sensei+json;profile=mlService.v1.json:
schema:
$ref: '#/components/schemas/MLService'
'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: {}
x-codegen-request-body-name: mlService
delete:
tags:
- MLServices
summary: Delete all MLServices
description: Deletes all MLServices for provided mlInstanceId
operationId: deleteMLServices
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: mlInstanceId
in: query
description: The mlInstanceId for which MLServices should be deleted
required: true
schema:
type: string
responses:
'200':
x-summary: Success
description: Successful operation
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: {}
404:
x-summary: Not found
description: The resource the client is looking for isn't there.
content: {}
410:
x-summary: Resource gone
description: Resource gone. The requested resource has been permanently removed.
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: {}
503:
x-summary: Service unavailable
description: Service Unavailable. This is an indicator of a potential server overload.
content: {}
/mlServices/{serviceId}:
get:
tags:
- MLServices
summary: Retrieve an MLService
operationId: retrieveMLService
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: serviceId
in: path
description: The identifier of the Sensei Service
required: true
schema:
type: string
responses:
'200':
x-summary: Success
description: MLService object
content:
? ''
: schema:
$ref: '#/components/schemas/MLService'
application/vnd.adobe.platform.sensei+json;profile=mlService.v1.json:
schema:
$ref: '#/components/schemas/MLService'
'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:
- MLServices
summary: Update an MLService
operationId: updateMLService
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: serviceId
in: path
description: The identifier of the Sensei Service
required: true
schema:
type: string
- name: If-Match
in: header
description: Optional header field with ETag value provided by client
schema:
type: string
requestBody:
description: MLService object to be updated
content:
application/vnd.adobe.platform.sensei+json;profile=mlService.v1.json:
schema:
$ref: '#/components/schemas/MLService'
required: true
responses:
'200':
x-summary: Success
description: MLService object
content:
application/vnd.adobe.platform.sensei+json;profile=mlService.v1.json:
schema:
$ref: '#/components/schemas/MLService'
'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: mlService
delete:
tags:
- MLServices
summary: Delete an MLService
operationId: deleteMLService
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: serviceId
in: path
description: The identifier of the Sensei Service
required: true
schema:
type: string
responses:
'200':
x-summary: Success
description: MLService 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)
MLService:
allOf:
- $ref: '#/components/schemas/MLServiceSummary'
- type: object
properties:
tags:
type: object
additionalProperties:
type: string
_links:
type: object
properties:
self:
$ref: '#/components/schemas/LinkObject'
getMLService:
$ref: '#/components/schemas/LinkObject'
deleteMLService:
$ref: '#/components/schemas/LinkObject'
getMLInstance:
$ref: '#/components/schemas/LinkObject'
MLServiceListingLinks:
allOf:
- $ref: '#/components/schemas/PagingNavigationAttributes'
- type: object
properties:
self:
$ref: '#/components/schemas/LinkObject'
createMLInstance:
$ref: '#/components/schemas/LinkObject'
PagingNavigationAttributes:
type: object
properties:
next:
$ref: '#/components/schemas/LinkObject'
page:
$ref: '#/components/schemas/LinkObject'
MLServiceListing:
type: object
properties:
children:
type: array
items:
$ref: '#/components/schemas/MLServiceSummary'
_page:
$ref: '#/components/schemas/PagingInformationAttributes'
_links:
$ref: '#/components/schemas/MLServiceListingLinks'
SenseiApiResponse:
type: object
properties:
type:
type: string
readOnly: true
example: https://platform.adobe.io/data/foundation/ml/problems/illegal-argument
title:
type: string
readOnly: true
example: Illegal Argument
status:
type: integer
format: int32
readOnly: true
example: 400
detail:
type: string
readOnly: true
example: Model specification name must not be empty
additionalDetails:
type: object
additionalProperties:
type: string
MLServiceSummary:
required:
- mlInstanceId
- name
- scoringDataSetId
- scoringSchedule
- scoringTimeframe
type: object
properties:
id:
type: string
readOnly: true
name:
type: string
description:
type: string
mlInstanceId:
type: string
trainingExperimentId:
type: string
trainingExperimentRunId:
type: string
trainingDataSetId:
type: string
trainingTimeframe:
type: integer
format: int32
scoringExperimentId:
type: string
scoringDataSetId:
type: string
scoringTimeframe:
type: integer
format: int32
trainingSchedule:
type: object
properties:
startTime:
type: string
format: datetime
endTime:
type: string
format: datetime
cron:
type: string
scoringSchedule:
type: object
properties:
startTime:
type: string
format: datetime
endTime:
type: string
format: datetime
cron:
type: string
created:
type: string
format: date-time
readOnly: true
createdBy:
type: object
properties:
displayName:
type: string
avatar:
type: string
userId:
type: string
updated:
type: string
format: date-time
readOnly: true
deleted:
type: boolean
default: false
_links:
type: object
properties:
self:
$ref: '#/components/schemas/LinkObject'
PagingInformationAttributes:
type: object
properties:
orderby:
type: strin
# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/adobe-suite/refs/heads/main/openapi/adobe-suite-mlservices-api-openapi.yml