General information

In this article:

Introduction

The ActivePlatform application programming interfaces (APIs) are defined in the REST style based on HTTP 1.1 [RFC2616] and provide access to resources (data entities) via URL paths. Each request operates via Hypertext Transfer Protocol (HTTP) and makes it easy to use with any programming language.

Audience

This document is intended for research and development engineers who integrate ActivePlatform with external services (online store, provisioning services, and other external systems).
Readers should be familiar with the basic ActivePlatform concepts (see Terms and Definitions) and Operator Control Panel.

Documentation conventions

Formatting

Conventions

Example

Bold

Names of methods, objects, and values of parameters

Payment model:

  • prepay

  • postpay

Italic

Emphasizing terms

Date and time of the Owner creation

Courier

URLs, parameters, and code examples

POST {{base_url}}/api/v3/resellers/{{reseller_id}}

Basic concepts

REST API allows using the following standard HTTP methods: GET, PUT, POST, PATCH, and DELETE (see HTTP request methods). Request and response message bodies use the JavaScript Object Notation (JSON) format. API responses are encoded with UTF-8.

In a method description, {{base_url}} is a path parameter for the URL of the ActivePlatform installation (for example, https://test.activeplatform.com).

Authorization and authentication

Our API supports authorization using the JWT access token. Use the following endpoints to obtain the access token or update it.

Access and refresh tokens can become invalid when the manager account is deactivated, manager roles are synchronized when using SSO, or manager password is reset.

Obtaining access token

XML
POST {{base_url}}/api/v3/sign_in

Body

  • manager’s email

  • password

Request body example:

JSON
{  
    "data":
    {
        "attributes":
        {  
            "email" : {email},
            "password" : {password}        
		}
    }
}

Arguments

Name

Parameter type

Data type

Required/Optional

Description

Content-Type

header

string

required

Media type of the request. Specify the following: application/vnd.api+json

Accept

header

string

required

Supported media types of the answer. Specify the following: application/vnd.api+json

X-Api-Locale

header

string

optional

Specified language for responses/error messages.

Response model

If no errors are encountered, the method returns the access and refresh tokens data. Status: 201 Created.

The access token expires after 15 minutes, and the refresh token expires after 1 day.

Errors

Status

Error text

Comment

401

Invalid authentication credentials for the target resource

  • The request body does not contain email or password/the password is invalid

  • The type or format of the required parameter is invalid

  • Manager specified an email not registered in ActivePlatform at the reseller level (the domain defined in the request URL)

403

You have no rights to view this page

  • Manager is in the Deactivated status

  • API v3 permission is not granted to the manager

Response example
JSON
{
    "access": "eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE3ODY1NDE4MDYsIm1hbmFnZXJfaWQiOjc1NDgsInVpZCI6ImVmODg2MGEzLTI1NzEtNDMyYS05MDEwLThiM2I2OThiNTBhMCJ9.ZcbvWjZ__MYOoKkAxSWIOMAva1kH_k5bakro_0xrP1perecli-B9qLck32Ar1LNKT0JBsrf4U4AvAHWRUg17wjOxsFOjr9O_0CQI3shGkRPZtD_0eIoeUqQqVUNiBwWEwLw0pRbL7N_CqHxLLrfYJw_3Bsaaos4-exXUE1kKicPl2U5ExZDc0MzZjAaRNdNo-VIdMzcTL_IlhIluXfndyknPkhMURMzBp1HBz1pgJiVVO6hI9BKB-hOYllb5W9sa6QyV6C4zF7YJBzrKpE0RTunDtto9ikPcr5jc6NHxmkMOwPt5yrHEx1P-v_dJdwyx6PpqqdOU8UhilEtsxzeunw",
    "access_expires_at": "2026-08-12T13:36:46.000+00:00",
    "refresh": "eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE3ODY2MjczMDYsIm1hbmFnZXJfaWQiOjc1NDgsInVpZCI6IjVmYTAxMGUyLTE5ZjItNGYxNS04OTA4LTU0ZTg1ZGI2M2U2ZCJ9.JjMg0RO_eYaw6EbkziHBaXwhCXEfQG9SasqXDYgPuaqarXe4c9nX6tgcm4zOe00ymY67ws_4Dh4JcQjnTPXS7oL70YfHNQ9XOa5CPX8s7Rmey6twtPDfmp_YlH1I42Kv_wvdNMdmsxbtbP7fZd7-otpxJqhjNLqn_pVMKiAUHb2tOumSkF3UJFWmwzFWq97E6mYdhOCMT8yIRLJTwoVGIEhDnj5p50j6riJTxX8ZlpM7bEyNnM-ZMeZpGUV7w8QiT0HNtG2P4lctY8ObKLiXFSBzX1Oi0Ld5wvD47hmv4IRD2gZnEytpjbcxqD9m-TgPmzKJCIgR4auUTFvjeibLzQ",
    "refresh_expires_at": "2026-08-13T13:21:46.000+00:00"
}

Updating token

XML
POST {{base_url}}/api/v3/refresh

Arguments

Name

Parameter type

Data type

Required/Optional

Description

Content-Type

header

string

required

Media type of the request. Specify the following: application/vnd.api+json

Accept

header

string

required

Supported media types of the answer. Specify the following: application/vnd.api+json

X-Api-Locale

header

string

optional

Specified language for responses/error messages.

X-Refresh-Token

header

string

required

The JWT refresh token value.

Response model

If no errors are encountered, the method returns the updated access and refresh tokens data. Status: 201 Created.

Previously obtained access and refresh tokens are no longer valid.

Errors

Status

Error text

Comment

401

Invalid authentication credentials for the target resource

The JWT_REFRESH_TOKEN is invalid.

Response example
JSON
{
    "access": "eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE3ODY1NDE4MDYsIm1hbmFnZXJfaWQiOjc1NDgsInVpZCI6ImVmODg2MGEzLTI1NzEtNDMyYS05MDEwLThiM2I2OThiNTBhMCJ9.ZcbvWjZ__MYOoKkAxSWIOMAva1kH_k5bakro_0xrP1perecli-B9qLck32Ar1LNKT0JBsrf4U4AvAHWRUg17wjOxsFOjr9O_0CQI3shGkRPZtD_0eIoeUqQqVUNiBwWEwLw0pRbL7N_CqHxLLrfYJw_3Bsaaos4-exXUE1kKicPl2U5ExZDc0MzZjAaRNdNo-VIdMzcTL_IlhIluXfndyknPkhMURMzBp1HBz1pgJiVVO6hI9BKB-hOYllb5W9sa6QyV6C4zF7YJBzrKpE0RTunDtto9ikPcr5jc6NHxmkMOwPt5yrHEx1P-v_dJdwyx6PpqqdOU8UhilEtsxzeunw",
    "access_expires_at": "2026-08-12T13:36:46.000+00:00",
    "refresh": "eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE3ODY2MjczMDYsIm1hbmFnZXJfaWQiOjc1NDgsInVpZCI6IjVmYTAxMGUyLTE5ZjItNGYxNS04OTA4LTU0ZTg1ZGI2M2U2ZCJ9.JjMg0RO_eYaw6EbkziHBaXwhCXEfQG9SasqXDYgPuaqarXe4c9nX6tgcm4zOe00ymY67ws_4Dh4JcQjnTPXS7oL70YfHNQ9XOa5CPX8s7Rmey6twtPDfmp_YlH1I42Kv_wvdNMdmsxbtbP7fZd7-otpxJqhjNLqn_pVMKiAUHb2tOumSkF3UJFWmwzFWq97E6mYdhOCMT8yIRLJTwoVGIEhDnj5p50j6riJTxX8ZlpM7bEyNnM-ZMeZpGUV7w8QiT0HNtG2P4lctY8ObKLiXFSBzX1Oi0Ld5wvD47hmv4IRD2gZnEytpjbcxqD9m-TgPmzKJCIgR4auUTFvjeibLzQ",
    "refresh_expires_at": "2026-08-13T13:21:46.000+00:00"
}

Parameter types

The following types of parameters can be sent in an API request:

  • Path — a part of a request URL. For example, /items/{{item_id}} where {{item_id}} is a path parameter value.

  • Query — an additional parameter of a request URL after ?. For example, /items?id={{item_id}} where id is a query parameter key and {{item_id}} is a query parameter value. Several query parameters should be specified using &. For example, /items?page[size]={{page_size}}&page[number]={{page_number}}.

  • Form — a JSON body of PUT, POST, and PATCH requests for adding or updating data.

  • Header — a header parameter of requests. For example, Content-Type or Accept headers.

Language

The API v3 methods use English for error messages by default, similar to using the header X-Api-Locale: en. Some methods also support Russian. To switch to Russian in error messages, use the header X-Api-Locale: ru.

HTTP status codes

Responses can include one of the standard HTTP status codes, in addition to describing data. HTTP response status codes indicate whether a request has been completed successfully. See the list of HTTP status codes.

Error responses

If a request is completed with an error, the method responds with the corresponding HTTP status code and the error description. Some API v3 methods support the following unified error response model.

Parameter

Description

errors

List of occurred errors


status

HTTP status code


title

HTTP status code short description


detail

Error description in the selected language


source

Information about the sources of the error



pointer

Parameter caused the error