Environments Manager API
Overview
This document describes the way the Environments Manager API interacts and allows the Environments Manager to transfer applications' information between different OCP environments.
HTTP code responses
Omilia uses conventional HTTP response codes to indicate the success or failure of an API request. In general, codes in the 2xx range indicate success, codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, etc.), and codes in the 5xx range indicate an error with Omilia’s servers (these are rare).
Not all errors map cleanly onto HTTP response codes, however. To understand the source of the error please refer to the list of codes in the documentation.
The Omilia API uses the following error codes:
HTTP Error Codes
Error Code | Meaning |
---|---|
200 | OK Everything worked as expected |
400 | Bad Request The request was unacceptable, often due to missing a required parameter |
401 | Unauthorized No valid API key provided |
402 | Request Failed The parameters were valid but the request failed |
404 | Not Found The requested resource doesn’t exist |
403 | Forbidden Most common example is "No available licenses" |
409 | Conflict The request conflicts with another request (perhaps due to using the same idempotent key) |
422 | Validation error |
429 | Too Many Requests Too many requests hit the API too quickly. We recommend an exponential backoff of your requests |
500, 502, 503, 504 | Server Errors Something went wrong on Omilia’s end |
API Reference
Application Status
Report API version, authentication parameters, and external services status.
GET /envs-manage/api/status
Response Success
{
"version": "1.8.0",
"auth": {
"realm": "master",
"client_id": "ocp",
"url": "https://aws-dev-m.ocp.ai/auth"
},
"server_start_time": "2023-06-20T11:20:50.006064+00:00",
"services_status": { }
}
Bad Request
{
"errors": [
{
"status": 400,
"code": "1022",
"title": "Bad Request",
"detail": "Description too long",
"source": "/body/description",
"meta": { }
}
]
}
Export application
Exports the application.
GET /envs-manager/api/v1/apps/{app_id}/export
Query parameters
Parameter | Type | Required | Description |
---|---|---|---|
| string | yes | The Application ID |
| boolean | no | Select to include NLUs that exist in the target environment in the export. Default is false. |
Response success
"string"
Bad Request
{
"errors": [
{
"status": 400,
"code": "1022",
"title": "Bad Request",
"detail": "Description too long",
"source": "/body/description",
"meta": {}
}
]
}
Validation Error
{
"detail": [
{
"loc": [
"string",
0
],
"msg": "string",
"type": "string"
}
]
}
Promote Application
POST /envs-manager/api/v1/apps/{app_id}/promote
URL parameters
Parameter | Type | Required | Description |
---|---|---|---|
| string | yes | The Application ID |
Response success
{
"data": "string"
}
Bad Request
{
"errors": [
{
"status": 400,
"code": "1022",
"title": "Bad Request",
"detail": "Description too long",
"source": "/body/description",
"meta": {}
}
]
}
Conflict
{
"errors": [
{
"status": 400,
"code": "1022",
"title": "Bad Request",
"detail": "Description too long",
"source": "/body/description",
"meta": {}
}
]
}
Validation Error
{
"detail": [
{
"loc": [
"string",
0
],
"msg": "string",
"type": "string"
}
]
}
Import File
Import an application.
Parameter include_nlu
, defines whether NLUs that exist in target environment are included.
POST /envs-manager/api/v1/apps/import
Body parameters
Parameter | Type | Required | Description |
---|---|---|---|
| string | yes | The application file |
| string | no | Select a name for the application name |
| string | yes | Select the group where the application will be imported |
| boolean | no | Select to include NLUs that exist in the target environment in the import. Default is false. |
Response success
{
"data": "string"
}
Bad Request
{
"errors": [
{
"status": 400,
"code": "1022",
"title": "Bad Request",
"detail": "Description too long",
"source": "/body/description",
"meta": {}
}
]
}
Conflict
{
"data": "string"
}
Validation Error
{
"detail": [
{
"loc": [
"string",
0
],
"msg": "string",
"type": "string"
}
]
}
Get Apps
Gets all the applications.
GET /envs-manager/api/v1/apps/
Response success
[
{
"id": "string",
"created_at": "2023-06-20T12:50:54.362Z",
"updated_at": "2023-06-20T12:50:54.362Z",
"user_id": "string",
"name": "string",
"group": "string",
"component_id": "string",
"sandbox_flowapp_id": "string",
"production_flowapp_id": "string"
}
]
Bad Request
{
"errors": [
{
"status": 400,
"code": "1022",
"title": "Bad Request",
"detail": "Description too long",
"source": "/body/description",
"meta": {}
}
]
}