openapi: 3.1.0 info: title: SAP AI Core API description: >- REST API for deploying, managing, and consuming AI models and workflows on SAP Business Technology Platform. Provides endpoints for scenario management, execution orchestration, model serving, and artifact tracking. version: '2.0' contact: name: SAP Support url: https://support.sap.com/ termsOfService: https://www.sap.com/about/legal/terms-of-use.html externalDocs: description: SAP AI Core API Reference url: https://api.sap.com/api/AI_CORE_API/resource servers: - url: https://api.ai.{region}.cfapps.{landscape}.hana.ondemand.com/v2 description: SAP AI Core Production variables: region: description: SAP BTP region default: eu10 landscape: description: SAP BTP landscape default: hana tags: - name: Artifacts description: Model artifacts and dataset management - name: Configurations description: Execution and deployment configurations - name: Deployments description: Model deployment and serving management - name: Executions description: Training execution lifecycle management - name: Scenarios description: AI scenario definitions and metadata security: - oauth2: [] paths: /lm/scenarios: get: operationId: listScenarios summary: Sap List Ai Scenarios description: >- Retrieves all AI scenarios available in the resource group. tags: - Scenarios parameters: - $ref: '#/components/parameters/AIResourceGroup' responses: '200': description: List of scenarios content: application/json: schema: type: object properties: count: type: integer resources: type: array items: $ref: '#/components/schemas/Scenario' examples: Listscenarios200Example: summary: Default listScenarios 200 response x-microcks-default: true value: count: 10 resources: - id: abc123 name: Example Title description: A sample description. createdAt: '2026-01-15T10:30:00Z' modifiedAt: '2026-01-15T10:30:00Z' '401': description: Unauthorized x-microcks-operation: delay: 0 dispatcher: FALLBACK /lm/scenarios/{scenarioId}/versions: get: operationId: listScenarioVersions summary: Sap List Scenario Versions description: >- Retrieves all versions for a specific AI scenario. tags: - Scenarios parameters: - name: scenarioId in: path required: true description: Scenario identifier schema: type: string example: '500123' - $ref: '#/components/parameters/AIResourceGroup' responses: '200': description: List of scenario versions x-microcks-operation: delay: 0 dispatcher: FALLBACK /lm/configurations: get: operationId: listConfigurations summary: Sap List Configurations description: >- Retrieves all configurations for executions and deployments. tags: - Configurations parameters: - $ref: '#/components/parameters/AIResourceGroup' - name: scenarioId in: query description: Filter by scenario ID schema: type: string example: '500123' responses: '200': description: List of configurations content: application/json: schema: type: object properties: count: type: integer resources: type: array items: $ref: '#/components/schemas/Configuration' examples: Listconfigurations200Example: summary: Default listConfigurations 200 response x-microcks-default: true value: count: 10 resources: - id: abc123 name: Example Title scenarioId: '500123' executableId: '500123' parameterBindings: - {} inputArtifactBindings: - {} createdAt: '2026-01-15T10:30:00Z' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createConfiguration summary: Sap Create a Configuration description: >- Creates a new configuration for an execution or deployment. tags: - Configurations parameters: - $ref: '#/components/parameters/AIResourceGroup' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ConfigurationCreate' examples: CreateconfigurationRequestExample: summary: Default createConfiguration request x-microcks-default: true value: name: Example Title scenarioId: '500123' executableId: '500123' parameterBindings: - key: example_value value: example_value inputArtifactBindings: - key: example_value artifactId: '500123' responses: '201': description: Configuration created content: application/json: schema: $ref: '#/components/schemas/Configuration' examples: Createconfiguration201Example: summary: Default createConfiguration 201 response x-microcks-default: true value: id: abc123 name: Example Title scenarioId: '500123' executableId: '500123' parameterBindings: - key: example_value value: example_value inputArtifactBindings: - key: example_value artifactId: '500123' createdAt: '2026-01-15T10:30:00Z' x-microcks-operation: delay: 0 dispatcher: FALLBACK /lm/executions: get: operationId: listExecutions summary: Sap List Executions description: >- Retrieves all training executions in the resource group. tags: - Executions parameters: - $ref: '#/components/parameters/AIResourceGroup' - name: status in: query description: Filter by execution status schema: type: string enum: - PENDING - RUNNING - COMPLETED - DEAD - STOPPED example: PENDING responses: '200': description: List of executions content: application/json: schema: type: object properties: count: type: integer resources: type: array items: $ref: '#/components/schemas/Execution' examples: Listexecutions200Example: summary: Default listExecutions 200 response x-microcks-default: true value: count: 10 resources: - id: abc123 configurationId: '500123' scenarioId: '500123' status: PENDING statusMessage: example_value outputArtifacts: - {} createdAt: '2026-01-15T10:30:00Z' modifiedAt: '2026-01-15T10:30:00Z' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createExecution summary: Sap Create an Execution description: >- Triggers a new training execution using a configuration. tags: - Executions parameters: - $ref: '#/components/parameters/AIResourceGroup' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ExecutionCreate' examples: CreateexecutionRequestExample: summary: Default createExecution request x-microcks-default: true value: configurationId: '500123' responses: '202': description: Execution created content: application/json: schema: $ref: '#/components/schemas/Execution' examples: Createexecution202Example: summary: Default createExecution 202 response x-microcks-default: true value: id: abc123 configurationId: '500123' scenarioId: '500123' status: PENDING statusMessage: example_value outputArtifacts: - id: abc123 name: Example Title kind: model url: https://www.example.com scenarioId: '500123' executionId: '500123' description: A sample description. createdAt: '2026-01-15T10:30:00Z' createdAt: '2026-01-15T10:30:00Z' modifiedAt: '2026-01-15T10:30:00Z' x-microcks-operation: delay: 0 dispatcher: FALLBACK /lm/executions/{executionId}: get: operationId: getExecution summary: Sap Get an Execution description: >- Retrieves details of a specific training execution. tags: - Executions parameters: - name: executionId in: path required: true description: Execution identifier schema: type: string example: '500123' - $ref: '#/components/parameters/AIResourceGroup' responses: '200': description: Execution details content: application/json: schema: $ref: '#/components/schemas/Execution' examples: Getexecution200Example: summary: Default getExecution 200 response x-microcks-default: true value: id: abc123 configurationId: '500123' scenarioId: '500123' status: PENDING statusMessage: example_value outputArtifacts: - id: abc123 name: Example Title kind: model url: https://www.example.com scenarioId: '500123' executionId: '500123' description: A sample description. createdAt: '2026-01-15T10:30:00Z' createdAt: '2026-01-15T10:30:00Z' modifiedAt: '2026-01-15T10:30:00Z' '404': description: Execution not found x-microcks-operation: delay: 0 dispatcher: FALLBACK delete: operationId: deleteExecution summary: Sap Stop an Execution description: >- Stops a running execution or marks it for deletion. tags: - Executions parameters: - name: executionId in: path required: true schema: type: string example: '500123' - $ref: '#/components/parameters/AIResourceGroup' responses: '202': description: Execution stop accepted x-microcks-operation: delay: 0 dispatcher: FALLBACK /lm/deployments: get: operationId: listDeployments summary: Sap List Deployments description: >- Retrieves all model deployments in the resource group. tags: - Deployments parameters: - $ref: '#/components/parameters/AIResourceGroup' responses: '200': description: List of deployments content: application/json: schema: type: object properties: count: type: integer resources: type: array items: $ref: '#/components/schemas/Deployment' examples: Listdeployments200Example: summary: Default listDeployments 200 response x-microcks-default: true value: count: 10 resources: - id: abc123 configurationId: '500123' scenarioId: '500123' status: PENDING deploymentUrl: https://www.example.com createdAt: '2026-01-15T10:30:00Z' modifiedAt: '2026-01-15T10:30:00Z' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createDeployment summary: Sap Create a Deployment description: >- Creates a new model deployment for serving predictions. tags: - Deployments parameters: - $ref: '#/components/parameters/AIResourceGroup' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DeploymentCreate' examples: CreatedeploymentRequestExample: summary: Default createDeployment request x-microcks-default: true value: configurationId: '500123' responses: '202': description: Deployment created content: application/json: schema: $ref: '#/components/schemas/Deployment' examples: Createdeployment202Example: summary: Default createDeployment 202 response x-microcks-default: true value: id: abc123 configurationId: '500123' scenarioId: '500123' status: PENDING deploymentUrl: https://www.example.com createdAt: '2026-01-15T10:30:00Z' modifiedAt: '2026-01-15T10:30:00Z' x-microcks-operation: delay: 0 dispatcher: FALLBACK /lm/artifacts: get: operationId: listArtifacts summary: Sap List Artifacts description: >- Retrieves all artifacts (models, datasets) in the resource group. tags: - Artifacts parameters: - $ref: '#/components/parameters/AIResourceGroup' responses: '200': description: List of artifacts content: application/json: schema: type: object properties: count: type: integer resources: type: array items: $ref: '#/components/schemas/Artifact' examples: Listartifacts200Example: summary: Default listArtifacts 200 response x-microcks-default: true value: count: 10 resources: - id: abc123 name: Example Title kind: model url: https://www.example.com scenarioId: '500123' executionId: '500123' description: A sample description. createdAt: '2026-01-15T10:30:00Z' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createArtifact summary: Sap Register an Artifact description: >- Registers a new artifact (model or dataset) for use in executions and deployments. tags: - Artifacts parameters: - $ref: '#/components/parameters/AIResourceGroup' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ArtifactCreate' examples: CreateartifactRequestExample: summary: Default createArtifact request x-microcks-default: true value: name: Example Title kind: model url: https://www.example.com scenarioId: '500123' description: A sample description. responses: '201': description: Artifact registered content: application/json: schema: $ref: '#/components/schemas/Artifact' examples: Createartifact201Example: summary: Default createArtifact 201 response x-microcks-default: true value: id: abc123 name: Example Title kind: model url: https://www.example.com scenarioId: '500123' executionId: '500123' description: A sample description. createdAt: '2026-01-15T10:30:00Z' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: securitySchemes: oauth2: type: oauth2 flows: clientCredentials: tokenUrl: https://{subdomain}.authentication.{region}.hana.ondemand.com/oauth/token scopes: {} parameters: AIResourceGroup: name: AI-Resource-Group in: header required: true description: The resource group for multi-tenancy isolation schema: type: string default: default schemas: Scenario: type: object properties: id: type: string description: Unique scenario identifier example: abc123 name: type: string description: Human-readable scenario name example: Example Title description: type: string description: Scenario description example: A sample description. createdAt: type: string format: date-time description: Creation timestamp example: '2026-01-15T10:30:00Z' modifiedAt: type: string format: date-time description: Last modification timestamp example: '2026-01-15T10:30:00Z' Configuration: type: object properties: id: type: string description: Configuration identifier example: abc123 name: type: string description: Configuration name example: Example Title scenarioId: type: string description: Associated scenario ID example: '500123' executableId: type: string description: Associated executable ID example: '500123' parameterBindings: type: array items: $ref: '#/components/schemas/ParameterBinding' example: [] inputArtifactBindings: type: array items: $ref: '#/components/schemas/ArtifactBinding' example: [] createdAt: type: string format: date-time example: '2026-01-15T10:30:00Z' ConfigurationCreate: type: object required: - name - scenarioId - executableId properties: name: type: string example: Example Title scenarioId: type: string example: '500123' executableId: type: string example: '500123' parameterBindings: type: array items: $ref: '#/components/schemas/ParameterBinding' example: [] inputArtifactBindings: type: array items: $ref: '#/components/schemas/ArtifactBinding' example: [] ParameterBinding: type: object properties: key: type: string description: Parameter name example: example_value value: type: string description: Parameter value example: example_value ArtifactBinding: type: object properties: key: type: string description: Input artifact key example: example_value artifactId: type: string description: Artifact identifier example: '500123' Execution: type: object properties: id: type: string description: Execution identifier example: abc123 configurationId: type: string description: Configuration used for this execution example: '500123' scenarioId: type: string description: Associated scenario example: '500123' status: type: string description: Current execution status enum: - PENDING - RUNNING - COMPLETED - DEAD - STOPPED - UNKNOWN example: PENDING statusMessage: type: string description: Human-readable status message example: example_value outputArtifacts: type: array items: $ref: '#/components/schemas/Artifact' example: [] createdAt: type: string format: date-time example: '2026-01-15T10:30:00Z' modifiedAt: type: string format: date-time example: '2026-01-15T10:30:00Z' ExecutionCreate: type: object required: - configurationId properties: configurationId: type: string description: Configuration to use for the execution example: '500123' Deployment: type: object properties: id: type: string description: Deployment identifier example: abc123 configurationId: type: string description: Configuration used for this deployment example: '500123' scenarioId: type: string description: Associated scenario example: '500123' status: type: string description: Current deployment status enum: - PENDING - RUNNING - COMPLETED - DEAD - STOPPED - UNKNOWN example: PENDING deploymentUrl: type: string format: uri description: URL for sending inference requests example: https://www.example.com createdAt: type: string format: date-time example: '2026-01-15T10:30:00Z' modifiedAt: type: string format: date-time example: '2026-01-15T10:30:00Z' DeploymentCreate: type: object required: - configurationId properties: configurationId: type: string description: Configuration to use for the deployment example: '500123' Artifact: type: object properties: id: type: string description: Artifact identifier example: abc123 name: type: string description: Artifact name example: Example Title kind: type: string description: Artifact kind enum: - model - dataset - resultset - other example: model url: type: string description: Storage URL for the artifact example: https://www.example.com scenarioId: type: string description: Associated scenario example: '500123' executionId: type: string description: Execution that produced this artifact example: '500123' description: type: string description: Artifact description example: A sample description. createdAt: type: string format: date-time example: '2026-01-15T10:30:00Z' ArtifactCreate: type: object required: - name - kind - url - scenarioId properties: name: type: string example: Example Title kind: type: string enum: - model - dataset - resultset - other example: model url: type: string example: https://www.example.com scenarioId: type: string example: '500123' description: type: string example: A sample description.