Skip to main content
Skip table of contents

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

JSON
{
  "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

JSON
{
  "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

app_id

string

yes

The Application ID

include_nlus

boolean

no

Select to include NLUs that exist in the target environment in the export. Default is false.

Response success

JSON
"string"

Bad Request

JSON
{
  "errors": [
    {
      "status": 400,
      "code": "1022",
      "title": "Bad Request",
      "detail": "Description too long",
      "source": "/body/description",
      "meta": {}
    }
  ]
}

Validation Error

JSON
{
  "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

app_id

string

yes

The Application ID

Response success

JSON
{
  "data": "string"
}

Bad Request

JSON
{
  "errors": [
    {
      "status": 400,
      "code": "1022",
      "title": "Bad Request",
      "detail": "Description too long",
      "source": "/body/description",
      "meta": {}
    }
  ]
}

Conflict

JSON
{
  "errors": [
    {
      "status": 400,
      "code": "1022",
      "title": "Bad Request",
      "detail": "Description too long",
      "source": "/body/description",
      "meta": {}
    }
  ]
}

Validation Error

JSON
{
  "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

file

string

yes

The application file

target_app_name

string

no

Select a name for the application name

target_group

string

yes

Select the group where the application will be imported

include_nlu

boolean

no

Select to include NLUs that exist in the target environment in the import. Default is false.

Response success

JSON
{
  "data": "string"
}

Bad Request

JSON
{
  "errors": [
    {
      "status": 400,
      "code": "1022",
      "title": "Bad Request",
      "detail": "Description too long",
      "source": "/body/description",
      "meta": {}
    }
  ]
}

Conflict

JSON
{
  "data": "string"
}

Validation Error

JSON
{
  "detail": [
    {
      "loc": [
        "string",
        0
      ],
      "msg": "string",
      "type": "string"
    }
  ]
}

Get Apps

Gets all the applications.

GET /envs-manager/api/v1/apps/

Response success

JSON
[
  {
    "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

JSON
{
  "errors": [
    {
      "status": 400,
      "code": "1022",
      "title": "Bad Request",
      "detail": "Description too long",
      "source": "/body/description",
      "meta": {}
    }
  ]
}

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.