{
  "openapi": "3.0.0",
  "info": {
    "title": "Splynx API v2.0",
    "description": "The Splynx API v2.0.\nWe follow the RESTful principles, so the API is stateless and http methods and response codes are used whenever possible.\n\nThe url for the requests is: `http://WEB_PATH_TO_YOUR_SPLYNX/api/2.0/`\n\n## Examples\n\nExamples can be found [here](https://bitbucket.org/splynx/splynx-php-api/src/master/examples/)\n\n## Create an API Key\n\nCheck [documentation](https://docs.splynx.com/administration/main/api_keys) about creating an API key. **Note**: don't forget to set permissions for created key!\n\n## Authentication\n\nWe supports three different type of authentication.\n\n1. **Basic authentication** - [Simple unsecure authentication type](#introduction/authentication/basic-authentication)\n\n2. **By signature** - [Authentication by signature (Like in API v1)](#introduction/authentication/by-signature)\n\n3. **Access token** - [By access token](#introduction/authentication/by-access-token)\n\n### Basic authentication\n\nA request should be contains a header field in the form of `Authorization: Basic <credentials>`, where `credentials` is the base64 encoding of api key and api secret joined by a single colon `:`. See more information in wikipedia: https://en.wikipedia.org/wiki/Basic_access_authentication.\n\n##### Attention\n\nFor use this type of authentication you should be also enable **Unsecure access** in your API key settings!\n\n### By signature\n\nA request should be contains a header field in the form of `Authorization: Splynx-EA (key=<key>&nonce=<nonce>&signature=<signature>)`, where:\n\n* `key` - your API key\n\n* `nonce` - Unique id of the request (Basically is a timestamp)\n\n* `signature` - Generated signature by API key and secret.\n\n##### How to generate signature in PHP:\n\n```#!php\n<?php\n$api_key = 'API_KEY';\n$api_secret = 'API_SECRET';\n\n$nonce = round(microtime(true) * 100);\n\n$signature = strtoupper(hash_hmac('sha256', $nonce . $api_key, $api_secret));\n\n$auth_data = array(\n    'key' => $api_key,\n    'signature' => $signature,\n    'nonce' => $nonce++\n);\n\n$auth_string = http_build_query($auth_data);\n\n$header = 'Authorization: Splynx-EA (' . $auth_string . ')';\n\n```\n\n### By Access token\n\nAuthorized requests should be passing an access token inside the `Authorization` header.\nAccess tokens are used for authenticate requests and storing additional info about an user.\nEach token has expiration time of 30 minutes.\nTo generate access token you need to send a request to `/api/2.0/admin/auth/tokens`.\n\n#### Workflow\n\n1. Generating access token.\n\n2. Checking if token expired and if expired then renew token.\n\n3. Sending authorized requests.\n\n#### Generating access token\n\nFor generate access token send a request to `/api/2.0/admin/auth/tokens` with authentication data in request body.\nRequest body should be contain `auth_type` field and other required fields according to `auth_type`.\nFor example you can authenticate like a administrator or customer.\n\n##### List of authentication types\n\n- `admin` Authenticate like a administrator. Required fields: `login`, `password`. If 2fa is enabled then need also send `code` or `fingerprint`. You can send `fingerprint` instead of `code` if your device has been marked as \"trusted\" (See [Trusted devices](#reference/auth/trusted-devices-collection/create-a-trusted-device)).\n\n- `customer` Authenticate like a customer. Required fields: `login`, `password`.\n\n- `api_key` Authenticate by API key. Required fields: `key`, `signature`, `nonce`.\n    `nonce` it's a current timestamp in seconds.\n    Example of generating signature on PHP:\n    ```\n    $nonce = time();\n    $hash = hash_hmac('sha256', $nonce . 'YOUR_API_KEY', 'YOU_API_SECRET');\n    $signature = strtoupper($hash);\n    ```\n\n- `session` Authenticate by user session id. User it's an administrator or customer. Required field: `session`.\n\n##### Generating access token example\n\nThis example shows request for getting access token by administrator info.\nDetailed description of this request can be found here: [Generate acess token](#reference/auth/tokens/generate-access-token).\n\n```\nPOST /api/2.0/admin/auth/tokens\n{\n    \"auth_type\": \"admin\",\n    \"login\": \"splynx\",\n    \"password\": \"q1w2e3\"\n}\n\n\nRESPONSE:\n{\n    \"access_token\": \"2dbf3280cf9sb3b8a7c15201c76b9s1\",\n    \"access_token_expiration\": 1542493076,\n    \"refresh_token\": \"caebf3980cf9fb3b8c7c15501c77b980\",\n    \"refresh_token_expiration\": 1578673076,\n    \"permissions\": []\n}\n```\n\n#### Checking token expiration\n\nIn the response of generating token request you can found the field `access_token_expiration`.\nIt's a timestamp when token will be expired. Before each request need check token expiration time and if token has expired then need renew this token.\nExample of how you can check token expiration:\n\n```\nif (time() + 5 > $access_token_expiration) {\n    renewToken(); // Renewing a token\n}\n\n// All fine, send our authorized requests\nsendYourRequests();\n```\n\n#### Renewing a token\n\nRenewing a token extend the duration of the token. Example:\n\n```\nGET `/api/2.0/admin/auth/tokens/YOUR_REFRESH_TOKEN`\n\nRESPONSE:\n{\n    \"access_token\": \"2dbf3280cf9sb3b8a7c15201c76b9s1\",\n    \"access_token_expiration\": 1542493076,\n    \"refresh_token\": \"caebf3980cf9fb3b8c7c15501c77b980\",\n    \"refresh_token_expiration\": 1578673076\n}\n```\n\nResponse contains information about new token. You need to store this information for future using.\n\n#### Sending authorized requests\n\nAfter generating access token you can send authorized requests to API.\nFor this any request should be passing an access token inside the `Authorization` header.\n\n##### Example of Authorization header:\n\n```\nAuthorization: Splynx-EA (access_token=YOUR_ACCESS_TOKEN)\n```\n\n## Media Types\n\nThis API use JSON format to represent resources.\n\n## Response codes\n\nThe common [HTTP Response Status Codes](https://github.com/for-GET/know-your-http-well/blob/master/status-codes.md) are used.\n\n### Successful codes\n\n- 200 (OK, GET and HEAD methods) - Use for get list objects (or retrieve one object).\n\n- 201 (Created, POST method) - Use for create object\n\n- 202 (Accepted, PUT method) - Use for update object\n\n- 204 (No content, DELETE method) - Use for delete object\n\n### Error handling\n\nThere will be errors when working with the API, and they must be correctly handled on the client.\nStructure of an error response:\n\n```\n{\n    \"error\": {\n        \"message\": \"Method is disabled!\",\n        \"code\": 405,\n        \"internal_code\": \"METHOD_DISABLED\",\n    }\n}\n```\n\nAn error is characterized by several parameters:\n\n#### Message `message`\n\nA string that provide description about an error.\n\n#### HTTP error code `code`\n\nNumerical value similar to HTTP status:\n\n- 400 (Bad request) - Your request can't process by server.\n\n- 401 (Unauthorized) - When you did not specify a valid authorization access token.\n\n- 403 (Forbidden) - When you dont have permission to do action.\n\n- 404 (Not Found) - Requested entity not found.\n\n- 405 (Method Not Allowed) - Calling method is not allowed or you cant do action with object because object belongs to another partner (for example).\n\n- 500 (Internal Server Error) - When a request throws an unexpected error.\n\n#### Internal error code `internal_code`\n\nA string literal in the form of ```/[A-Z_0-9]+/```, which summarizes the problem. For example, `MISSED_AUTHORIZATION_HEADER`.\n\nFull list of error codes:\n\n* `BAD_REQUEST` - Your request can't process by server.\n\n* `UNAUTHORIZED` - You did not specify a valid authorization access token.\n\n* `FORBIDDEN` - You dont have permission to do action.\n\n* `NOT_FOUND` - Requested entity not found.\n\n* `METHOD_NOT_ALLOWED` - Calling method is not allowed.\n\n* `SERVER_ERROR` - A request throws an unexpected error.\n\n* `INVALID_INPUT_DATA` - Input data is invalid. For example required parameter is missing etc.\n\n* `NOT_ALLOWED_BY_PARTNER_RESTRICTION` - Work with an entity not allowed by partners restrictions.\n\n* `NOT_ALLOWED_BY_USER_RESTRICTION` - Work with an entity not allowed by users restrictions. For example when an user try to get sensitive information about another user.\n\n* `METHOD_DISABLED` - A method is disabled for this API entry point.\n\n* `INVALID_TWO_FACTOR_CODE` - Two factor `code` or `fingerprint` is invalid.\n\n* `MISSED_TWO_FACTOR_CODE` - Required two factor `code` or `fingerprint` is missed.\n\n* `EMPTY_ACCESS_TOKEN` - Access token is missed.\n\n* `EXPIRED_ACCESS_TOKEN` - Access token expired.\n\n* `EXPIRED_REFRESH_TOKEN` - Refresh token expired.\n\n* `TOKEN_BANNED` - Token has been banned by server.\n\n* `MISSED_AUTHORIZATION_HEADER` - Required authorization header is missed ([see authentication section](#introduction/authentication)).\n\n* `INVALID_SASH` - Invalid Splynx admin session hash.\n\n* `INVALID_AUTH_TYPE` - Invalid authentication type.\n\n* `INVALID_USER` - Generate token by session_id failed becouse of session user is not supported in API.\n\n* `USER_AGENT_CHANGED` - Trying make request with changed user agent. Generating token and making requests should be use the same user agent.\n\n* `IP_CHANGED` - Trying make request from unknown IP. Generating token and making requests should be do from the same IP address.\n\n* `RESET_PASSWORD_DISABLED` - Resetting customer passwords is disabled in config.\n\n* `RESET_PASSWORD_CODE_INVALID` - Verification code of resetting password is invalid.\n\n* `RESET_PASSWORD_FAIL` - Resetting customer password failed.\n\n* `EXCEEDED_MAX_ATTEMPTS` - Exceeded max attempts of resetting customer password.\n\n* `ENTITY_CANNOT_BE_DELETED` - Selected entity cannot be deleted .\n\n## Search, order, limit, and offset\n\nYou use this options to improve work with API (all of it or any)\n\nExample:\n\n```#!php\n<?php\n\n$params = [\n    'main_attributes' => [\n        'login' => ['LIKE', 'durden'],\n        'partner_id' => ['BETWEEN', 1, 10],\n        'date_add' => date('Y-m-d'),\n        'added_by' => 'api',\n        'location_id' => ['IS', '__EXPRESSION_NULL__'],\n    ],\n    'additional_attributes' => [\n        'sex' => ['IN', ['male', 'female']],\n    ],\n    'order' => [\n        'id' => 'DESC',\n    ],\n    'limit' => 10,\n    'offset' => 20,\n];\n\n$apiUrl = 'admin/customers/customer' . '?' . http_build_query($params);\n\n```\n\nAttention, for IP addresses please use next search example:\n\n```#!php\n<?php\n\n$params = [\n    'main_attributes' => [\n        'ipv4' => inet_pton('172.16.2.254'),\n    ],\n    'limit' => 100,\n];\n\n$apiUrl = 'admin/customers/customer-statistics' . '?' . http_build_query($params);\n$apiUrlOnline = 'admin/customers/customers-online' . '?' . http_build_query($params);\n\n```\n\nAll operators list:\n\n- '='\n\n- '!='\n\n- '>='\n\n- '<='\n\n- '>'\n\n- '<'\n\n- '<>'\n\n- 'IS'\n\n- 'REGEXP'\n\n- 'BETWEEN'\n\n- 'LIKE'\n\n- 'IN'\n\n- 'FIND_IN_SET'\n\nConstants:\n\n- ``__EXPRESSION_NULL__``   \u00e2\u20ac\u201d Is a predefined constant used only in search requests.\n  On the server side, it is converted into a condition that searches for rows where the specified column value is `NULL`.\n\n## Additional fields\n\nFor most models there are additional fields in the \"additional_attributes\" array from response. Example:\n\n```#!php\n{\n    'id' => '1',\n    'partner_id' => '1',\n    'location_id' => '1',\n    'added_by' => 'admin',\n    'added_by_id' => '0',\n    'login' => 'redis',\n    'category' => 'person',\n    'name' => 'Jacques Rice',\n    'email' => 'jfarrell@gmail.com',\n    'billing_email' => '',\n    'phone' => '+9410978741579',\n    'street_1' => '5500 Aniyah DaleLake Hectorborough, IL 66290-3855',\n    'zip_code' => '63572',\n    'city' => 'Farrellmouth',\n    'additional_attributes' =>\n    {\n        'account_holderid' => '',\n        'aesi_branch' => '',\n        'aesi_country' => '',\n        'alternative_contactno' => '',\n        'alternative_contactperson' => '',\n        'booooll' => '0',\n    }\n}\n```\n\nThe additional fields can be updated. To do this you should pass parameters with the \"additional_attributes\" array, in which you should specify the field name to update. Example:\n\n```#!php\n<?php\n\n$params = [\n    'additional_attributes' => [\n        'aesi_branch' => 'test text',\n    ],\n];\n\n$apiUrl = 'admin/customers/customer/1' . '?' . http_build_query($params);\n\n```\n\nYou can also use filter options when search by additional fields: search....\n\n```#!php\n<?php\n\n$params = [\n    'additional_attributes' => [\n        'sex' => ['IN', ['male', 'female']],\n    ],\n    'order' => [\n        'id' => 'DESC',\n    ],\n    'limit' => 10,\n    'offset' => 20,\n];\n\n$apiUrl = 'admin/customers/customer' . '?' . http_build_query($params)\n```\n\n## How to upload files\n\n###Main Rules\n\n1. The maximum file size that can be sent to the server is 20Mb.\n\n2. To send a file, a POST request must be sent with the header **Content-Type: multipart/form-data** specified, the file name and type in MIMI format passed, and the file contents transmitted in encoded format.<br> Multiple files can be sent in a single request.\n\n3. The following types of files can be sent to the server:\n    + images (.jpg, .png, .gif)\n    + pdf files, archives (.zip, .rar, .tar)\n    + Word and Openoffice documents\n    + text files\n    + audio files (.mp3, .wav, .midi)\n    + video files (.mp4, .avi, .3gpp, .mkv)\n\n        [All allowed types](#introduction/how-to-upload-files/allowed-files-types)\n\n### Examples\n\nHere is an examples of how to send files to ticket message by ticket message ID\n\n[How to upload files using PHP](https://bitbucket.org/splynx/splynx-php-api/src/master/examples/v2_upload_file_by_php.php)\n\n[How to upload files using Python](https://bitbucket.org/splynx/splynx-php-api/src/master/examples/v2_upload_file_by_python.py)\n\n[How to upload files using Go](https://bitbucket.org/splynx/splynx-php-api/src/master/examples/v2_upload_file_by_go.go)\n\n### Allowed files types\n\n| **PDF files** |\n| ------- |\n|application/pdf|\n\n| **Text** |\n| ------- |\n|text/plain|\n|text/csv|\n|text/x-csv|\n|inode/x-empty|\n|text/html|\n|text/css|\n\n| **Images** |\n| ------- |\n|image/png|\n|image/gif|\n|image/jpeg|\n|image/heic|\n\n| **Archives** |\n| ------- |\n|application/x-compress|\n|application/zip|\n|application/x-zip-compressed|\n|application/x-rar|\n|application/x-rar-compressed|\n|application/vnd.rar|\n|application/x-tar|\n|application/x-7z-compressed|\n|application/x-lzma|\n\n| **Word documents** |\n| ------- |\n|application/msword|\n|application/vnd.ms-excel|\n|application/vnd.openxmlformats-officedocument.spreadsheetml.sheet|\n|application/vnd.openxmlformats-officedocument.wordprocessingml.document|\n|application/vnd.openxmlformats-officedocument.wordprocessingml.template|\n|application/vnd.ms-word.document.macroEnabled.12|\n|application/vnd.ms-word.template.macroEnabled.12|\n|application/vnd.openxmlformats-officedocument.spreadsheetml.template|\n|application/vnd.ms-excel.sheet.macroEnabled.12|\n|application/vnd.ms-excel.template.macroEnabled.12|\n|application/vnd.ms-excel.addin.macroEnabled.12|\n|application/vnd.ms-excel.sheet.binary.macroEnabled.12|\n|application/vnd.ms-powerpoint|\n|application/vnd.openxmlformats-officedocument.presentationml.presentation|\n|application/vnd.openxmlformats-officedocument.presentationml.template|\n|application/vnd.openxmlformats-officedocument.presentationml.slideshow|\n|application/vnd.ms-powerpoint.addin.macroEnabled.12|\n|application/vnd.ms-powerpoint.presentation.macroEnabled.12|\n|application/vnd.ms-powerpoint.template.macroEnabled.12|\n|application/vnd.ms-powerpoint.slideshow.macroEnabled.12|\n|application/vnd.ms-access|\n|application/vnd.ms-office|\n|application/xml|\n|text/xml|\n\n| **Google docs** |\n| ------- |\n|application/vnd.openxmlformats-officedocument.wordprocessingml.documentapplication/vnd.openxmlformats-officedocument.wordprocessingml.document|\n|application/vnd.openxmlformats-officedocument.spreadsheetml.sheetapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet|\n\n| **Other documents** |\n| ------- |\n|application/CDFV2|\n\n| **Openoffice documents** |\n| ------- |\n|application/vnd.oasis.opendocument.text|\n|application/vnd.oasis.opendocument.text-template|\n|application/vnd.oasis.opendocument.text-web|\n|application/vnd.oasis.opendocument.text-master|\n|application/vnd.oasis.opendocument.graphics|\n|application/vnd.oasis.opendocument.graphics-template|\n|application/vnd.oasis.opendocument.presentation|\n|application/vnd.oasis.opendocument.presentation-template|\n|application/vnd.oasis.opendocument.spreadsheet|\n|application/vnd.oasis.opendocument.spreadsheet-template|\n|application/vnd.oasis.opendocument.chart|\n|application/vnd.oasis.opendocument.formula|\n|application/vnd.oasis.opendocument.database|\n|application/vnd.oasis.opendocument.image|\n|application/vnd.openofficeorg.extension|\n|application/octet-stream|\n\n| **Audio** |\n| ------- |\n|audio/ac3|\n|audio/basic|\n|audio/midi|\n|audio/mpeg|\n|audio/prs.sid|\n|audio/vnd.rn-realaudio|\n|audio/x-aac|\n|audio/x-adpcm|\n|audio/x-aifc|\n|audio/x-aiff|\n|audio/x-aiff|\n|audio/x-aiffc|\n|audio/x-flac|\n|audio/x-m4a|\n|audio/x-mod|\n|audio/x-mp3-playlist|\n|audio/x-mpeg|\n|audio/x-mpegurl|\n|audio/x-ms-asx|\n|audio/x-pn-realaudio|\n|audio/x-pn-realaudio|\n|audio/x-riff|\n|audio/x-s3m|\n|audio/x-scpls|\n|audio/x-scpls|\n|audio/x-stm|\n|audio/x-voc|\n|audio/x-wav|\n|audio/x-xi|\n|audio/x-xmxm|\n|audio/mpeg3|\n|audio/x-mpeg-3|\n\n| **Video** |\n| ------- |\n|video/3gpp|\n|video/dv|\n|video/isivideo|\n|video/mpeg|\n|video/quicktime|\n|video/vivo|\n|video/vnd.rn-realvideo|\n|video/wavelet|\n|video/x-3gpp2|\n|video/x-anim|\n|video/x-avi|\n|video/x-flic|\n|video/x-mng|\n|video/x-ms-asf|\n|video/x-ms-wmv|\n|video/x-msvideo|\n|video/x-nsv|\n|video/x-real-video|\n|video/x-sgi-movie|\n|video/webm|\n|video/mp4|\n|video/mpeg|\n|video/x-mpeg|\n|video/x-matroska|",
    "contact": {},
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://demo.splynx.com/api/2.0",
      "variables": {}
    }
  ],
  "paths": {
    "/portal/services/accept-order": {
      "post": {
        "tags": [
          "Services"
        ],
        "summary": "Accept or pay an order",
        "description": "Accept (approve without payment), pay by gateway, or pay from balance an existing service order on behalf of the authenticated main (LBA) account. Mirrors the website order flow.\n\nThe acting customer is taken from the access token. A main account may act on its own order or on an aggregated sub-account's order awaiting its approval; a sub-account caller is rejected for any `type`.\n\n**Action types (`type`):**\n\n* `accept` — approve the order without payment. Allowed only when the order cannot be paid (the payment gateway is disabled or the order is free, or there are no payment entry points and the balance does not cover the total). Otherwise responds with `INVALID_INPUT_DATA` asking to pay.\n\n* `order_with_payment` — requires `entry_point_id`. Returns `payment_url` (opened in the WebView); the embedded `callback_data` carries the `result_url` the gateway redirects to on completion. Does not change the order.\n\n* `order_with_account_balance` — pays from the account balance; if the balance does not cover the total, responds with `INVALID_INPUT_DATA`. On success returns `result`, `order_id` and `price`.\n\n#### Possible errors\n\n* `INVALID_INPUT_DATA` (422) — validation failed, sub-account caller, order cannot be processed in its current status, accept not allowed because the order is payable, or insufficient balance.\n\n* `BAD_REQUEST` (400) — `entry_point_id` is unknown or not available to the customer.\n\n* `NOT_FOUND` (404) — order does not exist, or does not belong to the caller (returned the same as not-found to prevent id enumeration).\n\n* `FORBIDDEN` (403) — the caller is not a customer.",
        "operationId": "Acceptorpayanorder",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "order_id": {
                    "type": "integer",
                    "description": "Existing order to accept or pay."
                  },
                  "type": {
                    "type": "string",
                    "description": "Action to perform.",
                    "enum": [
                      "accept",
                      "order_with_payment",
                      "order_with_account_balance"
                    ]
                  },
                  "entry_point_id": {
                    "type": "integer",
                    "description": "Payment gateway entry point. Required for `order_with_payment`, not allowed for other types."
                  }
                }
              },
              "example": {
                "order_id": 502,
                "type": "order_with_payment",
                "entry_point_id": 7
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "order_id": {
                      "type": "integer"
                    },
                    "payment_url": {
                      "type": "string",
                      "description": "Gateway URL to open in the WebView. Returned for `order_with_payment`."
                    },
                    "result": {
                      "type": "boolean",
                      "description": "Returned for `order_with_account_balance`."
                    },
                    "price": {
                      "type": "number",
                      "description": "Charged amount. Returned for `order_with_account_balance`."
                    }
                  }
                },
                "example": {
                  "order_id": 502,
                  "payment_url": "/stripe/pay-deposit?amount=60&callback_data[data][order_id]=502&callback_data[data][gateway]=Stripe&callback_data[data][customer_id]=2001&callback_data[customer_id]=2001&callback_data[action_url]=https://my.isp/portal/services/order--callback&callback_data[result_url]=https://my.isp/portal/services/order--result"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/portal/services/reject-sub-order": {
      "post": {
        "tags": [
          "Services"
        ],
        "summary": "Reject a sub-account's service order",
        "description": "Reject a service order placed by an aggregated sub-account, on behalf of the authenticated main account. Available to customer authentication only; administrators cannot use it.\n\nOnly the main account that owns the order may reject it, and only while the order is still awaiting the main account's approval. Field `order_id` selects the order; the optional `note` is shown to the sub-account as the rejection reason.\n\nThe response returns the number of orders still awaiting the main account's approval in `count`.",
        "operationId": "RejectSubOrder",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "order_id"
                ],
                "properties": {
                  "order_id": {
                    "type": "integer",
                    "description": "Id of the sub-account order to reject."
                  },
                  "note": {
                    "type": "string",
                    "description": "Optional rejection reason shown to the sub-account."
                  }
                }
              },
              "example": {
                "order_id": 501,
                "note": "Not needed this month"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Order rejected. `count` is the number of orders still awaiting the main account's approval.",
            "headers": {},
            "content": {
              "application/json": {
                "example": {
                  "result": true,
                  "count": 2
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/portal/services/order": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Get account orders list",
        "description": "Get the list of orders available to the current customer account.\n\nA main (LBA) account additionally receives the orders of its aggregated sub-accounts. A regular or sub account receives only its own orders.\n\nPer service item, `provider_status` is returned when the order is paid or approved by the main account; the order-level `payment_date` is returned only when the order is paid. Otherwise they are omitted.",
        "operationId": "Getaccountorderslist",
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer"
                      },
                      "for_account": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "account_type": {
                            "type": "string",
                            "enum": [
                              "regular",
                              "main",
                              "sub"
                            ]
                          }
                        }
                      },
                      "placed_by": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "account_type": {
                            "type": "string",
                            "enum": [
                              "regular",
                              "main",
                              "sub"
                            ]
                          }
                        }
                      },
                      "created_at": {
                        "type": "string"
                      },
                      "process_with_main_approve": {
                        "type": "boolean"
                      },
                      "status": {
                        "type": "string",
                        "description": "Order status."
                      },
                      "comment": {
                        "type": "string",
                        "description": "Free-text order comment. Holds the main account's rejection note when `status` is `rejected_by_main`; empty otherwise."
                      },
                      "note": {
                        "type": "string",
                        "description": "Note left by the ordering account at checkout; empty when none."
                      },
                      "services": {
                        "type": "object",
                        "description": "Service items grouped by tariff type (internet, voice, recurring, bundle, one_time).",
                        "additionalProperties": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "description": {
                                "type": "string"
                              },
                              "price": {
                                "type": "string",
                                "description": "Localized price (currency + period)."
                              },
                              "provider_status": {
                                "type": "object",
                                "description": "Returned when the order is paid or approved by the main account.",
                                "properties": {
                                  "status": {
                                    "type": "string",
                                    "enum": [
                                      "pending",
                                      "accepted",
                                      "rejected"
                                    ]
                                  },
                                  "updated_at": {
                                    "type": "string"
                                  }
                                }
                              }
                            }
                          }
                        }
                      },
                      "items": {
                        "type": "array",
                        "description": "Raw order line items.",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "integer"
                            },
                            "tariff_type": {
                              "type": "string"
                            },
                            "tariff_id": {
                              "type": "integer"
                            },
                            "service_id": {
                              "type": "integer"
                            },
                            "price": {
                              "type": "number"
                            },
                            "status": {
                              "type": "string"
                            },
                            "auto_renew": {
                              "type": "boolean"
                            }
                          }
                        }
                      },
                      "total_price": {
                        "type": "number"
                      },
                      "payment_date": {
                        "type": "string",
                        "description": "Returned only when the order is paid."
                      }
                    }
                  }
                },
                "example": [
                  {
                    "id": 502,
                    "for_account": {
                      "name": "Main Test",
                      "account_type": "main"
                    },
                    "placed_by": {
                      "name": "Main Test",
                      "account_type": "main"
                    },
                    "created_at": "2026-06-23 10:54:52",
                    "process_with_main_approve": false,
                    "status": "processed",
                    "comment": "",
                    "note": "",
                    "services": {
                      "internet": [
                        {
                          "description": "Internet wireless",
                          "price": "$ 60.00/month",
                          "provider_status": {
                            "status": "accepted",
                            "updated_at": "2026-06-23 10:54:52"
                          }
                        }
                      ]
                    },
                    "items": [
                      {
                        "id": 87,
                        "tariff_type": "internet",
                        "tariff_id": 1,
                        "service_id": 0,
                        "price": 60,
                        "status": "provider_accepted",
                        "auto_renew": true
                      }
                    ],
                    "total_price": 60,
                    "payment_date": "2026-06-23 10:54:52"
                  },
                  {
                    "id": 501,
                    "for_account": {
                      "name": "Sub Test",
                      "account_type": "sub"
                    },
                    "placed_by": {
                      "name": "Sub Test",
                      "account_type": "sub"
                    },
                    "created_at": "2026-06-23 10:50:11",
                    "process_with_main_approve": false,
                    "status": "new",
                    "comment": "",
                    "note": "",
                    "services": {
                      "internet": [
                        {
                          "description": "Internet wireless",
                          "price": "$ 60.00/month"
                        }
                      ]
                    },
                    "items": [
                      {
                        "id": 86,
                        "tariff_type": "internet",
                        "tariff_id": 1,
                        "service_id": 0,
                        "price": 60,
                        "status": "new",
                        "auto_renew": true
                      }
                    ],
                    "total_price": 60
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Services"
        ],
        "summary": "Create a service order",
        "description": "Create a service order from the customer portal.\n\n**Customer authentication only.** This endpoint must be called with customer authentication; administrators are not allowed to use it.\n\nThe order is created for the authenticated customer or, when `sub_id` is provided, for one of the customer's own direct sub-accounts (the sub-account must belong to the authenticated customer).\n\n#### Order types\n\n* `order` - place a plain order without any payment.\n\n* `order_with_payment` - place an order and pay it through a payment gateway. Field `entry_point_id` is required and must reference an available payment entry point. The response returns a `payment_url` to open (for example in a WebView) where the customer completes the payment.\n\n* `order_with_account_balance` - place an order and pay it immediately from the customer's account balance.\n\n#### Services\n\nField `services` is the list of services to order. Each item has a `type` (`internet`, `voice`, `recurring`, `bundle` or `one_time`) and an `id` (the tariff id). Every requested tariff must belong to the customer's orderable set - it must be visible on the customer portal and match the customer's billing type.\n\n#### Notes\n\n* A sub-account may place only a plain `order` for itself and cannot pay.\n\n* When the partner setting \"Accept payment via payment gateway\" is enabled, a non-zero order for a main (non-aggregated) account must be paid: use `order_with_payment` with an `entry_point_id`, or `order_with_account_balance`.\n\n* `entry_point_id` is used only with `order_with_payment` and must not be sent with the other order types.\n\n* For an aggregated sub-account order the response additionally contains `is_aggregated`, indicating the order is created in the \"On main approve\" state and awaits the main account's approval.",
        "operationId": "CreateServiceOrder",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "services",
                  "type"
                ],
                "properties": {
                  "services": {
                    "type": "array",
                    "description": "List of services to order. Each tariff must be available for ordering for the customer.",
                    "items": {
                      "type": "object",
                      "required": [
                        "type",
                        "id"
                      ],
                      "properties": {
                        "type": {
                          "type": "string",
                          "description": "Service type.",
                          "enum": [
                            "internet",
                            "voice",
                            "recurring",
                            "bundle",
                            "one_time"
                          ]
                        },
                        "id": {
                          "type": "integer",
                          "description": "Tariff id."
                        }
                      }
                    }
                  },
                  "type": {
                    "type": "string",
                    "description": "Order type.",
                    "enum": [
                      "order",
                      "order_with_payment",
                      "order_with_account_balance"
                    ]
                  },
                  "sub_id": {
                    "type": "integer",
                    "description": "Optional. A direct sub-account of the authenticated customer to create the order for. When omitted, the order is created for the authenticated customer."
                  },
                  "entry_point_id": {
                    "type": "integer",
                    "description": "Payment entry point id. Required and used only for the `order_with_payment` type; must not be sent for other order types."
                  },
                  "note": {
                    "type": "string",
                    "description": "Optional note attached to the order."
                  }
                }
              },
              "example": {
                "services": [
                  {
                    "type": "internet",
                    "id": 25
                  },
                  {
                    "type": "recurring",
                    "id": 7
                  }
                ],
                "type": "order_with_payment",
                "entry_point_id": 3,
                "note": "Please activate next month"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Order created.\n\nFor the `order` and `order_with_account_balance` types the response contains `result`, the order `id` and the order `price`. For the `order_with_payment` type the response contains `order_id` and `payment_url`.",
            "headers": {},
            "content": {
              "application/json": {
                "example": {
                  "order_id": 142,
                  "payment_url": "https://demo.splynx.com/portal/payments/..."
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/portal/services/order/{id}": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Get a single account order",
        "description": "Get one order available to the current customer account by its id.\n\nA main (LBA) account can additionally fetch the orders of its aggregated sub-accounts. A regular or sub account can fetch only its own orders. An order that does not exist or does not belong to the account returns `404 Not found` (the existence of a foreign order is never revealed).\n\nThe response object has the same shape as one item of the `GET /portal/services/order` list. Per service item, `provider_status` is returned when the order is paid or approved by the main account; the order-level `payment_date` is returned only when the order is paid. Otherwise they are omitted.",
        "operationId": "Getsingleaccountorder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Order id.",
            "schema": {
              "type": "integer",
              "example": 502
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer"
                    },
                    "for_account": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "account_type": {
                          "type": "string",
                          "enum": [
                            "regular",
                            "main",
                            "sub"
                          ]
                        }
                      }
                    },
                    "placed_by": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "type": "string"
                        },
                        "account_type": {
                          "type": "string",
                          "enum": [
                            "regular",
                            "main",
                            "sub"
                          ]
                        }
                      }
                    },
                    "created_at": {
                      "type": "string"
                    },
                    "process_with_main_approve": {
                      "type": "boolean"
                    },
                    "status": {
                      "type": "string",
                      "description": "Order status."
                    },
                    "comment": {
                      "type": "string",
                      "description": "Free-text order comment. Holds the main account's rejection note when `status` is `rejected_by_main`; empty otherwise."
                    },
                    "note": {
                      "type": "string",
                      "description": "Note left by the ordering account at checkout; empty when none."
                    },
                    "services": {
                      "type": "object",
                      "description": "Service items grouped by tariff type (internet, voice, recurring, bundle, one_time).",
                      "additionalProperties": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "description": {
                              "type": "string"
                            },
                            "price": {
                              "type": "string",
                              "description": "Localized price (currency + period)."
                            },
                            "provider_status": {
                              "type": "object",
                              "description": "Returned when the order is paid or approved by the main account.",
                              "properties": {
                                "status": {
                                  "type": "string",
                                  "enum": [
                                    "pending",
                                    "accepted",
                                    "rejected"
                                  ]
                                },
                                "updated_at": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "items": {
                      "type": "array",
                      "description": "Raw order line items.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer"
                          },
                          "tariff_type": {
                            "type": "string"
                          },
                          "tariff_id": {
                            "type": "integer"
                          },
                          "service_id": {
                            "type": "integer"
                          },
                          "price": {
                            "type": "number"
                          },
                          "status": {
                            "type": "string"
                          },
                          "auto_renew": {
                            "type": "boolean"
                          }
                        }
                      }
                    },
                    "total_price": {
                      "type": "number"
                    },
                    "payment_date": {
                      "type": "string",
                      "description": "Returned only when the order is paid."
                    }
                  }
                },
                "example": {
                  "id": 502,
                  "for_account": {
                    "name": "Main Test",
                    "account_type": "main"
                  },
                  "placed_by": {
                    "name": "Main Test",
                    "account_type": "main"
                  },
                  "created_at": "2026-06-23 10:54:52",
                  "process_with_main_approve": false,
                  "status": "processed",
                  "comment": "",
                  "note": "",
                  "services": {
                    "internet": [
                      {
                        "description": "Internet wireless",
                        "price": "$ 60.00/month",
                        "provider_status": {
                          "status": "accepted",
                          "updated_at": "2026-06-23 10:54:52"
                        }
                      }
                    ]
                  },
                  "items": [
                    {
                      "id": 87,
                      "tariff_type": "internet",
                      "tariff_id": 1,
                      "service_id": 0,
                      "price": 60,
                      "status": "provider_accepted",
                      "auto_renew": true
                    }
                  ],
                  "total_price": 60,
                  "payment_date": "2026-06-23 10:54:52"
                }
              }
            }
          },
          "404": {
            "description": "The order does not exist or is not available to the current account.",
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "message": "Not found!",
                    "code": 404,
                    "internal_code": "NOT_FOUND"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/example/entity/endpoint": {
      "get": {
        "tags": [
          "Base requests"
        ],
        "summary": "Get attributes of an entity",
        "description": "This requests available for many of endpoints. Don't forget to replace example endpoint `/example/entity/endpoint` to what you need.Get attributes list of an entity.",
        "operationId": "Getattributesofanentity",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Baseoptionsresponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "name": "module",
                      "title": "Module name",
                      "type": "string",
                      "required": true
                    },
                    {
                      "name": "ip",
                      "title": "Example additional attribute",
                      "type": "string",
                      "required": true,
                      "module": "paypal",
                      "category": 0,
                      "position": 6,
                      "decimals": 2,
                      "is_unique": false,
                      "is_add": false,
                      "show_in_list": true,
                      "searchable": true,
                      "readonly": false,
                      "disabled": false,
                      "hidden": false,
                      "set_default_value": true
                    }
                  ]
                },
                "example": [
                  {
                    "name": "module",
                    "title": "Module name",
                    "type": "string",
                    "required": true
                  },
                  {
                    "name": "ip",
                    "title": "Example additional attribute",
                    "type": "string",
                    "required": true,
                    "module": "paypal",
                    "category": 0,
                    "position": 6,
                    "decimals": 2,
                    "is_unique": false,
                    "is_add": false,
                    "show_in_list": true,
                    "searchable": true,
                    "readonly": false,
                    "disabled": false,
                    "hidden": false,
                    "set_default_value": true
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "head": {
        "tags": [
          "Base requests"
        ],
        "summary": "Check entity endpoint accessibility",
        "description": "Check entity endpoint accessibility",
        "operationId": "CheckentityendpointaccessibilityHead",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "options": {
        "tags": [
          "Base requests"
        ],
        "summary": "List supported HTTP methods for an entity endpoint",
        "description": "List supported HTTP methods for an entity endpoint",
        "operationId": "ListsupportedHTTPmethodsforanentityendpoint",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/auth/tokens": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Generate access token",
        "description": "Work with tokens.Generate new access token by authentication data.\n\n**Attention**\n\nWhen `auth_type` is `admin` and two-factor authentication is enabled you should pass one of these attributes: `code` or `fingerprint`. You can check two-factor authentication status with [this request](#reference/auth/two-factor-authentication/check-status).\n\n**Required attributes by authentication type:**\n\n|             | admin | customer | api_key | session |\n|-------------|:-----:|:--------:|:-------:|:-------:|\n| login       |   +   |     +    |         |         |\n| password    |   +   |     +    |         |         |\n| key         |       |          |    +    |         |\n| signature   |       |          |    +    |         |\n| nonce       |       |          |    +    |         |\n| session_id  |       |          |         |    +    |\n| code        |   *   |          |         |         |\n| fingerprint |   *   |          |         |         |\n\nLabels description:\n\n* `+` Always required.\n\n* `*` One of these attributes is required when two-factor authentication is enabled.\n\n#### Possible errors\n\n* `INVALID_TWO_FACTOR_CODE` - Invalid two-factor `code` or `fingerprint`.\n\n* `MISSED_TWO_FACTOR_CODE` - Missed required two-factor `code` or `fingerprint`.\n\n* `INVALID_AUTH_TYPE` - Invalid authentication type. Allowed types: `admin`, `customer`, `api_key` or `session`.",
        "operationId": "Generateaccesstoken",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Tokenrequestdata"
              },
              "example": {
                "auth_type": "customer",
                "login": "bob",
                "password": "hard_password"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Tokengenerateresponse"
                    },
                    {
                      "example": {
                        "access_token": "2dbf3280cf9sb3b8a7c15201c76b9s1",
                        "access_token_expiration": 1542493076,
                        "refresh_token": "caebf3980cf9fb3b8c7c15501c77b980",
                        "refresh_token_expiration": 1578673076,
                        "permissions": []
                      }
                    }
                  ]
                },
                "example": {
                  "access_token": "2dbf3280cf9sb3b8a7c15201c76b9s1",
                  "access_token_expiration": 1542493076,
                  "refresh_token": "caebf3980cf9fb3b8c7c15501c77b980",
                  "refresh_token_expiration": 1578673076,
                  "permissions": []
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/auth/tokens/{token}": {
      "get": {
        "tags": [
          "Auth"
        ],
        "summary": "Renew token",
        "description": "Work with tokens.Renew expired access token.\n\n#### Possible errors\n\n* `NOT_FOUND` - Refresh token not found.\n\n* `EXPIRED_REFRESH_TOKEN` - Refresh token expired.\n\n* `TOKEN_BANNED` - Refresh token banned by server.\n\n* `USER_AGENT_CHANGED` - Trying make request with changed user agent. Generating token and making requests should be use the same user agent.\n\n* `IP_CHANGED` - Trying make request from unknown IP. Generating token and making requests should be do from the same IP address.",
        "operationId": "Renewtoken",
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "description": "The token string.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2dbf3280cf9sb3b8a7c15201c76b9s1"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Tokenrenewresponse"
                    },
                    {
                      "example": {
                        "access_token": "2dbf3280cf9sb3b8a7c15201c76b9s1",
                        "access_token_expiration": 1542493076,
                        "refresh_token": "caebf3980cf9fb3b8c7c15501c77b980",
                        "refresh_token_expiration": 1578673076
                      }
                    }
                  ]
                },
                "example": {
                  "access_token": "2dbf3280cf9sb3b8a7c15201c76b9s1",
                  "access_token_expiration": 1542493076,
                  "refresh_token": "caebf3980cf9fb3b8c7c15501c77b980",
                  "refresh_token_expiration": 1578673076
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Auth"
        ],
        "summary": "Delete token",
        "description": "Work with tokens.Delete existing token.",
        "operationId": "Deletetoken",
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "description": "The token string.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2dbf3280cf9sb3b8a7c15201c76b9s1"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/auth/trusted-devices": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Create a Trusted device",
        "description": "Creates a new Trusted device. This functionality available only if two-factor authentication is enabled.\nYou can remind a user device after login and during next login you can pass stored fingerprint for login without two-factor code (only for admins authentication).",
        "operationId": "CreateaTrusteddevice",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TrusteddeviceBase"
              },
              "example": {
                "device_type": "mobile",
                "os": "Android",
                "name": "Nexus 5x - Sheduling app",
                "device_id": "goldfish",
                "fingerprint": "google/walleye/walleye:8.1.0/OPM2.171026.006.G1/4820017:user/release-keys"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TrusteddeviceId"
                    },
                    {
                      "example": {
                        "id": 1,
                        "fingerprint": "TPc65HBDLrawo+ik78zuQGefv"
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "fingerprint": "TPc65HBDLrawo+ik78zuQGefv"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Auth"
        ],
        "summary": "List all Trusted devices",
        "description": "Returns a list of your Trusted devices.",
        "operationId": "ListallTrusteddevices",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TrusteddeviceResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "admin_id": 1,
                      "device_type": "mobile",
                      "os": "Android",
                      "name": "Nexus 5x - Sheduling app",
                      "finger_print_cookies": "iIqkQMh381CushYK/iDsIntTAfy",
                      "device_info": {},
                      "added_time": "2019-09-23 14:54:15"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "admin_id": 1,
                    "device_type": "mobile",
                    "os": "Android",
                    "name": "Nexus 5x - Sheduling app",
                    "finger_print_cookies": "iIqkQMh381CushYK/iDsIntTAfy",
                    "device_info": {},
                    "added_time": "2019-09-23 14:54:15"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/auth/trusted-devices/{id}": {
      "get": {
        "tags": [
          "Auth"
        ],
        "summary": "Retrieve a Trusted device",
        "description": "Work with Trusted device.Retrieves the Trusted device with the given ID.",
        "operationId": "RetrieveaTrusteddevice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Trusted device.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TrusteddeviceResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "admin_id": 1,
                        "device_type": "mobile",
                        "os": "Android",
                        "name": "Nexus 5x - Sheduling app",
                        "finger_print_cookies": "iIqkQMh381CushYK/iDsIntTAfy",
                        "device_info": {},
                        "added_time": "2019-09-23 14:54:15"
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "admin_id": 1,
                  "device_type": "mobile",
                  "os": "Android",
                  "name": "Nexus 5x - Sheduling app",
                  "finger_print_cookies": "iIqkQMh381CushYK/iDsIntTAfy",
                  "device_info": {},
                  "added_time": "2019-09-23 14:54:15"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Auth"
        ],
        "summary": "Delete a Trusted device",
        "description": "Work with Trusted device.Delete the Trusted device with the given ID.",
        "operationId": "DeleteaTrusteddevice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Trusted device.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/auth/two-factor-status": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Check status",
        "description": "Work with two-factor authentication.Check if two-factor authentication is enabled.",
        "operationId": "Checkstatus",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TwofactorRequest"
              },
              "example": {
                "login": "admin_login"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TwofactorResponse"
                    },
                    {
                      "example": {
                        "two_factor_enabled": true
                      }
                    }
                  ]
                },
                "example": {
                  "two_factor_enabled": true
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/auth/sessions": {
      "post": {
        "tags": [
          "Auth"
        ],
        "summary": "Create session",
        "description": "Work with Splynx sessions.Create new PHP session by current API user.",
        "operationId": "Createsession",
        "parameters": [
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string",
              "example": "application/json"
            }
          },
          {
            "name": "Authorization",
            "in": "header",
            "description": "",
            "required": true,
            "schema": {
              "enum": [
                "Splynx-EA (access_token=YOUR_ACCESS_TOKEN)"
              ],
              "type": "string",
              "example": "Splynx-EA (access_token=YOUR_ACCESS_TOKEN)"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Createsessionresponse"
                    },
                    {
                      "example": {
                        "session_id": "caebf3980cf9fb3b8c7c15501c77b980",
                        "csrf_token": "1953cbf82dae83fd26e6cc460506fca2"
                      }
                    }
                  ]
                },
                "example": {
                  "session_id": "caebf3980cf9fb3b8c7c15501c77b980",
                  "csrf_token": "1953cbf82dae83fd26e6cc460506fca2"
                }
              }
            }
          }
        },
        "deprecated": false,
        "security": []
      }
    },
    "/admin/api/check": {
      "get": {
        "tags": [
          "Api"
        ],
        "summary": "API Check",
        "description": "Check if the API is working",
        "operationId": "APICheck",
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "description": "The server verification code is used by redis to verify compliance",
            "required": true,
            "schema": {
              "type": "string",
              "example": "64b1b5d42156bfc00435e868bb4e62c1"
            }
          },
          {
            "name": "checkAuth",
            "in": "query",
            "description": "Parameter to determine whether to check the API keys",
            "required": true,
            "schema": {
              "type": "boolean",
              "example": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Checkresponse"
                    },
                    {
                      "example": {
                        "status": "ok",
                        "message": "API is valid",
                        "same_server": false
                      }
                    }
                  ]
                },
                "example": {
                  "status": "ok",
                  "message": "API is valid",
                  "same_server": false
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/dashboard/dashboard": {
      "get": {
        "tags": [
          "Dashboard"
        ],
        "summary": "Get widgets list",
        "description": "Work with admin dashboard widgets.Get enabled admin dashboard widgets list.",
        "operationId": "Getwidgetslist",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Dashboardoptionsresponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "name": "addon_isl_code_widget",
                      "type": "entry_point",
                      "module": "splynx_addon_isl",
                      "placement": "after_content"
                    }
                  ]
                },
                "example": [
                  {
                    "name": "addon_isl_code_widget",
                    "type": "entry_point",
                    "module": "splynx_addon_isl",
                    "placement": "after_content"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "options": {
        "tags": [
          "Dashboard"
        ],
        "summary": "List enabled admin dashboard widgets",
        "description": "Get enabled admin dashboard widgets list (without per-widget data).",
        "operationId": "GetenabledadminwidgetslistOptions",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Dashboardoptionsresponse"
                  }
                },
                "example": [
                  {
                    "name": "addon_isl_code_widget",
                    "type": "entry_point",
                    "module": "splynx_addon_isl",
                    "placement": "after_content"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/portal/dashboard/dashboard": {
      "get": {
        "tags": [
          "Dashboard"
        ],
        "summary": "Portal_Get widgets list",
        "description": "Work with portal dashboard widgets.Get enabled portal dashboard widgets list.",
        "operationId": "Portal_Getwidgetslist",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Dashboardoptionsresponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "name": "addon_isl_code_widget",
                      "type": "entry_point",
                      "module": "splynx_addon_isl",
                      "placement": "after_content"
                    }
                  ]
                },
                "example": [
                  {
                    "name": "addon_isl_code_widget",
                    "type": "entry_point",
                    "module": "splynx_addon_isl",
                    "placement": "after_content"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "options": {
        "tags": [
          "Dashboard"
        ],
        "summary": "List enabled portal dashboard widgets",
        "description": "Get enabled portal dashboard widgets list (without per-widget data).",
        "operationId": "Portal_GetenabledwidgetslistOptions",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Dashboardoptionsresponse"
                  }
                },
                "example": [
                  {
                    "name": "addon_isl_code_widget",
                    "type": "entry_point",
                    "module": "splynx_addon_isl",
                    "placement": "after_content"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/portal/login/entry-points": {
      "get": {
        "tags": [
          "Login"
        ],
        "summary": "List all Entry points",
        "description": "Work with entry points placed on portal login page. Authorization is not required.Get all entry points placed on portal login page.",
        "operationId": "ListallEntrypoints",
        "parameters": [
          {
            "name": "render",
            "in": "query",
            "description": "Get rendered or raw code of entry points",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Entrypointviewresponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 123,
                      "module": "splynx_addon_isl",
                      "place": "portal",
                      "type": "code",
                      "size": "large",
                      "title": "Social registration",
                      "root": "controllers\\portal\\LoginController",
                      "model": "",
                      "icon": "",
                      "background": "",
                      "url": "",
                      "code": "<h3>Widget code</h3>"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 123,
                    "module": "splynx_addon_isl",
                    "place": "portal",
                    "type": "code",
                    "size": "large",
                    "title": "Social registration",
                    "root": "controllers\\portal\\LoginController",
                    "model": "",
                    "icon": "",
                    "background": "",
                    "url": "",
                    "code": "<h3>Widget code</h3>"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "options": {
        "tags": [
          "Login"
        ],
        "summary": "List supported HTTP methods for entry points",
        "description": "List supported HTTP methods for entry points",
        "operationId": "ListsupportedHTTPmethodsforentrypoints",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/tariffs/internet": {
      "post": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Create Internet tariff",
        "description": "Creates new Internet tariff.",
        "operationId": "CreateInternettariff",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InternettariffBase"
              },
              "example": {
                "title": "Aplha",
                "service_name": "aplha",
                "partners_ids": [
                  "1"
                ],
                "price": 100,
                "with_vat": true,
                "vat_percent": 19,
                "speed_download": 102400,
                "speed_upload": 102400,
                "speed_limit_at": 10,
                "aggregation": 1,
                "burst_limit": 0,
                "burst_limit_fixed_down": 0,
                "burst_limit_fixed_up": 0,
                "burst_threshold": 0,
                "burst_threshold_fixed_down": 0,
                "burst_threshold_fixed_up": 0,
                "burst_time": 0,
                "burst_type": [
                  "none",
                  "percent",
                  "fixed"
                ],
                "billing_types": [
                  "recurring",
                  "prepaid",
                  "prepaid_monthly"
                ],
                "customer_categories": [
                  "person",
                  "company"
                ],
                "exclude_traffic_classes": [
                  0
                ],
                "hide_on_admin_portal": false,
                "show_on_customer_portal": false,
                "priority": [
                  "low",
                  "normal",
                  "high"
                ],
                "speed_limit_type": "none",
                "speed_limit_fixed_down": 0,
                "speed_limit_fixed_up": 0,
                "tax_id": 0,
                "transaction_category_id": 0,
                "billing_days_count": 1,
                "custom_period": 1,
                "available_for_services": true,
                "available_for_locations": [
                  1
                ],
                "customer_labels": [
                  1
                ],
                "tariff_labels": [
                  1
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/InternettariffId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Tariffs"
        ],
        "summary": "List all Internet tariffs",
        "description": "Returns list of your Internet tariffs.",
        "operationId": "ListallInternettariffs",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InternettarifflistResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "title": "Aplha",
                      "service_name": "aplha",
                      "partners_ids": [
                        "1"
                      ],
                      "price": 100,
                      "with_vat": true,
                      "vat_percent": 19,
                      "speed_download": 102400,
                      "speed_upload": 102400,
                      "speed_limit_at": 10,
                      "aggregation": 1,
                      "burst_limit": 0,
                      "burst_limit_fixed_down": 0,
                      "burst_limit_fixed_up": 0,
                      "burst_threshold": 0,
                      "burst_threshold_fixed_down": 0,
                      "burst_threshold_fixed_up": 0,
                      "burst_time": 0,
                      "burst_type": [
                        "none",
                        "percent",
                        "fixed"
                      ],
                      "billing_types": [
                        "recurring",
                        "prepaid",
                        "prepaid_monthly"
                      ],
                      "customer_categories": [
                        "person",
                        "company"
                      ],
                      "exclude_traffic_classes": [
                        0
                      ],
                      "hide_on_admin_portal": false,
                      "show_on_customer_portal": false,
                      "priority": [
                        "low",
                        "normal",
                        "high"
                      ],
                      "speed_limit_type": "none",
                      "speed_limit_fixed_down": 0,
                      "speed_limit_fixed_up": 0,
                      "tax_id": 0,
                      "transaction_category_id": 0,
                      "billing_days_count": 1,
                      "custom_period": 1,
                      "available_for_services": true,
                      "available_for_locations": [
                        1
                      ],
                      "customer_labels": [
                        {
                          "id": 1,
                          "label": "Label name",
                          "color": "#357bf2"
                        }
                      ],
                      "id": 1,
                      "services": 0,
                      "tariffs_for_change": [
                        0
                      ],
                      "tariff_labels": [
                        {
                          "id": 1,
                          "label": "Label name",
                          "color": "#357bf2"
                        }
                      ]
                    }
                  ]
                },
                "example": [
                  {
                    "title": "Aplha",
                    "service_name": "aplha",
                    "partners_ids": [
                      "1"
                    ],
                    "price": 100,
                    "with_vat": true,
                    "vat_percent": 19,
                    "speed_download": 102400,
                    "speed_upload": 102400,
                    "speed_limit_at": 10,
                    "aggregation": 1,
                    "burst_limit": 0,
                    "burst_limit_fixed_down": 0,
                    "burst_limit_fixed_up": 0,
                    "burst_threshold": 0,
                    "burst_threshold_fixed_down": 0,
                    "burst_threshold_fixed_up": 0,
                    "burst_time": 0,
                    "burst_type": [
                      "none",
                      "percent",
                      "fixed"
                    ],
                    "billing_types": [
                      "recurring",
                      "prepaid",
                      "prepaid_monthly"
                    ],
                    "customer_categories": [
                      "person",
                      "company"
                    ],
                    "exclude_traffic_classes": [
                      0
                    ],
                    "hide_on_admin_portal": false,
                    "show_on_customer_portal": false,
                    "priority": [
                      "low",
                      "normal",
                      "high"
                    ],
                    "speed_limit_type": "none",
                    "speed_limit_fixed_down": 0,
                    "speed_limit_fixed_up": 0,
                    "tax_id": 0,
                    "transaction_category_id": 0,
                    "billing_days_count": 1,
                    "custom_period": 1,
                    "available_for_services": true,
                    "available_for_locations": [
                      1
                    ],
                    "customer_labels": [
                      {
                        "id": 1,
                        "label": "Label name",
                        "color": "#357bf2"
                      }
                    ],
                    "id": 1,
                    "services": 0,
                    "tariffs_for_change": [
                      0
                    ],
                    "tariff_labels": [
                      {
                        "id": 1,
                        "label": "Label name",
                        "color": "#357bf2"
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/tariffs/internet/{id}": {
      "get": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Retrieve Internet tariff",
        "description": "Work with Internet tariff.Retrieves Internet tariff with the given ID.",
        "operationId": "RetrieveInternettariff",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Internet tariff.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/InternettariffResponse"
                    },
                    {
                      "example": {
                        "title": "Aplha",
                        "service_name": "aplha",
                        "partners_ids": [
                          "1"
                        ],
                        "price": 100,
                        "with_vat": true,
                        "vat_percent": 19,
                        "speed_download": 102400,
                        "speed_upload": 102400,
                        "speed_limit_at": 10,
                        "aggregation": 1,
                        "burst_limit": 0,
                        "burst_limit_fixed_down": 0,
                        "burst_limit_fixed_up": 0,
                        "burst_threshold": 0,
                        "burst_threshold_fixed_down": 0,
                        "burst_threshold_fixed_up": 0,
                        "burst_time": 0,
                        "burst_type": [
                          "none",
                          "percent",
                          "fixed"
                        ],
                        "billing_types": [
                          "recurring",
                          "prepaid",
                          "prepaid_monthly"
                        ],
                        "customer_categories": [
                          "person",
                          "company"
                        ],
                        "exclude_traffic_classes": [
                          0
                        ],
                        "hide_on_admin_portal": false,
                        "show_on_customer_portal": false,
                        "priority": [
                          "low",
                          "normal",
                          "high"
                        ],
                        "speed_limit_type": "none",
                        "speed_limit_fixed_down": 0,
                        "speed_limit_fixed_up": 0,
                        "tax_id": 0,
                        "transaction_category_id": 0,
                        "billing_days_count": 1,
                        "custom_period": 1,
                        "available_for_services": true,
                        "available_for_locations": [
                          1
                        ],
                        "customer_labels": [
                          {
                            "id": 1,
                            "label": "Label name",
                            "color": "#357bf2"
                          }
                        ],
                        "id": 1,
                        "services": 0,
                        "tariff_labels": [
                          {
                            "id": 1,
                            "label": "Label name",
                            "color": "#357bf2"
                          }
                        ]
                      }
                    }
                  ]
                },
                "example": {
                  "title": "Aplha",
                  "service_name": "aplha",
                  "partners_ids": [
                    "1"
                  ],
                  "price": 100,
                  "with_vat": true,
                  "vat_percent": 19,
                  "speed_download": 102400,
                  "speed_upload": 102400,
                  "speed_limit_at": 10,
                  "aggregation": 1,
                  "burst_limit": 0,
                  "burst_limit_fixed_down": 0,
                  "burst_limit_fixed_up": 0,
                  "burst_threshold": 0,
                  "burst_threshold_fixed_down": 0,
                  "burst_threshold_fixed_up": 0,
                  "burst_time": 0,
                  "burst_type": [
                    "none",
                    "percent",
                    "fixed"
                  ],
                  "billing_types": [
                    "recurring",
                    "prepaid",
                    "prepaid_monthly"
                  ],
                  "customer_categories": [
                    "person",
                    "company"
                  ],
                  "exclude_traffic_classes": [
                    0
                  ],
                  "hide_on_admin_portal": false,
                  "show_on_customer_portal": false,
                  "priority": [
                    "low",
                    "normal",
                    "high"
                  ],
                  "speed_limit_type": "none",
                  "speed_limit_fixed_down": 0,
                  "speed_limit_fixed_up": 0,
                  "tax_id": 0,
                  "transaction_category_id": 0,
                  "billing_days_count": 1,
                  "custom_period": 1,
                  "available_for_services": true,
                  "available_for_locations": [
                    1
                  ],
                  "customer_labels": [
                    {
                      "id": 1,
                      "label": "Label name",
                      "color": "#357bf2"
                    }
                  ],
                  "id": 1,
                  "services": 0,
                  "tariff_labels": [
                    {
                      "id": 1,
                      "label": "Label name",
                      "color": "#357bf2"
                    }
                  ]
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Update Internet tariff",
        "description": "Work with Internet tariff.Update Internet tariff with the given ID.",
        "operationId": "UpdateInternettariff",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Internet tariff.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  }
                },
                "example": {
                  "title": "Omega"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Delete Internet tariff",
        "description": "Work with Internet tariff.Delete Internet tariff with the given ID.",
        "operationId": "DeleteInternettariff",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Internet tariff.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/tariffs/voice": {
      "post": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Create Voice tariff",
        "description": "Creates new Voice tariff.",
        "operationId": "CreateVoicetariff",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VoicetariffBase"
              },
              "example": {
                "title": "Aplha",
                "service_name": "aplha",
                "type": "voip",
                "partners_ids": [
                  "1"
                ],
                "price": 100,
                "with_vat": true,
                "vat_percent": 19,
                "billing_types": [
                  "recurring",
                  "prepaid",
                  "prepaid_monthly"
                ],
                "billing_days_count": 1,
                "available_for_locations": [
                  1
                ],
                "buy_price_increase": 0,
                "connection_cost_included": true,
                "customer_categories": [
                  "person",
                  "company"
                ],
                "hide_on_admin_portal": false,
                "show_on_customer_portal": false,
                "tax_id": 0,
                "custom_period": 1,
                "available_for_services": true,
                "customer_labels": [
                  1
                ],
                "tariff_labels": [
                  1
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/VoicetariffId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Tariffs"
        ],
        "summary": "List all Voice tariffs",
        "description": "Returns list of your Voice tariffs.",
        "operationId": "ListallVoicetariffs",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VoicetariffResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "title": "Aplha",
                      "service_name": "aplha",
                      "type": "voip",
                      "partners_ids": [
                        "1"
                      ],
                      "price": 100,
                      "with_vat": true,
                      "vat_percent": 19,
                      "billing_types": [
                        "recurring",
                        "prepaid",
                        "prepaid_monthly"
                      ],
                      "billing_days_count": 1,
                      "available_for_locations": [
                        1
                      ],
                      "buy_price_increase": 0,
                      "connection_cost_included": true,
                      "customer_categories": [
                        "person",
                        "company"
                      ],
                      "hide_on_admin_portal": false,
                      "show_on_customer_portal": false,
                      "tax_id": 0,
                      "custom_period": 1,
                      "available_for_services": true,
                      "customer_labels": [
                        {
                          "id": 1,
                          "label": "Label name",
                          "color": "#357bf2"
                        }
                      ],
                      "id": 1,
                      "tariffs_for_change": [
                        0
                      ],
                      "services": 0,
                      "transaction_category_id": 0,
                      "transaction_category_id_for_calls": 0,
                      "transaction_category_id_for_data": 0,
                      "transaction_category_id_for_messages": 0,
                      "tariff_labels": [
                        {
                          "id": 1,
                          "label": "Label name",
                          "color": "#357bf2"
                        }
                      ]
                    }
                  ]
                },
                "example": [
                  {
                    "title": "Aplha",
                    "service_name": "aplha",
                    "type": "voip",
                    "partners_ids": [
                      "1"
                    ],
                    "price": 100,
                    "with_vat": true,
                    "vat_percent": 19,
                    "billing_types": [
                      "recurring",
                      "prepaid",
                      "prepaid_monthly"
                    ],
                    "billing_days_count": 1,
                    "available_for_locations": [
                      1
                    ],
                    "buy_price_increase": 0,
                    "connection_cost_included": true,
                    "customer_categories": [
                      "person",
                      "company"
                    ],
                    "hide_on_admin_portal": false,
                    "show_on_customer_portal": false,
                    "tax_id": 0,
                    "custom_period": 1,
                    "available_for_services": true,
                    "customer_labels": [
                      {
                        "id": 1,
                        "label": "Label name",
                        "color": "#357bf2"
                      }
                    ],
                    "id": 1,
                    "tariffs_for_change": [
                      0
                    ],
                    "services": 0,
                    "transaction_category_id": 0,
                    "transaction_category_id_for_calls": 0,
                    "transaction_category_id_for_data": 0,
                    "transaction_category_id_for_messages": 0,
                    "tariff_labels": [
                      {
                        "id": 1,
                        "label": "Label name",
                        "color": "#357bf2"
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/tariffs/voice/{id}": {
      "get": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Retrieve Voice tariff",
        "description": "Work with Voice tariff.Retrieves Voice tariff with the given ID.",
        "operationId": "RetrieveVoicetariff",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Voice tariff.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/VoicetariffResponse"
                    },
                    {
                      "example": {
                        "title": "Aplha",
                        "service_name": "aplha",
                        "type": "voip",
                        "partners_ids": [
                          "1"
                        ],
                        "price": 100,
                        "with_vat": true,
                        "vat_percent": 19,
                        "billing_types": [
                          "recurring",
                          "prepaid",
                          "prepaid_monthly"
                        ],
                        "billing_days_count": 1,
                        "available_for_locations": [
                          1
                        ],
                        "buy_price_increase": 0,
                        "connection_cost_included": true,
                        "customer_categories": [
                          "person",
                          "company"
                        ],
                        "hide_on_admin_portal": false,
                        "show_on_customer_portal": false,
                        "tax_id": 0,
                        "custom_period": 1,
                        "available_for_services": true,
                        "customer_labels": [
                          {
                            "id": 1,
                            "label": "Label name",
                            "color": "#357bf2"
                          }
                        ],
                        "id": 1,
                        "tariffs_for_change": [
                          0
                        ],
                        "services": 0,
                        "transaction_category_id": 0,
                        "transaction_category_id_for_calls": 0,
                        "transaction_category_id_for_data": 0,
                        "transaction_category_id_for_messages": 0,
                        "tariff_labels": [
                          {
                            "id": 1,
                            "label": "Label name",
                            "color": "#357bf2"
                          }
                        ]
                      }
                    }
                  ]
                },
                "example": {
                  "title": "Aplha",
                  "service_name": "aplha",
                  "type": "voip",
                  "partners_ids": [
                    "1"
                  ],
                  "price": 100,
                  "with_vat": true,
                  "vat_percent": 19,
                  "billing_types": [
                    "recurring",
                    "prepaid",
                    "prepaid_monthly"
                  ],
                  "billing_days_count": 1,
                  "available_for_locations": [
                    1
                  ],
                  "buy_price_increase": 0,
                  "connection_cost_included": true,
                  "customer_categories": [
                    "person",
                    "company"
                  ],
                  "hide_on_admin_portal": false,
                  "show_on_customer_portal": false,
                  "tax_id": 0,
                  "custom_period": 1,
                  "available_for_services": true,
                  "customer_labels": [
                    {
                      "id": 1,
                      "label": "Label name",
                      "color": "#357bf2"
                    }
                  ],
                  "id": 1,
                  "tariffs_for_change": [
                    0
                  ],
                  "services": 0,
                  "transaction_category_id": 0,
                  "transaction_category_id_for_calls": 0,
                  "transaction_category_id_for_data": 0,
                  "transaction_category_id_for_messages": 0,
                  "tariff_labels": [
                    {
                      "id": 1,
                      "label": "Label name",
                      "color": "#357bf2"
                    }
                  ]
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Update Voice tariff",
        "description": "Work with Voice tariff.Update Voice tariff with the given ID.",
        "operationId": "UpdateVoicetariff",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Voice tariff.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  }
                },
                "example": {
                  "title": "Omega"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Delete Voice tariff",
        "description": "Work with Voice tariff.Delete Voice tariff with the given ID.",
        "operationId": "DeleteVoicetariff",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Voice tariff.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/tariffs/recurring": {
      "post": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Create Recurring tariff",
        "description": "Creates new Recurring tariff.",
        "operationId": "CreateRecurringtariff",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RecurringtariffBase"
              },
              "example": {
                "title": "Aplha",
                "service_name": "aplha",
                "partners_ids": [
                  "1"
                ],
                "price": 100,
                "with_vat": true,
                "vat_percent": 19,
                "billing_types": [
                  "recurring",
                  "prepaid",
                  "prepaid_monthly"
                ],
                "billing_days_count": 1,
                "custom_period": 1,
                "available_for_services": true,
                "available_for_locations": [
                  1
                ],
                "customer_categories": [
                  "person",
                  "company"
                ],
                "customer_labels": [
                  1
                ],
                "hide_on_admin_portal": false,
                "show_on_customer_portal": false,
                "tax_id": 0,
                "tariff_labels": [
                  1
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/RecurringtariffId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Tariffs"
        ],
        "summary": "List all Recurring tariffs",
        "description": "Returns list of your Recurring tariffs.",
        "operationId": "ListallRecurringtariffs",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RecurringtariffResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "title": "Aplha",
                      "service_name": "aplha",
                      "partners_ids": [
                        "1"
                      ],
                      "price": 100,
                      "with_vat": true,
                      "vat_percent": 19,
                      "billing_types": [
                        "recurring",
                        "prepaid",
                        "prepaid_monthly"
                      ],
                      "billing_days_count": 1,
                      "custom_period": 1,
                      "available_for_services": true,
                      "available_for_locations": [
                        1
                      ],
                      "customer_categories": [
                        "person",
                        "company"
                      ],
                      "customer_labels": [
                        {
                          "id": 1,
                          "label": "Label name",
                          "color": "#357bf2"
                        }
                      ],
                      "hide_on_admin_portal": false,
                      "show_on_customer_portal": false,
                      "tax_id": 0,
                      "id": 1,
                      "services": 0,
                      "tariffs_for_change": [
                        0
                      ],
                      "transaction_category_id": 0,
                      "tariff_labels": [
                        {
                          "id": 1,
                          "label": "Label name",
                          "color": "#357bf2"
                        }
                      ]
                    }
                  ]
                },
                "example": [
                  {
                    "title": "Aplha",
                    "service_name": "aplha",
                    "partners_ids": [
                      "1"
                    ],
                    "price": 100,
                    "with_vat": true,
                    "vat_percent": 19,
                    "billing_types": [
                      "recurring",
                      "prepaid",
                      "prepaid_monthly"
                    ],
                    "billing_days_count": 1,
                    "custom_period": 1,
                    "available_for_services": true,
                    "available_for_locations": [
                      1
                    ],
                    "customer_categories": [
                      "person",
                      "company"
                    ],
                    "customer_labels": [
                      {
                        "id": 1,
                        "label": "Label name",
                        "color": "#357bf2"
                      }
                    ],
                    "hide_on_admin_portal": false,
                    "show_on_customer_portal": false,
                    "tax_id": 0,
                    "id": 1,
                    "services": 0,
                    "tariffs_for_change": [
                      0
                    ],
                    "transaction_category_id": 0,
                    "tariff_labels": [
                      {
                        "id": 1,
                        "label": "Label name",
                        "color": "#357bf2"
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/tariffs/recurring/{id}": {
      "get": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Retrieve Recurring tariff",
        "description": "Work with Recurring tariff.Retrieves Recurring tariff with the given ID.",
        "operationId": "RetrieveRecurringtariff",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Recurring tariff.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/RecurringtariffResponse"
                    },
                    {
                      "example": {
                        "title": "Aplha",
                        "service_name": "aplha",
                        "partners_ids": [
                          "1"
                        ],
                        "price": 100,
                        "with_vat": true,
                        "vat_percent": 19,
                        "billing_types": [
                          "recurring",
                          "prepaid",
                          "prepaid_monthly"
                        ],
                        "billing_days_count": 1,
                        "custom_period": 1,
                        "available_for_services": true,
                        "available_for_locations": [
                          1
                        ],
                        "customer_categories": [
                          "person",
                          "company"
                        ],
                        "customer_labels": [
                          {
                            "id": 1,
                            "label": "Label name",
                            "color": "#357bf2"
                          }
                        ],
                        "hide_on_admin_portal": false,
                        "show_on_customer_portal": false,
                        "tax_id": 0,
                        "id": 1,
                        "services": 0,
                        "tariffs_for_change": [
                          0
                        ],
                        "transaction_category_id": 0,
                        "tariff_labels": [
                          {
                            "id": 1,
                            "label": "Label name",
                            "color": "#357bf2"
                          }
                        ]
                      }
                    }
                  ]
                },
                "example": {
                  "title": "Aplha",
                  "service_name": "aplha",
                  "partners_ids": [
                    "1"
                  ],
                  "price": 100,
                  "with_vat": true,
                  "vat_percent": 19,
                  "billing_types": [
                    "recurring",
                    "prepaid",
                    "prepaid_monthly"
                  ],
                  "billing_days_count": 1,
                  "custom_period": 1,
                  "available_for_services": true,
                  "available_for_locations": [
                    1
                  ],
                  "customer_categories": [
                    "person",
                    "company"
                  ],
                  "customer_labels": [
                    {
                      "id": 1,
                      "label": "Label name",
                      "color": "#357bf2"
                    }
                  ],
                  "hide_on_admin_portal": false,
                  "show_on_customer_portal": false,
                  "tax_id": 0,
                  "id": 1,
                  "services": 0,
                  "tariffs_for_change": [
                    0
                  ],
                  "transaction_category_id": 0,
                  "tariff_labels": [
                    {
                      "id": 1,
                      "label": "Label name",
                      "color": "#357bf2"
                    }
                  ]
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Update Recurring tariff",
        "description": "Work with Recurring tariff.Update Recurring tariff with the given ID.",
        "operationId": "UpdateRecurringtariff",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Recurring tariff.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  }
                },
                "example": {
                  "title": "Omega"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Delete Recurring tariff",
        "description": "Work with Recurring tariff.Delete Recurring tariff with the given ID.",
        "operationId": "DeleteRecurringtariff",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Recurring tariff.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/tariffs/bundle": {
      "post": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Create Bundle tariff",
        "description": "Creates new Bundle tariff.",
        "operationId": "CreateBundletariff",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BundletariffBase"
              },
              "example": {
                "title": "Aplha",
                "service_description": "aplha",
                "partners_ids": [
                  "1",
                  "2"
                ],
                "price": 100,
                "with_vat": true,
                "vat_percent": 19,
                "activation_fee": 0.5,
                "issue_invoice_while_service_creation": true,
                "cancellation_fee": 1.5,
                "prior_cancellation_fee": 1.5,
                "change_to_other_bundle_fee": 0,
                "contract_duration": 1,
                "get_activation_fee_when": "create_service",
                "automatic_renewal": true,
                "auto_reactivate": false,
                "discount_period": 5,
                "discount_type": "percent",
                "discount_value": 15,
                "internet_tariffs": [
                  "1",
                  "2"
                ],
                "voice_tariffs": [
                  "1",
                  "2",
                  "3"
                ],
                "custom_tariffs": [
                  "1",
                  "2",
                  "3"
                ],
                "billing_types": [
                  "recurring",
                  "prepaid",
                  "prepaid_monthly"
                ],
                "billing_days_count": 1,
                "custom_period": 1,
                "available_for_services": true,
                "customer_labels": [
                  1
                ],
                "tariff_labels": [
                  1
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BundletariffId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Tariffs"
        ],
        "summary": "List all Bundle tariffs",
        "description": "Returns list of your Bundle tariffs.",
        "operationId": "ListallBundletariffs",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BundletariffResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "title": "Aplha",
                      "service_description": "aplha",
                      "partners_ids": [
                        "1",
                        "2"
                      ],
                      "price": 100,
                      "with_vat": true,
                      "vat_percent": 19,
                      "activation_fee": 0.5,
                      "issue_invoice_while_service_creation": true,
                      "cancellation_fee": 1.5,
                      "prior_cancellation_fee": 1.5,
                      "change_to_other_bundle_fee": 0,
                      "contract_duration": 1,
                      "get_activation_fee_when": "create_service",
                      "automatic_renewal": true,
                      "auto_reactivate": false,
                      "discount_period": 5,
                      "discount_type": "percent",
                      "discount_value": 15,
                      "internet_tariffs": [
                        "1",
                        "2"
                      ],
                      "voice_tariffs": [
                        "1",
                        "2",
                        "3"
                      ],
                      "custom_tariffs": [
                        "1",
                        "2",
                        "3"
                      ],
                      "billing_types": [
                        "recurring",
                        "prepaid",
                        "prepaid_monthly"
                      ],
                      "billing_days_count": 1,
                      "custom_period": 1,
                      "available_for_services": true,
                      "customer_labels": [
                        {
                          "id": 1,
                          "label": "Label name",
                          "color": "#357bf2"
                        }
                      ],
                      "id": 1,
                      "tariff_labels": [
                        {
                          "id": 1,
                          "label": "Label name",
                          "color": "#357bf2"
                        }
                      ]
                    }
                  ]
                },
                "example": [
                  {
                    "title": "Aplha",
                    "service_description": "aplha",
                    "partners_ids": [
                      "1",
                      "2"
                    ],
                    "price": 100,
                    "with_vat": true,
                    "vat_percent": 19,
                    "activation_fee": 0.5,
                    "issue_invoice_while_service_creation": true,
                    "cancellation_fee": 1.5,
                    "prior_cancellation_fee": 1.5,
                    "change_to_other_bundle_fee": 0,
                    "contract_duration": 1,
                    "get_activation_fee_when": "create_service",
                    "automatic_renewal": true,
                    "auto_reactivate": false,
                    "discount_period": 5,
                    "discount_type": "percent",
                    "discount_value": 15,
                    "internet_tariffs": [
                      "1",
                      "2"
                    ],
                    "voice_tariffs": [
                      "1",
                      "2",
                      "3"
                    ],
                    "custom_tariffs": [
                      "1",
                      "2",
                      "3"
                    ],
                    "billing_types": [
                      "recurring",
                      "prepaid",
                      "prepaid_monthly"
                    ],
                    "billing_days_count": 1,
                    "custom_period": 1,
                    "available_for_services": true,
                    "customer_labels": [
                      {
                        "id": 1,
                        "label": "Label name",
                        "color": "#357bf2"
                      }
                    ],
                    "id": 1,
                    "tariff_labels": [
                      {
                        "id": 1,
                        "label": "Label name",
                        "color": "#357bf2"
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/tariffs/bundle/{id}": {
      "get": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Retrieve Bundle tariff",
        "description": "Work with Bundle tariff.Retrieves Bundle tariff with the given ID.",
        "operationId": "RetrieveBundletariff",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Bundle tariff.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BundletariffResponse"
                    },
                    {
                      "example": {
                        "title": "Aplha",
                        "service_description": "aplha",
                        "partners_ids": [
                          "1",
                          "2"
                        ],
                        "price": 100,
                        "with_vat": true,
                        "vat_percent": 19,
                        "activation_fee": 0.5,
                        "issue_invoice_while_service_creation": true,
                        "cancellation_fee": 1.5,
                        "prior_cancellation_fee": 1.5,
                        "change_to_other_bundle_fee": 0,
                        "contract_duration": 1,
                        "get_activation_fee_when": "create_service",
                        "automatic_renewal": true,
                        "auto_reactivate": false,
                        "discount_period": 5,
                        "discount_type": "percent",
                        "discount_value": 15,
                        "internet_tariffs": [
                          "1",
                          "2"
                        ],
                        "voice_tariffs": [
                          "1",
                          "2",
                          "3"
                        ],
                        "custom_tariffs": [
                          "1",
                          "2",
                          "3"
                        ],
                        "billing_types": [
                          "recurring",
                          "prepaid",
                          "prepaid_monthly"
                        ],
                        "billing_days_count": 1,
                        "custom_period": 1,
                        "available_for_services": true,
                        "customer_labels": [
                          {
                            "id": 1,
                            "label": "Label name",
                            "color": "#357bf2"
                          }
                        ],
                        "id": 1,
                        "tariff_labels": [
                          {
                            "id": 1,
                            "label": "Label name",
                            "color": "#357bf2"
                          }
                        ]
                      }
                    }
                  ]
                },
                "example": {
                  "title": "Aplha",
                  "service_description": "aplha",
                  "partners_ids": [
                    "1",
                    "2"
                  ],
                  "price": 100,
                  "with_vat": true,
                  "vat_percent": 19,
                  "activation_fee": 0.5,
                  "issue_invoice_while_service_creation": true,
                  "cancellation_fee": 1.5,
                  "prior_cancellation_fee": 1.5,
                  "change_to_other_bundle_fee": 0,
                  "contract_duration": 1,
                  "get_activation_fee_when": "create_service",
                  "automatic_renewal": true,
                  "auto_reactivate": false,
                  "discount_period": 5,
                  "discount_type": "percent",
                  "discount_value": 15,
                  "internet_tariffs": [
                    "1",
                    "2"
                  ],
                  "voice_tariffs": [
                    "1",
                    "2",
                    "3"
                  ],
                  "custom_tariffs": [
                    "1",
                    "2",
                    "3"
                  ],
                  "billing_types": [
                    "recurring",
                    "prepaid",
                    "prepaid_monthly"
                  ],
                  "billing_days_count": 1,
                  "custom_period": 1,
                  "available_for_services": true,
                  "customer_labels": [
                    {
                      "id": 1,
                      "label": "Label name",
                      "color": "#357bf2"
                    }
                  ],
                  "id": 1,
                  "tariff_labels": [
                    {
                      "id": 1,
                      "label": "Label name",
                      "color": "#357bf2"
                    }
                  ]
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Update Bundle tariff",
        "description": "Work with Bundle tariff.Update Bundle tariff with the given ID.",
        "operationId": "UpdateBundletariff",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Bundle tariff.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  }
                },
                "example": {
                  "title": "New bundle tariff"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Delete Bundle tariff",
        "description": "Work with Bundle tariff.Delete Bundle tariff with the given ID.",
        "operationId": "DeleteBundletariff",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Bundle tariff.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/tariffs/one-time": {
      "post": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Create One-time tariff",
        "description": "Creates new One-time tariff.",
        "operationId": "CreateOne-timetariff",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/One-timetariffBase"
              },
              "example": {
                "title": "Aplha",
                "service_description": "aplha",
                "price": 100,
                "with_vat": true,
                "vat_percent": 19,
                "partners_ids": [
                  "1"
                ],
                "customer_categories": [
                  "person",
                  "company"
                ],
                "customer_labels": [
                  1
                ],
                "available_for_locations": [
                  1
                ],
                "enabled": true,
                "hide_on_admin_portal": false,
                "show_on_customer_portal": false,
                "tax_id": 0,
                "tariff_labels": [
                  1
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/One-timetariffId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Tariffs"
        ],
        "summary": "List all One-time tariffs",
        "description": "Returns list of your One-time tariffs.",
        "operationId": "ListallOne-timetariffs",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/One-timetariffResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "title": "Aplha",
                      "service_description": "aplha",
                      "price": 100,
                      "with_vat": true,
                      "vat_percent": 19,
                      "partners_ids": [
                        "1"
                      ],
                      "customer_categories": [
                        "person",
                        "company"
                      ],
                      "customer_labels": [
                        {
                          "id": 1,
                          "label": "Label name",
                          "color": "#357bf2"
                        }
                      ],
                      "available_for_locations": [
                        1
                      ],
                      "enabled": true,
                      "hide_on_admin_portal": false,
                      "show_on_customer_portal": false,
                      "tax_id": 0,
                      "id": 1,
                      "transaction_category_id": 0,
                      "tariff_labels": [
                        {
                          "id": 1,
                          "label": "Label name",
                          "color": "#357bf2"
                        }
                      ]
                    }
                  ]
                },
                "example": [
                  {
                    "title": "Aplha",
                    "service_description": "aplha",
                    "price": 100,
                    "with_vat": true,
                    "vat_percent": 19,
                    "partners_ids": [
                      "1"
                    ],
                    "customer_categories": [
                      "person",
                      "company"
                    ],
                    "customer_labels": [
                      {
                        "id": 1,
                        "label": "Label name",
                        "color": "#357bf2"
                      }
                    ],
                    "available_for_locations": [
                      1
                    ],
                    "enabled": true,
                    "hide_on_admin_portal": false,
                    "show_on_customer_portal": false,
                    "tax_id": 0,
                    "id": 1,
                    "transaction_category_id": 0,
                    "tariff_labels": [
                      {
                        "id": 1,
                        "label": "Label name",
                        "color": "#357bf2"
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/tariffs/one-time/{id}": {
      "get": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Retrieve One-time tariff",
        "description": "Work with One-time tariff.Retrieves One-time tariff with the given ID.",
        "operationId": "RetrieveOne-timetariff",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired One-time tariff.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/One-timetariffResponse"
                    },
                    {
                      "example": {
                        "title": "Aplha",
                        "service_description": "aplha",
                        "price": 100,
                        "with_vat": true,
                        "vat_percent": 19,
                        "partners_ids": [
                          "1"
                        ],
                        "customer_categories": [
                          "person",
                          "company"
                        ],
                        "customer_labels": [
                          {
                            "id": 1,
                            "label": "Label name",
                            "color": "#357bf2"
                          }
                        ],
                        "available_for_locations": [
                          1
                        ],
                        "enabled": true,
                        "hide_on_admin_portal": false,
                        "show_on_customer_portal": false,
                        "tax_id": 0,
                        "id": 1,
                        "transaction_category_id": 0,
                        "tariff_labels": [
                          {
                            "id": 1,
                            "label": "Label name",
                            "color": "#357bf2"
                          }
                        ]
                      }
                    }
                  ]
                },
                "example": {
                  "title": "Aplha",
                  "service_description": "aplha",
                  "price": 100,
                  "with_vat": true,
                  "vat_percent": 19,
                  "partners_ids": [
                    "1"
                  ],
                  "customer_categories": [
                    "person",
                    "company"
                  ],
                  "customer_labels": [
                    {
                      "id": 1,
                      "label": "Label name",
                      "color": "#357bf2"
                    }
                  ],
                  "available_for_locations": [
                    1
                  ],
                  "enabled": true,
                  "hide_on_admin_portal": false,
                  "show_on_customer_portal": false,
                  "tax_id": 0,
                  "id": 1,
                  "transaction_category_id": 0,
                  "tariff_labels": [
                    {
                      "id": 1,
                      "label": "Label name",
                      "color": "#357bf2"
                    }
                  ]
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Update One-time tariff",
        "description": "Work with One-time tariff.Update One-time tariff with the given ID.",
        "operationId": "UpdateOne-timetariff",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired One-time tariff.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  }
                },
                "example": {
                  "title": "Omega"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Delete One-time tariff",
        "description": "Work with One-time tariff.Delete One-time tariff with the given ID.",
        "operationId": "DeleteOne-timetariff",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired One-time tariff.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/tariffs/tariffs-for-change": {
      "get": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Retrieve tariffs for change",
        "description": "Change tariff for service.Retrieves suitable tariffs list for change from source tariff.",
        "operationId": "Retrievetariffsforchange",
        "parameters": [
          {
            "name": "service_id",
            "in": "query",
            "description": "Optional. The ID of the service being changed. When provided, each returned tariff additionally includes minimal_start_date, fee and fee_raw.",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "sub_id",
            "in": "query",
            "description": "Optional. Available for the main LBA (Linked Billing Account) customer. When provided, returns tariffs available for the sub-account; the sub-account must belong to the main customer taken from the token.",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_type",
            "in": "query",
            "description": "Service type.",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/service_type1"
                },
                {
                  "description": "Service type."
                }
              ]
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Tariff type",
            "required": true,
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/type7"
                },
                {
                  "description": "Tariff type"
                }
              ]
            }
          },
          {
            "name": "tariff_id",
            "in": "query",
            "description": "The ID of source tariff",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 2
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "{tariff_id}"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Tariffforchangeresponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 3,
                      "title": "Tariff title",
                      "minimal_start_date": "2026-07-10",
                      "fee": "10.00",
                      "fee_raw": 10,
                      "price": "10.30",
                      "vat_percent": "21.0",
                      "with_vat": true,
                      "other_properties": "Other properties",
                      "hide_on_admin_portal": false,
                      "show_on_customer_portal": false,
                      "available_for_locations": [
                        1
                      ],
                      "customer_categories": [
                        "person",
                        "company"
                      ],
                      "partners_ids": [
                        "1"
                      ],
                      "tax_id": 0,
                      "service_name": "aplha",
                      "billing_days_count": 1,
                      "available_for_services": true,
                      "billing_types": [
                        "recurring",
                        "prepaid",
                        "prepaid_monthly"
                      ],
                      "tariffs_for_change": [
                        0
                      ],
                      "speed_download": 102400,
                      "speed_upload": 102400,
                      "speed_limit_type": "none",
                      "speed_limit_at": 10,
                      "speed_limit_fixed_up": 0,
                      "speed_limit_fixed_down": 0,
                      "aggregation": 1,
                      "burst_type": [
                        "none",
                        "percent",
                        "fixed"
                      ],
                      "burst_limit": 0,
                      "burst_limit_fixed_up": 0,
                      "burst_limit_fixed_down": 0,
                      "burst_threshold": 0,
                      "burst_threshold_fixed_up": 0,
                      "burst_threshold_fixed_down": 0,
                      "burst_time": 0,
                      "priority": [
                        "low",
                        "normal",
                        "high"
                      ],
                      "exclude_traffic_classes": [
                        0
                      ],
                      "services": 0
                    }
                  ]
                },
                "example": [
                  {
                    "id": 3,
                    "title": "Tariff title",
                    "price": "10.30",
                    "vat_percent": "21.0",
                    "with_vat": true,
                    "other_properties": "Other properties",
                    "hide_on_admin_portal": false,
                    "show_on_customer_portal": false,
                    "available_for_locations": [
                      1
                    ],
                    "customer_categories": [
                      "person",
                      "company"
                    ],
                    "partners_ids": [
                      "1"
                    ],
                    "tax_id": 0,
                    "service_name": "aplha",
                    "billing_days_count": 1,
                    "available_for_services": true,
                    "billing_types": [
                      "recurring",
                      "prepaid",
                      "prepaid_monthly"
                    ],
                    "tariffs_for_change": [
                      0
                    ],
                    "speed_download": 102400,
                    "speed_upload": 102400,
                    "speed_limit_type": "none",
                    "speed_limit_at": 10,
                    "speed_limit_fixed_up": 0,
                    "speed_limit_fixed_down": 0,
                    "aggregation": 1,
                    "burst_type": [
                      "none",
                      "percent",
                      "fixed"
                    ],
                    "burst_limit": 0,
                    "burst_limit_fixed_up": 0,
                    "burst_limit_fixed_down": 0,
                    "burst_threshold": 0,
                    "burst_threshold_fixed_up": 0,
                    "burst_threshold_fixed_down": 0,
                    "burst_time": 0,
                    "priority": [
                      "low",
                      "normal",
                      "high"
                    ],
                    "exclude_traffic_classes": [
                      0
                    ],
                    "services": 0
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/tariffs/change-tariff/{service_id}": {
      "get": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Retrieve start date of new tariff",
        "description": "Change tariff for service.Retrieves the nearest possible start date of new tariff.",
        "operationId": "Retrievestartdateofnewtariff",
        "parameters": [
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired Service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_type",
            "in": "query",
            "description": "Service type.",
            "required": true,
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/service_type1"
                },
                {
                  "description": "Service type."
                }
              ]
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "{service_type}"
            }
          },
          {
            "name": "sub_id",
            "in": "query",
            "description": "Optional. Direct sub-account ID a main (linked-billing) account acts on behalf of. Honored only when the access token belongs to the main account that owns this sub: the sub must belong to the authenticated main and the targeted service must belong to that sub. For any other customer token the request is rejected with a not-found error. Ignored for admin tokens (they target the service owner directly).",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 42
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ChangeTariffGetResponse"
                    },
                    {
                      "example": {
                        "target_date": "2019-02-07",
                        "transaction_category_id": 0,
                        "services": 0
                      }
                    }
                  ]
                },
                "example": {
                  "target_date": "2019-02-07",
                  "transaction_category_id": 0,
                  "services": 0
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Tariffs"
        ],
        "summary": "Change tariff",
        "description": "Change tariff for service.Change tariff for the given service.",
        "operationId": "Changetariff",
        "parameters": [
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired Service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_type",
            "in": "query",
            "description": "Service type.",
            "required": true,
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/service_type1"
                },
                {
                  "description": "Service type."
                }
              ]
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "{service_type}"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "newTariffId": {
                    "type": "number",
                    "description": "New tariff plan ID."
                  },
                  "newServicePrice": {
                    "type": "number",
                    "description": "Optional. Override service price."
                  },
                  "targetDate": {
                    "type": "string",
                    "description": "Date when the new tariff should take effect. Format: YYYY-MM-DD."
                  },
                  "description": {
                    "type": "string",
                    "description": "Optional. Service description after change."
                  },
                  "sub_id": {
                    "type": "number",
                    "description": "Optional. Direct sub-account ID a main (linked-billing) account acts on behalf of. Honored only when the access token belongs to the main account that owns this sub: the sub must belong to the authenticated main and the targeted service must belong to that sub. For any other customer token the request is rejected with a not-found error. Ignored for admin tokens (they target the service owner directly)."
                  }
                }
              },
              "example": {
                "newTariffId": 5,
                "newServicePrice": 50.0,
                "targetDate": "2026-05-01",
                "description": "Upgraded plan",
                "sub_id": 42
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/fup/counter": {
      "get": {
        "tags": [
          "FUP"
        ],
        "summary": "List all FUP Counters",
        "description": "Returns list of your FUP Counters",
        "operationId": "ListallFUPCounters",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FUPCounterResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "service_id": 0,
                      "day_up": 0,
                      "day_down": 0,
                      "day_time": 0,
                      "day_bonus_up": 0,
                      "day_bonus_down": 0,
                      "week_up": 0,
                      "week_down": 0,
                      "week_bonus_up": 0,
                      "week_bonus_down": 0,
                      "week_time": 0,
                      "month_up": 0,
                      "month_down": 0,
                      "month_bonus_up": 0,
                      "month_bonus_down": 0,
                      "month_time": 0,
                      "cap_amount": 0,
                      "cap_used": 0,
                      "over_usage": 0
                    }
                  ]
                },
                "example": [
                  {
                    "service_id": 0,
                    "day_up": 0,
                    "day_down": 0,
                    "day_time": 0,
                    "day_bonus_up": 0,
                    "day_bonus_down": 0,
                    "week_up": 0,
                    "week_down": 0,
                    "week_bonus_up": 0,
                    "week_bonus_down": 0,
                    "week_time": 0,
                    "month_up": 0,
                    "month_down": 0,
                    "month_bonus_up": 0,
                    "month_bonus_down": 0,
                    "month_time": 0,
                    "cap_amount": 0,
                    "cap_used": 0,
                    "over_usage": 0
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/fup/counter/{service_id}": {
      "get": {
        "tags": [
          "FUP"
        ],
        "summary": "Retrieve FUP Counter",
        "description": "Work with FUP CounterRetrieves FUP Counter with the given ID",
        "operationId": "RetrieveFUPCounter",
        "parameters": [
          {
            "name": "service_id",
            "in": "path",
            "description": "The service ID of the desired FUP Counter",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/FUPCounterResponse"
                    },
                    {
                      "example": {
                        "service_id": 0,
                        "day_up": 0,
                        "day_down": 0,
                        "day_time": 0,
                        "day_bonus_up": 0,
                        "day_bonus_down": 0,
                        "week_up": 0,
                        "week_down": 0,
                        "week_bonus_up": 0,
                        "week_bonus_down": 0,
                        "week_time": 0,
                        "month_up": 0,
                        "month_down": 0,
                        "month_bonus_up": 0,
                        "month_bonus_down": 0,
                        "month_time": 0,
                        "cap_amount": 0,
                        "cap_used": 0,
                        "over_usage": 0
                      }
                    }
                  ]
                },
                "example": {
                  "service_id": 0,
                  "day_up": 0,
                  "day_down": 0,
                  "day_time": 0,
                  "day_bonus_up": 0,
                  "day_bonus_down": 0,
                  "week_up": 0,
                  "week_down": 0,
                  "week_bonus_up": 0,
                  "week_bonus_down": 0,
                  "week_time": 0,
                  "month_up": 0,
                  "month_down": 0,
                  "month_bonus_up": 0,
                  "month_bonus_down": 0,
                  "month_time": 0,
                  "cap_amount": 0,
                  "cap_used": 0,
                  "over_usage": 0
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "FUP"
        ],
        "summary": "Update FUP Counter",
        "description": "Work with FUP CounterUpdate FUP Counter with the given ID",
        "operationId": "UpdateFUPCounter",
        "parameters": [
          {
            "name": "service_id",
            "in": "path",
            "description": "The service ID of the desired FUP Counter",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateFUPCounterrequest"
              },
              "example": {
                "day_up": 2154842512
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/fup/compiler": {
      "get": {
        "tags": [
          "FUP"
        ],
        "summary": "List all FUP Compilers",
        "description": "Returns list of your FUP Compilers",
        "operationId": "ListallFUPCompilers",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FUPCompilerResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "service_id": 0,
                      "customer_id": 0,
                      "traffic_accounting": 0,
                      "time_accounting": 0,
                      "fup_policy": 0,
                      "decrease_percent": 0,
                      "fixed_up": 0,
                      "fixed_down": 0,
                      "blocked": 0,
                      "is_hard": 0,
                      "restored": 0,
                      "changed": 0,
                      "current_download_speed": 20480,
                      "current_upload_speed": 20480
                    }
                  ]
                },
                "example": [
                  {
                    "service_id": 0,
                    "customer_id": 0,
                    "traffic_accounting": 0,
                    "time_accounting": 0,
                    "fup_policy": 0,
                    "decrease_percent": 0,
                    "fixed_up": 0,
                    "fixed_down": 0,
                    "blocked": 0,
                    "is_hard": 0,
                    "restored": 0,
                    "changed": 0,
                    "current_download_speed": 10240,
                    "current_upload_speed": 10240
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/fup/compiler/{service_id}": {
      "get": {
        "tags": [
          "FUP"
        ],
        "summary": "Retrieve FUP Compiler",
        "description": "Work with FUP CompilerRetrieves FUP Compiler with the given ID",
        "operationId": "RetrieveFUPCompiler",
        "parameters": [
          {
            "name": "service_id",
            "in": "path",
            "description": "The service ID of the desired FUP Compiler",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/FUPCompilerResponse"
                    },
                    {
                      "example": {
                        "service_id": 0,
                        "customer_id": 0,
                        "traffic_accounting": 0,
                        "time_accounting": 0,
                        "fup_policy": 0,
                        "decrease_percent": 0,
                        "fixed_up": 0,
                        "fixed_down": 0,
                        "blocked": 0,
                        "is_hard": 0,
                        "restored": 0,
                        "changed": 0,
                        "current_download_speed": 0,
                        "current_upload_speed": 0
                      }
                    }
                  ]
                },
                "example": {
                  "service_id": 0,
                  "customer_id": 0,
                  "traffic_accounting": 0,
                  "time_accounting": 0,
                  "fup_policy": 0,
                  "decrease_percent": 0,
                  "fixed_up": 0,
                  "fixed_down": 0,
                  "blocked": 0,
                  "is_hard": 0,
                  "restored": 0,
                  "changed": 0,
                  "current_download_speed": 10240,
                  "current_upload_speed": 10240
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "FUP"
        ],
        "summary": "Update FUP Compiler",
        "description": "Work with FUP CompilerUpdate FUP Compiler with the given ID",
        "operationId": "UpdateFUPCompiler",
        "parameters": [
          {
            "name": "service_id",
            "in": "path",
            "description": "The service ID of the desired FUP Compiler",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateFUPCompilerrequest"
              },
              "example": {
                "traffic_accounting": 0
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/fup/policies": {
      "get": {
        "tags": [
          "FUP"
        ],
        "summary": "List all FUP Policies",
        "description": "Returns list of your FUP Policies",
        "operationId": "ListallFUPPolicies",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FUPPolicyResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 0,
                      "tariff_if": 0,
                      "name": "",
                      "fixed_up": 0,
                      "fixed_down": 0,
                      "accounting_traffic": 0,
                      "accounting_online": 0,
                      "action": "",
                      "percent": 0,
                      "conditions": ""
                    }
                  ]
                },
                "example": [
                  {
                    "id": 0,
                    "tariff_if": 0,
                    "name": "",
                    "fixed_up": 0,
                    "fixed_down": 0,
                    "accounting_traffic": 0,
                    "accounting_online": 0,
                    "action": "",
                    "percent": 0,
                    "conditions": ""
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/fup/policies/{id}": {
      "get": {
        "tags": [
          "FUP"
        ],
        "summary": "Retrieve FUP Policy",
        "description": "Work with FUP Policy.Retrieves FUP Policy with the given ID",
        "operationId": "RetrieveFUPPolicy",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The service ID of the desired FUP Policy",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/FUPPolicyResponse"
                    },
                    {
                      "example": {
                        "id": 0,
                        "tariff_if": 0,
                        "name": "",
                        "fixed_up": 0,
                        "fixed_down": 0,
                        "accounting_traffic": 0,
                        "accounting_online": 0,
                        "action": "",
                        "percent": 0,
                        "conditions": ""
                      }
                    }
                  ]
                },
                "example": {
                  "id": 0,
                  "tariff_if": 0,
                  "name": "",
                  "fixed_up": 0,
                  "fixed_down": 0,
                  "accounting_traffic": 0,
                  "accounting_online": 0,
                  "action": "",
                  "percent": 0,
                  "conditions": ""
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "FUP"
        ],
        "summary": "Update FUP Policy",
        "description": "Work with FUP Policy.Update FUP Policy with the given ID",
        "operationId": "UpdateFUPPolicy",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The service ID of the desired FUP Policy",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateFUPPolicyrequest"
              },
              "example": {
                "name": "New FUP Policy"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/fup/fup-limits": {
      "get": {
        "tags": [
          "FUP"
        ],
        "summary": "List all FUP Limits",
        "description": "Returns list of your FUP Limits",
        "operationId": "ListallFUPLimits",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FUPLimitResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "tariff_id": 1,
                      "cap_tariff_id": 1,
                      "traffic_from": "00:00",
                      "online_from": "00:00",
                      "traffic_to": "24:00",
                      "online_to": "24:00",
                      "traffic_days": [
                        "1",
                        "2",
                        "3"
                      ],
                      "online_days": [
                        "1",
                        "2",
                        "3"
                      ],
                      "action": "block",
                      "percent": 0,
                      "traffic_amount": 12334,
                      "traffic_direction": "up_down",
                      "traffic_in": "gb",
                      "override_traffic": false,
                      "online_amount": 123,
                      "online_in": "hours",
                      "override_online": false,
                      "rollover_data": false,
                      "rollover_time": false,
                      "bonus_is_unlimited": false,
                      "bonus_traffic": 1
                    }
                  ]
                },
                "example": [
                  {
                    "tariff_id": 1,
                    "cap_tariff_id": 1,
                    "traffic_from": "00:00",
                    "online_from": "00:00",
                    "traffic_to": "24:00",
                    "online_to": "24:00",
                    "traffic_days": [
                      "1",
                      "2",
                      "3"
                    ],
                    "online_days": [
                      "1",
                      "2",
                      "3"
                    ],
                    "action": "block",
                    "percent": 0,
                    "traffic_amount": 12334,
                    "traffic_direction": "up_down",
                    "traffic_in": "gb",
                    "override_traffic": false,
                    "online_amount": 123,
                    "online_in": "hours",
                    "override_online": false,
                    "rollover_data": false,
                    "rollover_time": false,
                    "bonus_is_unlimited": false,
                    "bonus_traffic": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/fup/fup-limits/{tariff_id}": {
      "get": {
        "tags": [
          "FUP"
        ],
        "summary": "Retrieve FUP Limit",
        "description": "Work with FUP Limit.Retrieves FUP Limit with the given Tariff ID",
        "operationId": "RetrieveFUPLimit",
        "parameters": [
          {
            "name": "tariff_id",
            "in": "path",
            "description": "The Tariff ID of the desired FUP Limit",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/FUPLimitResponse"
                    },
                    {
                      "example": {
                        "tariff_id": 1,
                        "cap_tariff_id": 1,
                        "traffic_from": "00:00",
                        "online_from": "00:00",
                        "traffic_to": "24:00",
                        "online_to": "24:00",
                        "traffic_days": [
                          "1",
                          "2",
                          "3"
                        ],
                        "online_days": [
                          "1",
                          "2",
                          "3"
                        ],
                        "action": "block",
                        "percent": 0,
                        "traffic_amount": 12334,
                        "traffic_direction": "up_down",
                        "traffic_in": "gb",
                        "override_traffic": false,
                        "online_amount": 123,
                        "online_in": "hours",
                        "override_online": false,
                        "rollover_data": false,
                        "rollover_time": false,
                        "bonus_is_unlimited": false,
                        "bonus_traffic": 1
                      }
                    }
                  ]
                },
                "example": {
                  "tariff_id": 1,
                  "cap_tariff_id": 1,
                  "traffic_from": "00:00",
                  "online_from": "00:00",
                  "traffic_to": "24:00",
                  "online_to": "24:00",
                  "traffic_days": [
                    "1",
                    "2",
                    "3"
                  ],
                  "online_days": [
                    "1",
                    "2",
                    "3"
                  ],
                  "action": "block",
                  "percent": 0,
                  "traffic_amount": 12334,
                  "traffic_direction": "up_down",
                  "traffic_in": "gb",
                  "override_traffic": false,
                  "online_amount": 123,
                  "online_in": "hours",
                  "override_online": false,
                  "rollover_data": false,
                  "rollover_time": false,
                  "bonus_is_unlimited": false,
                  "bonus_traffic": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "FUP"
        ],
        "summary": "Update FUP Limit",
        "description": "Work with FUP Limit.Update FUP Limit with the given ID",
        "operationId": "UpdateFUPLimit",
        "parameters": [
          {
            "name": "tariff_id",
            "in": "path",
            "description": "The Tariff ID of the desired FUP Limit",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateFUPLimitrequest"
              },
              "example": {
                "traffic_amount": "123"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/fup/fup-override": {
      "get": {
        "tags": [
          "FUP"
        ],
        "summary": "List all FUP Override",
        "description": "Returns a list of all FUP Overrides.",
        "operationId": "ListallFUPOverride",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/FUPOverrideResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "service_id": 1,
                      "speed_download": 100000,
                      "speed_upload": 150000,
                      "start_datetime": "2025-07-08 08:00:00",
                      "end_datetime": "2025-07-08 09:10:00",
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "service_id": 1,
                    "speed_download": 100000,
                    "speed_upload": 150000,
                    "start_datetime": "2025-07-08 08:00:00",
                    "end_datetime": "2025-07-08 09:10:00",
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "FUP"
        ],
        "summary": "Create FUP Override",
        "description": "Creates a new FUP Override.",
        "operationId": "CreateFUPOverride",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FUPOverrideBase"
              },
              "example": {
                "service_id": 1,
                "speed_download": 100000,
                "speed_upload": 150000,
                "start_datetime": "2025-07-08 08:00:00",
                "end_datetime": "2025-07-08 09:10:00"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/FUPOverrideId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/fup/fup-override/{id}": {
      "get": {
        "tags": [
          "FUP"
        ],
        "summary": "Retrieve FUP Override",
        "description": "Represents a single FUP Override.Retrieves details of a specific FUP Override.",
        "operationId": "RetrieveFUPOverride",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired FUP Override.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/FUPOverrideResponse"
                    },
                    {
                      "example": {
                        "service_id": 1,
                        "speed_download": 100000,
                        "speed_upload": 150000,
                        "start_datetime": "2025-07-08 08:00:00",
                        "end_datetime": "2025-07-08 09:10:00",
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "service_id": 1,
                  "speed_download": 100000,
                  "speed_upload": 150000,
                  "start_datetime": "2025-07-08 08:00:00",
                  "end_datetime": "2025-07-08 09:10:00",
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "FUP"
        ],
        "summary": "Update FUP Override",
        "description": "Represents a single FUP Override.Updates an existing FUP Override.",
        "operationId": "UpdateFUPOverride",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired FUP Override.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateFUPOverriderequest"
              },
              "example": {
                "speed_download": 15000
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "FUP"
        ],
        "summary": "Delete FUP Override",
        "description": "Represents a single FUP Override.Removes a specific FUP Override.",
        "operationId": "DeleteFUPOverride",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired FUP Override.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/fup/usage/{service_id}": {
      "get": {
        "tags": [
          "FUP"
        ],
        "summary": "Get traffic usage",
        "description": "Service traffic usageRetrieve internet service traffic usage info",
        "operationId": "Gettrafficusage",
        "parameters": [
          {
            "name": "service_id",
            "in": "path",
            "description": "The internet service ID",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 151
            }
          },
          {
            "name": "with_texts",
            "in": "query",
            "description": "Get texts for the Progress widget",
            "required": true,
            "schema": {
              "type": "boolean",
              "example": true
            }
          },
          {
            "name": "sub_id",
            "in": "query",
            "description": "Optional. Available for the main LBA (Linked Billing Account) customer. When provided, returns the traffic usage of the sub-account's service; the sub-account must belong to the main customer taken from the token, and the service must belong to that sub-account.",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/FUPUsageResponse"
                    },
                    {
                      "example": {
                        "traffic_amount": 40000000000,
                        "over_usage": 0,
                        "used_amount": 323862,
                        "remains_amount": 676138,
                        "cap_amount": 2000000,
                        "used_percent": 10.79,
                        "remains_percent": 22.53,
                        "cap_percent": 66.66,
                        "bonus_traffic": 0,
                        "bonus_is_unlimited": 0,
                        "bonus_remains_amount": 0,
                        "bonus_cap_amount": 0,
                        "bonus_used_percent": 0,
                        "bonus_remains_percent": 0,
                        "bonus_cap_percent": 0,
                        "cap_bar_position": 2,
                        "remains_bar_position": 1,
                        "used_text": "323.86 KB",
                        "used_label_title": "323.86 KB",
                        "capped_alt": "Remains: 2 MB / 2 MB CAP",
                        "capped_not_used_text": "2 MB",
                        "capped_text_all": "2 MB",
                        "all_text": "1 MB",
                        "remains_text": "676.14 KB",
                        "used_alt": "Used: 323.86 KB / 1 MB (+2 MB CAP)",
                        "remains_alt": "Remains: 676.14 KB / 1 MB (+2 MB CAP)",
                        "bonus_capped_text_all": "(+2 MB Bonus CAP)",
                        "full_cap_amount": 2000000,
                        "bonus_all_text": "0 B",
                        "bonus_used_label_title": "0 B",
                        "bonus_used_text": "0 B",
                        "bonus_used_alt": "Used: 0 B \\/ 0 B",
                        "bonus_remains_text": "``",
                        "bonus_remains_alt": "Remains: 0 B \\/ 0 B",
                        "bonus_capped_not_used_text": "0 B",
                        "bonus_capped_alt": "Remains: 0 B \\/ 0 B Bonus CAP"
                      }
                    }
                  ]
                },
                "example": {
                  "traffic_amount": 40000000000,
                  "over_usage": 0,
                  "used_amount": 323862,
                  "remains_amount": 676138,
                  "cap_amount": 2000000,
                  "used_percent": 10.79,
                  "remains_percent": 22.53,
                  "cap_percent": 66.66,
                  "bonus_traffic": 0,
                  "bonus_is_unlimited": 0,
                  "bonus_remains_amount": 0,
                  "bonus_cap_amount": 0,
                  "bonus_used_percent": 0,
                  "bonus_remains_percent": 0,
                  "bonus_cap_percent": 0,
                  "cap_bar_position": 2,
                  "remains_bar_position": 1,
                  "used_text": "323.86 KB",
                  "used_label_title": "323.86 KB",
                  "capped_alt": "Remains: 2 MB / 2 MB CAP",
                  "capped_not_used_text": "2 MB",
                  "capped_text_all": "2 MB",
                  "all_text": "1 MB",
                  "remains_text": "676.14 KB",
                  "used_alt": "Used: 323.86 KB / 1 MB (+2 MB CAP)",
                  "remains_alt": "Remains: 676.14 KB / 1 MB (+2 MB CAP)",
                  "bonus_capped_text_all": "(+2 MB Bonus CAP)",
                  "full_cap_amount": 2000000,
                  "bonus_all_text": "0 B",
                  "bonus_used_label_title": "0 B",
                  "bonus_used_text": "0 B",
                  "bonus_used_alt": "Used: 0 B \\/ 0 B",
                  "bonus_remains_text": "``",
                  "bonus_remains_alt": "Remains: 0 B \\/ 0 B",
                  "bonus_capped_not_used_text": "0 B",
                  "bonus_capped_alt": "Remains: 0 B \\/ 0 B Bonus CAP"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/fup/cap-tariff": {
      "post": {
        "tags": [
          "CAP"
        ],
        "summary": "Add a Cap Tariff",
        "description": "Adds a new Cap Tariff record.",
        "operationId": "AddaCapTariff",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CaptariffBase"
              },
              "example": {
                "tariff_id": 1,
                "title": "lte-top-1g",
                "amount": 1,
                "amount_in": "gb",
                "price": 100,
                "type": "manual",
                "validity": "number_of_hours",
                "validity_number": 5,
                "to_invoice": 1,
                "transaction_category_id": 1
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CaptariffId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "CAP"
        ],
        "summary": "List all Cap Tariff",
        "description": "Returns a list of your Cap Tariff records.",
        "operationId": "ListallCapTariff",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CaptariffResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "tariff_id": 1,
                      "title": "lte-top-1g",
                      "amount": 1,
                      "amount_in": "gb",
                      "price": 100,
                      "type": "manual",
                      "validity": "number_of_hours",
                      "validity_number": 5,
                      "to_invoice": 1,
                      "transaction_category_id": 1,
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "tariff_id": 1,
                    "title": "lte-top-1g",
                    "amount": 1,
                    "amount_in": "gb",
                    "price": 100,
                    "type": "manual",
                    "validity": "number_of_hours",
                    "validity_number": 5,
                    "to_invoice": 1,
                    "transaction_category_id": 1,
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/fup/cap-tariff/{id}": {
      "get": {
        "tags": [
          "CAP"
        ],
        "summary": "Retrieve a Cap Tariff",
        "description": "Work with Cap Tariff record.Retrieves the Cap Tariff record with the given ID.",
        "operationId": "RetrieveaCapTariff",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Cap Tariff record.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CaptariffResponse"
                    },
                    {
                      "example": {
                        "tariff_id": 1,
                        "title": "lte-top-1g",
                        "amount": 1,
                        "amount_in": "gb",
                        "price": 100,
                        "type": "manual",
                        "validity": "number_of_hours",
                        "validity_number": 5,
                        "to_invoice": 1,
                        "transaction_category_id": 1,
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "tariff_id": 1,
                  "title": "lte-top-1g",
                  "amount": 1,
                  "amount_in": "gb",
                  "price": 100,
                  "type": "manual",
                  "validity": "number_of_hours",
                  "validity_number": 5,
                  "to_invoice": 1,
                  "transaction_category_id": 1,
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "CAP"
        ],
        "summary": "Update a Cap Tariff",
        "description": "Work with Cap Tariff record.Update the Cap Tariff record with the given ID.",
        "operationId": "UpdateaCapTariff",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Cap Tariff record.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateaCapTariffrequest"
              },
              "example": {
                "title": "lte-top-1g"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "CAP"
        ],
        "summary": "Delete a Cap Tariff",
        "description": "Work with Cap Tariff record.Delete the Cap Tariff record with the given ID.",
        "operationId": "DeleteaCapTariff",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Cap Tariff record.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/fup/capped-data": {
      "post": {
        "tags": [
          "CAP"
        ],
        "summary": "Add a Capped data",
        "description": "Adds a new Capped data record.",
        "operationId": "AddaCappeddata",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CappeddataBase"
              },
              "example": {
                "service_id": 1,
                "quantity": 10000000,
                "quantity_remind": 10000000,
                "tariff_id": 1,
                "over_usage": 1,
                "valid_till": "0000-00-00 00:00:00",
                "end_of_period": "0000-00-00 00:00:00",
                "price": 0
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CappeddataId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "CAP"
        ],
        "summary": "List all Capped data",
        "description": "Returns a list of your Capped data records.",
        "operationId": "ListallCappeddata",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CappeddataResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 15,
                      "service_id": 100,
                      "quantity": 50000000,
                      "quantity_remind": 50000000,
                      "over_usage": 1,
                      "valid_till": "0000-00-00 00:00:00",
                      "end_of_period": "0000-00-00 00:00:00",
                      "transaction_id": 50,
                      "price": 0,
                      "added_by": "api",
                      "type": "admin_top_up",
                      "description": "``"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 15,
                    "service_id": 100,
                    "quantity": 50000000,
                    "quantity_remind": 50000000,
                    "over_usage": 1,
                    "valid_till": "0000-00-00 00:00:00",
                    "end_of_period": "0000-00-00 00:00:00",
                    "transaction_id": 50,
                    "price": 0,
                    "added_by": "api",
                    "type": "admin_top_up",
                    "description": "``"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/fup/capped-data/{id}": {
      "get": {
        "tags": [
          "CAP"
        ],
        "summary": "Retrieve a Capped data",
        "description": "Work with Capped data record.Retrieves the Capped data record with the given ID.",
        "operationId": "RetrieveaCappeddata",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Capped data record.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CappeddataResponse"
                    },
                    {
                      "example": {
                        "id": 15,
                        "service_id": 100,
                        "quantity": 50000000,
                        "quantity_remind": 50000000,
                        "over_usage": 1,
                        "valid_till": "0000-00-00 00:00:00",
                        "end_of_period": "0000-00-00 00:00:00",
                        "transaction_id": 50,
                        "price": 0,
                        "added_by": "api",
                        "type": "admin_top_up",
                        "description": "``"
                      }
                    }
                  ]
                },
                "example": {
                  "id": 15,
                  "service_id": 100,
                  "quantity": 50000000,
                  "quantity_remind": 50000000,
                  "over_usage": 1,
                  "valid_till": "0000-00-00 00:00:00",
                  "end_of_period": "0000-00-00 00:00:00",
                  "transaction_id": 50,
                  "price": 0,
                  "added_by": "api",
                  "type": "admin_top_up",
                  "description": "``"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "CAP"
        ],
        "summary": "Update a Capped data",
        "description": "Work with Capped data record.Update the Capped data record with the given ID.",
        "operationId": "UpdateaCappeddata",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Capped data record.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateaCappeddatarequest"
              },
              "example": {
                "quantity": "500000000"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "CAP"
        ],
        "summary": "Delete a Capped data",
        "description": "Work with Capped data record.Delete the Capped data record with the given ID.",
        "operationId": "DeleteaCappeddata",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Capped data record.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer": {
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Create a Customer",
        "description": "Creates a new Customer.",
        "operationId": "CreateaCustomer",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerBase"
              },
              "example": {
                "login": "john_doe",
                "status": "new",
                "partner_id": 1,
                "location_id": 1,
                "parent_id": 0,
                "name": "John Doe",
                "email": "john.doe@domain.com",
                "billing_email": "john.doe.billing@domain.com",
                "phone": "555-0134",
                "category": "person",
                "street_1": "Paper Street",
                "zip_code": "",
                "city": "",
                "date_add": "",
                "customer_labels": [
                  1
                ],
                "subdivision_id": 1,
                "conversion_date": "",
                "daily_prepaid_cost": 0,
                "contacts": [
                  {
                    "type": "email",
                    "value": "john.doe@domain.com",
                    "label": "primary",
                    "is_primary": true
                  },
                  {
                    "type": "email",
                    "value": "john.doe.billing@domain.com",
                    "label": "billing",
                    "is_primary": true
                  },
                  {
                    "type": "phone",
                    "value": "555-0134",
                    "label": "primary",
                    "is_primary": true
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomerId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "List all Customers",
        "description": "Returns a list of your Customers.",
        "operationId": "ListallCustomers",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomersResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "login": "john_doe",
                      "status": "new",
                      "partner_id": 1,
                      "location_id": 1,
                      "parent_id": 0,
                      "name": "John Doe",
                      "email": "john.doe@domain.com",
                      "billing_email": "john.doe.billing@domain.com",
                      "phone": "555-0134",
                      "category": "person",
                      "street_1": "Paper Street",
                      "zip_code": "",
                      "city": "",
                      "date_add": "",
                      "customer_labels": [
                        {
                          "id": 1,
                          "label": "Label name",
                          "color": "#357bf2"
                        }
                      ],
                      "subdivision_id": 1,
                      "conversion_date": "",
                      "daily_prepaid_cost": 0,
                      "id": 1,
                      "password": "marla_my_love",
                      "gps": "",
                      "mrr_total": 0,
                      "billing_type": "",
                      "added_by": "admin",
                      "added_by_id": 1,
                      "last_online": "",
                      "last_update": "",
                      "account_type": "regular",
                      "can_manage_aggregated_sub_accounts": "0",
                      "contacts": [
                        {
                          "id": 1,
                          "type": "email",
                          "value": "john.doe@domain.com",
                          "label": "primary",
                          "country_code": null,
                          "is_primary": true,
                          "is_whatsapp": false
                        },
                        {
                          "id": 2,
                          "type": "email",
                          "value": "john.doe.billing@domain.com",
                          "label": "billing",
                          "country_code": null,
                          "is_primary": true,
                          "is_whatsapp": false
                        },
                        {
                          "id": 3,
                          "type": "phone",
                          "value": "555-0134",
                          "label": "primary",
                          "country_code": null,
                          "is_primary": true,
                          "is_whatsapp": false
                        }
                      ]
                    }
                  ]
                },
                "example": [
                  {
                    "login": "john_doe",
                    "status": "new",
                    "partner_id": 1,
                    "location_id": 1,
                    "parent_id": 0,
                    "name": "John Doe",
                    "email": "john.doe@domain.com",
                    "billing_email": "john.doe.billing@domain.com",
                    "phone": "555-0134",
                    "category": "person",
                    "street_1": "Paper Street",
                    "zip_code": "",
                    "city": "",
                    "date_add": "",
                    "customer_labels": [
                      {
                        "id": 1,
                        "label": "Label name",
                        "color": "#357bf2"
                      }
                    ],
                    "subdivision_id": 1,
                    "conversion_date": "",
                    "daily_prepaid_cost": 0,
                    "id": 1,
                    "password": "marla_my_love",
                    "gps": "",
                    "mrr_total": 0,
                    "billing_type": "",
                    "added_by": "admin",
                    "added_by_id": 1,
                    "last_online": "",
                    "last_update": "",
                    "account_type": "regular",
                    "can_manage_aggregated_sub_accounts": "0",
                    "contacts": [
                      {
                        "id": 1,
                        "type": "email",
                        "value": "john.doe@domain.com",
                        "label": "primary",
                        "country_code": null,
                        "is_primary": true,
                        "is_whatsapp": false
                      },
                      {
                        "id": 2,
                        "type": "email",
                        "value": "john.doe.billing@domain.com",
                        "label": "billing",
                        "country_code": null,
                        "is_primary": true,
                        "is_whatsapp": false
                      },
                      {
                        "id": 3,
                        "type": "phone",
                        "value": "555-0134",
                        "label": "primary",
                        "country_code": null,
                        "is_primary": true,
                        "is_whatsapp": false
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-sub-accounts": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "List sub-accounts of the authenticated customer",
        "description": "Returns the list of sub-accounts of the currently authenticated Customer (Customers whose `parent_id` equals the authenticated Customer's ID).\n\n**Customer authentication only.** This endpoint is available exclusively under customer authentication (an access token issued with `auth_type=customer`). Requests authenticated as an administrator or by an API key receive `403 Forbidden`.\n\nOnly listing is supported — `view`, `create`, `update` and `delete` are disabled for this entry point.\n\nThe ownership filter is enforced on the server side: results are always restricted to `parent_id = <authenticated customer id>`. Search parameters cannot bypass it — passing `?main_attributes[id]=...` (or any other `main_attributes`) for a Customer that is not your sub-account returns an empty array. Standard `order`, `limit` and `offset` options still apply within the ownership scope. The `password` field is never returned.",
        "operationId": "ListCustomerSubAccounts",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomersResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "login": "john_doe_jr",
                      "status": "active",
                      "partner_id": 1,
                      "location_id": 1,
                      "parent_id": 1,
                      "name": "John Doe Jr",
                      "email": "john.doe.jr@domain.com",
                      "billing_email": "",
                      "phone": "555-0199",
                      "category": "person",
                      "street_1": "Paper Street",
                      "zip_code": "",
                      "city": "",
                      "date_add": "",
                      "customer_labels": [],
                      "subdivision_id": 1,
                      "conversion_date": "",
                      "daily_prepaid_cost": 0,
                      "id": 2,
                      "gps": "",
                      "mrr_total": 0,
                      "billing_type": "",
                      "added_by": "admin",
                      "added_by_id": 1,
                      "last_online": "",
                      "last_update": "",
                      "account_type": "regular",
                      "can_manage_aggregated_sub_accounts": "0",
                      "contacts": []
                    }
                  ]
                },
                "example": [
                  {
                    "login": "john_doe_jr",
                    "status": "active",
                    "partner_id": 1,
                    "location_id": 1,
                    "parent_id": 1,
                    "name": "John Doe Jr",
                    "email": "john.doe.jr@domain.com",
                    "billing_email": "",
                    "phone": "555-0199",
                    "category": "person",
                    "street_1": "Paper Street",
                    "zip_code": "",
                    "city": "",
                    "date_add": "",
                    "customer_labels": [],
                    "subdivision_id": 1,
                    "conversion_date": "",
                    "daily_prepaid_cost": 0,
                    "id": 2,
                    "gps": "",
                    "mrr_total": 0,
                    "billing_type": "",
                    "added_by": "admin",
                    "added_by_id": 1,
                    "last_online": "",
                    "last_update": "",
                    "account_type": "regular",
                    "can_manage_aggregated_sub_accounts": "0",
                    "contacts": []
                  }
                ]
              }
            }
          },
          "403": {
            "description": "Returned when the request is not authenticated as a Customer (for example, administrator or API key authentication).",
            "headers": {},
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "message": "Access forbidden!",
                    "code": 403,
                    "internal_code": "NOT_ALLOWED_BY_USER_RESTRICTION"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer/{id}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Retrieve a Customer",
        "description": "Work with Customers.Retrieves the Customer with the given ID.",
        "operationId": "RetrieveaCustomer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomerResponse"
                    },
                    {
                      "example": {
                        "login": "john_doe",
                        "status": "new",
                        "partner_id": 1,
                        "location_id": 1,
                        "password": "marla_my_love",
                        "name": "John Doe",
                        "email": "john.doe@domain.com",
                        "billing_email": "john.doe.billing@domain.com",
                        "phone": "555-0134",
                        "category": "person",
                        "street_1": "Paper Street",
                        "zip_code": "",
                        "city": "",
                        "date_add": "",
                        "gps": "",
                        "mrr_total": 0,
                        "billing_type": "",
                        "added_by": "",
                        "added_by_id": 0,
                        "last_online": "",
                        "last_update": "",
                        "customer_labels": [
                          {
                            "id": 1,
                            "label": "Label name",
                            "color": "#357bf2"
                          }
                        ],
                        "subdivision_id": 1,
                        "conversion_date": "",
                        "daily_prepaid_cost": 0,
                        "account_type": "regular",
                        "can_manage_aggregated_sub_accounts": "0",
                        "contacts": [
                          {
                            "id": 1,
                            "type": "email",
                            "value": "john.doe@domain.com",
                            "label": "primary",
                            "country_code": null,
                            "is_primary": true,
                            "is_whatsapp": false
                          },
                          {
                            "id": 2,
                            "type": "email",
                            "value": "john.doe.billing@domain.com",
                            "label": "billing",
                            "country_code": null,
                            "is_primary": true,
                            "is_whatsapp": false
                          },
                          {
                            "id": 3,
                            "type": "phone",
                            "value": "555-0134",
                            "label": "primary",
                            "country_code": null,
                            "is_primary": true,
                            "is_whatsapp": false
                          }
                        ]
                      }
                    }
                  ]
                },
                "example": {
                  "login": "john_doe",
                  "status": "new",
                  "partner_id": 1,
                  "location_id": 1,
                  "password": "marla_my_love",
                  "name": "John Doe",
                  "email": "john.doe@domain.com",
                  "billing_email": "john.doe.billing@domain.com",
                  "phone": "555-0134",
                  "category": "person",
                  "street_1": "Paper Street",
                  "zip_code": "",
                  "city": "",
                  "date_add": "",
                  "gps": "",
                  "mrr_total": 0,
                  "billing_type": "",
                  "added_by": "",
                  "added_by_id": 0,
                  "last_online": "",
                  "last_update": "",
                  "customer_labels": [
                    {
                      "id": 1,
                      "label": "Label name",
                      "color": "#357bf2"
                    }
                  ],
                  "subdivision_id": 1,
                  "conversion_date": "",
                  "daily_prepaid_cost": 0,
                  "account_type": "regular",
                  "can_manage_aggregated_sub_accounts": "0",
                  "contacts": [
                    {
                      "id": 1,
                      "type": "email",
                      "value": "john.doe@domain.com",
                      "label": "primary",
                      "country_code": null,
                      "is_primary": true,
                      "is_whatsapp": false
                    },
                    {
                      "id": 2,
                      "type": "email",
                      "value": "john.doe.billing@domain.com",
                      "label": "billing",
                      "country_code": null,
                      "is_primary": true,
                      "is_whatsapp": false
                    },
                    {
                      "id": 3,
                      "type": "phone",
                      "value": "555-0134",
                      "label": "primary",
                      "country_code": null,
                      "is_primary": true,
                      "is_whatsapp": false
                    }
                  ]
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Customers"
        ],
        "summary": "Update a Customer",
        "description": "Work with Customers.Update the Customer with the given ID.",
        "operationId": "UpdateaCustomer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  }
                },
                "example": {
                  "name": "Narrator"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Customers"
        ],
        "summary": "Delete a Customer",
        "description": "Work with Customers.Delete the Customer with the given ID.",
        "operationId": "DeleteaCustomer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer/{customer_id}/logs-changes": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "List Customers logs of changes",
        "description": "Returns a list of Customer logs of changes.",
        "operationId": "ListCustomerslogsofchanges",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 40
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerChangesLogsFirst"
                  },
                  "description": "",
                  "example": [
                    {
                      "date": "2019-11-16",
                      "time": "00:01:06",
                      "old_status": "new",
                      "new_status": "active",
                      "service_id": "null",
                      "tariff_type": "null",
                      "old_tariff": "null",
                      "new_tariff": "null",
                      "administrator_id": 0
                    },
                    {
                      "date": "2020-02-01",
                      "time": "23:05:45",
                      "old_status": "null",
                      "new_status": "null",
                      "service_id": "15",
                      "tariff_type": "internet",
                      "old_tariff": "5",
                      "new_tariff": "593",
                      "administrator_id": 5
                    },
                    {
                      "date": "2020-05-30",
                      "time": "14:23:55",
                      "old_status": "active",
                      "new_status": "disabled",
                      "service_id": "null",
                      "tariff_type": "null",
                      "old_tariff": "null",
                      "new_tariff": "null",
                      "administrator_id": 12
                    },
                    {
                      "date": "2020-08-01",
                      "time": "09:59:48",
                      "old_status": "disabled",
                      "new_status": "active",
                      "service_id": "null",
                      "tariff_type": "null",
                      "old_tariff": "null",
                      "new_tariff": "null",
                      "administrator_id": 2
                    }
                  ]
                },
                "example": [
                  {
                    "date": "2019-11-16",
                    "time": "00:01:06",
                    "old_status": "new",
                    "new_status": "active",
                    "service_id": "null",
                    "tariff_type": "null",
                    "old_tariff": "null",
                    "new_tariff": "null",
                    "administrator_id": 0
                  },
                  {
                    "date": "2020-02-01",
                    "time": "23:05:45",
                    "old_status": "null",
                    "new_status": "null",
                    "service_id": "15",
                    "tariff_type": "internet",
                    "old_tariff": "5",
                    "new_tariff": "593",
                    "administrator_id": 5
                  },
                  {
                    "date": "2020-05-30",
                    "time": "14:23:55",
                    "old_status": "active",
                    "new_status": "disabled",
                    "service_id": "null",
                    "tariff_type": "null",
                    "old_tariff": "null",
                    "new_tariff": "null",
                    "administrator_id": 12
                  },
                  {
                    "date": "2020-08-01",
                    "time": "09:59:48",
                    "old_status": "disabled",
                    "new_status": "active",
                    "service_id": "null",
                    "tariff_type": "null",
                    "old_tariff": "null",
                    "new_tariff": "null",
                    "administrator_id": 2
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer/{customer_id}/logs-changes--first-activation": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Get customer first activation",
        "description": "Returns info about first activation of customer.",
        "operationId": "Getcustomerfirstactivation",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 40
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomerChangesLogsFirst"
                    },
                    {
                      "example": {
                        "date": "2019-11-16",
                        "time": "00:01:06",
                        "old_status": "new",
                        "new_status": "active",
                        "service_id": "null",
                        "tariff_type": "null",
                        "old_tariff": "null",
                        "new_tariff": "null",
                        "administrator_id": 0
                      }
                    }
                  ]
                },
                "example": {
                  "date": "2019-11-16",
                  "time": "00:01:06",
                  "old_status": "new",
                  "new_status": "active",
                  "service_id": "null",
                  "tariff_type": "null",
                  "old_tariff": "null",
                  "new_tariff": "null",
                  "administrator_id": 0
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer/{customer_id}/logs-changes--last-activation": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Customers last activation_Get customer first activation",
        "description": "Returns info about last activation of customer (from 'inactive' (disabled) to 'active').",
        "operationId": "Customerslastactivation_Getcustomerfirstactivation",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 40
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomerChangesLogsLast"
                    },
                    {
                      "example": {
                        "date": "2020-08-01",
                        "time": "09:59:48",
                        "old_status": "disabled",
                        "new_status": "active",
                        "service_id": "null",
                        "tariff_type": "null",
                        "old_tariff": "null",
                        "new_tariff": "null",
                        "administrator_id": 2
                      }
                    }
                  ]
                },
                "example": {
                  "date": "2020-08-01",
                  "time": "09:59:48",
                  "old_status": "disabled",
                  "new_status": "active",
                  "service_id": "null",
                  "tariff_type": "null",
                  "old_tariff": "null",
                  "new_tariff": "null",
                  "administrator_id": 2
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-cap/{id}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Retrieve a Customer cap",
        "description": "Work with Customer cap.Retrieves the Customer cap with the given ID.",
        "operationId": "RetrieveaCustomercap",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomercapResponse"
                    },
                    {
                      "example": {
                        "customer_id": 1,
                        "auto_cap": "0",
                        "limitation_type": "auto_top_up",
                        "max_cap_during_month": 10,
                        "transfer_usage_to_new_service": "1",
                        "deleted": "0"
                      }
                    }
                  ]
                },
                "example": {
                  "customer_id": 1,
                  "auto_cap": "0",
                  "limitation_type": "auto_top_up",
                  "max_cap_during_month": 10,
                  "transfer_usage_to_new_service": "1",
                  "deleted": "0"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Customers"
        ],
        "summary": "Update a Customer cap",
        "description": "Work with Customer cap.Update the Customer cap \"max_cap_during_month\" with the given ID.",
        "operationId": "UpdateaCustomercap",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomercapResponse"
              },
              "example": {
                "customer_id": 1,
                "auto_cap": "0",
                "limitation_type": "auto_top_up",
                "max_cap_during_month": 10,
                "transfer_usage_to_new_service": "1",
                "deleted": "0"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-bonus-traffic-counter/{service_id}--{date}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Retrieve bonus traffic record",
        "description": "Get the bonus traffic for internet service by specify `service_id` and `date`.",
        "operationId": "Retrievebonustrafficrecord",
        "parameters": [
          {
            "name": "service_id",
            "in": "path",
            "description": "Service ID.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "date",
            "in": "path",
            "description": "Date of traffic. Note the date should have format `yyyy-mm-dd`.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomerBonusTrafficCounter"
                    },
                    {
                      "example": {
                        "service_id": 1,
                        "date": "2018-01-01",
                        "up": 1,
                        "down": 1
                      }
                    }
                  ]
                },
                "example": {
                  "service_id": 1,
                  "date": "2018-01-01",
                  "up": 1,
                  "down": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Customers"
        ],
        "summary": "Update bonus traffic record",
        "description": "Update the traffic for internet service data by specify `service_id` and `date`.",
        "operationId": "Updatebonustrafficrecord",
        "parameters": [
          {
            "name": "service_id",
            "in": "path",
            "description": "Service ID.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "date",
            "in": "path",
            "description": "Date of traffic. Note the date should have format `yyyy-mm-dd`.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerBonusTrafficCounter"
              },
              "example": {
                "service_id": 1,
                "date": "2018-01-01",
                "up": 1,
                "down": 1
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomerBonusTrafficCounter"
                    },
                    {
                      "example": {
                        "service_id": 1,
                        "date": "2018-01-01",
                        "up": 1,
                        "down": 1
                      }
                    }
                  ]
                },
                "example": {
                  "service_id": 1,
                  "date": "2018-01-01",
                  "up": 1,
                  "down": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Customers"
        ],
        "summary": "Delete bonus traffic record",
        "description": "Delete the traffic for internet service data by specify `service_id` and `date`.",
        "operationId": "Deletebonustrafficrecord",
        "parameters": [
          {
            "name": "service_id",
            "in": "path",
            "description": "Service ID.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "date",
            "in": "path",
            "description": "Date of traffic. Note the date should have format `yyyy-mm-dd`.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-bonus-traffic-counter": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Get list bonus traffic values",
        "description": "Get list of bonus traffic records for internet services.",
        "operationId": "Getlistbonustrafficvalues",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerBonusTrafficCounter"
                  },
                  "description": "",
                  "example": [
                    {
                      "service_id": 1,
                      "date": "2018-01-01",
                      "up": 1,
                      "down": 1
                    }
                  ]
                },
                "example": [
                  {
                    "service_id": 1,
                    "date": "2018-01-01",
                    "up": 1,
                    "down": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Create bonus traffic record",
        "description": "Create the bonus traffic record for internet service.",
        "operationId": "Createbonustrafficrecord",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerBonusTrafficCounter"
              },
              "example": {
                "service_id": 1,
                "date": "2018-01-01",
                "up": 1,
                "down": 1
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomerBonusTrafficCounterId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-bonus-capped-data": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "List all Bonus capped data",
        "description": "Returns a list of bonus capped data records for internet services.",
        "operationId": "ListallBonuscappeddata",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BonusCappedDataResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "service_id": 100,
                      "quantity": 524288000,
                      "quantity_remind": 524288000,
                      "valid_till": "2026-05-01 00:00:00"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "service_id": 100,
                    "quantity": 524288000,
                    "quantity_remind": 524288000,
                    "valid_till": "2026-05-01 00:00:00",
                    "quantity_unit": null,
                    "customer": null
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Add Bonus capped data",
        "description": "Adds a new bonus capped data record to an internet service.",
        "operationId": "AddBonuscappeddata",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BonusCappedDataBase"
              },
              "example": {
                "service_id": 100,
                "quantity": 500,
                "quantity_unit": "mb",
                "valid_till": "2026-05-01 00:00:00"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BonusCappedDataId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-bonus-capped-data/{id}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Retrieve a Bonus capped data",
        "description": "Retrieves the bonus capped data record with the given ID.",
        "operationId": "RetrieveaBonuscappeddata",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Bonus capped data record.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BonusCappedDataResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "service_id": 100,
                        "quantity": 524288000,
                        "quantity_remind": 524288000,
                        "valid_till": "2026-05-01 00:00:00",
                        "quantity_unit": null,
                        "customer": null
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "service_id": 100,
                  "quantity": 524288000,
                  "quantity_remind": 524288000,
                  "valid_till": "2026-05-01 00:00:00",
                  "quantity_unit": null,
                  "customer": null
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-info/{id}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Retrieve a Customer info",
        "description": "Work with Customer info. \"Birthday\" and \"Passport number\" is for customers in category 'person'. \"Company ID\" and \"VAT ID\" for customers in category 'company'.Retrieves Customer info for customer/lead either with the given ID or params.",
        "operationId": "RetrieveaCustomerinfo",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "params",
            "in": "query",
            "description": "URL-encoded array of search params.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "{\"main_attributes\": [\"birthday\": \"1999-01-01\", \"passport\": \"740373442\", \"company_id\": \"123456\", \"vat_id\": \"1\"]}"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomerinfoResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "birthday": "",
                        "passport": "",
                        "company_id": "",
                        "contact_person": "",
                        "vat_id": "",
                        "updated_at": ""
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "birthday": "",
                  "passport": "",
                  "company_id": "",
                  "contact_person": "",
                  "vat_id": "",
                  "updated_at": ""
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Customers"
        ],
        "summary": "Update a Customer info",
        "description": "Work with Customer info. \"Birthday\" and \"Passport number\" is for customers in category 'person'. \"Company ID\" and \"VAT ID\" for customers in category 'company'.Update the Customer info with the given ID.",
        "operationId": "UpdateaCustomerinfo",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "params",
            "in": "query",
            "description": "URL-encoded array of search params.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "{\"main_attributes\": [\"birthday\": \"1999-01-01\", \"passport\": \"740373442\", \"company_id\": \"123456\", \"vat_id\": \"1\"]}"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "passport": {
                    "type": "string"
                  }
                },
                "example": {
                  "passport": "ER424242"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/billing-info/{customer_id}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Get customer billing (blocking) info",
        "description": "Get customer billing infoGet customer billing (blocking) info.\n\nFor daily prepaid customers will be returned the following fields:\n\n* howManyDaysLeft\n\n* paymentPerPeriod\n\n* paymentPerDay\n\n* deposit\n\n* services_name\n\n* blocking_date\n\nFor monthly prepaid customers will be returned the following fields:\n\n* howManyMonthsLeft\n\n* howManyDaysLeft\n\n* blockInNextBillingCycle\n\n* paymentPerMonth\n\n* paymentPerDay\n\n* deposit\n\n* services_name\n\n* blocking_date\n\n* service\n\nFor recurring paid customers will be returned the following fields:\n\n* blockingEnabled\n\n* blockInNextBillingCycle\n\n* status\n\n* lowBalance\n\n* howManyDaysLeft\n\n* blocking_date\n\n* deposit\n\n* blockInNextBillingCycle\n\n* is_already_blocked\n\n* is_already_disabled",
        "operationId": "Getcustomerbilling(blocking)info",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "format_values",
            "in": "query",
            "description": "Return output values in system format.",
            "required": true,
            "schema": {
              "type": "boolean",
              "example": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BillingInfoResponse"
                    },
                    {
                      "example": {
                        "howManyMonthsLeft": 1,
                        "howManyDaysLeft": 28,
                        "paymentPerMonth": 175.67,
                        "paymentPerDay": 6.2739,
                        "deposit": 235.09,
                        "blocking_date": "2019-03-25"
                      }
                    }
                  ]
                },
                "example": {
                  "howManyMonthsLeft": 1,
                  "howManyDaysLeft": 28,
                  "paymentPerMonth": 175.67,
                  "paymentPerDay": 6.2739,
                  "deposit": 235.09,
                  "blocking_date": "2019-03-25"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-payment-accounts": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Get customer all payment accounts info",
        "description": "Get customer billing infoGet customer all payment accounts info",
        "operationId": "Getcustomerallpaymentaccountsinfo",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentaccountsResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "title": "Stripe",
                      "field_1": "Stripe customer account ID",
                      "field_2": "Stripe card id",
                      "field_3": "Card Brand name",
                      "field_4": "Card 4last digits",
                      "field_5": "Card exp month",
                      "field_6": "extra value",
                      "field_7": "extra value",
                      "field_8": "extra value",
                      "field_9": "extra value",
                      "field_10": "extra value"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "title": "Stripe",
                    "field_1": "Stripe customer account ID",
                    "field_2": "Stripe card id",
                    "field_3": "Card Brand name",
                    "field_4": "Card 4last digits",
                    "field_5": "Card exp month",
                    "field_6": "extra value",
                    "field_7": "extra value",
                    "field_8": "extra value",
                    "field_9": "extra value",
                    "field_10": "extra value"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-payment-accounts/{id}": {
      "put": {
        "tags": [
          "Customers"
        ],
        "summary": "Update customer payment account",
        "description": "Get customer billing infoUpdate customer payment account data by customer id and payment account id.",
        "operationId": "Updatecustomerpaymentaccount",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Composite ID `customerId--accountId` (e.g. `1--2`: 1 - ID of customer, 2 - ID of payment account).",
            "required": true,
            "schema": {
              "type": "string",
              "example": "1--2"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Updatecustomerpaymentaccountrequest"
              },
              "example": {
                "field_1": "new value"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Customers"
        ],
        "summary": "Remove customer payment account",
        "description": "Get customer billing infoRemove customer payment account data.",
        "operationId": "Removecustomerpaymentaccount",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Composite ID `customerId--accountId` (e.g. `1--2`: 1 - ID of customer, 2 - ID of payment account).",
            "required": true,
            "schema": {
              "type": "string",
              "example": "1--2"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-payment-account-data": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Get customer all payment accounts data",
        "description": "Get customer billing infoGet all customer payment accounts data",
        "operationId": "Getcustomerallpaymentaccountsdata",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Paymentaccountdata"
                  },
                  "description": "",
                  "example": [
                    {
                      "account_id": 1,
                      "customer_id": "1",
                      "field_1": "``",
                      "field_2": "``",
                      "field_3": "``",
                      "field_4": "``",
                      "field_5": "``",
                      "field_6": "``",
                      "field_7": "``",
                      "field_8": "``",
                      "field_9": "``",
                      "field_10": "``"
                    }
                  ]
                },
                "example": [
                  {
                    "account_id": 1,
                    "customer_id": "1",
                    "field_1": "``",
                    "field_2": "``",
                    "field_3": "``",
                    "field_4": "``",
                    "field_5": "``",
                    "field_6": "``",
                    "field_7": "``",
                    "field_8": "``",
                    "field_9": "``",
                    "field_10": "``"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-statistics": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Total customer statistics",
        "description": "Get all statistics from all Customers.",
        "operationId": "Totalcustomerstatistics",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerStatistics"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "customer_id": 1,
                      "service_id": "1",
                      "tariff_id": "1",
                      "partner_id": "1",
                      "nas_id": "1",
                      "login": "",
                      "in_bytes": "0",
                      "out_bytes": "0",
                      "start_date": "0000-00-00",
                      "start_time": "00:00:00",
                      "end_date": "1970-01-01",
                      "end_time": "01:00:00",
                      "ipv4": "0.0.0.0",
                      "ipv6": "",
                      "mac": "",
                      "call_to": "",
                      "port": "",
                      "error": "0",
                      "error_repeat": "0",
                      "price": "0.0000",
                      "session_id": "",
                      "terminate_cause": ""
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "customer_id": 1,
                    "service_id": "1",
                    "tariff_id": "1",
                    "partner_id": "1",
                    "nas_id": "1",
                    "login": "",
                    "in_bytes": "0",
                    "out_bytes": "0",
                    "start_date": "0000-00-00",
                    "start_time": "00:00:00",
                    "end_date": "1970-01-01",
                    "end_time": "01:00:00",
                    "ipv4": "0.0.0.0",
                    "ipv6": "",
                    "mac": "",
                    "call_to": "",
                    "port": "",
                    "error": "0",
                    "error_repeat": "0",
                    "price": "0.0000",
                    "session_id": "",
                    "terminate_cause": ""
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-statistics/{id}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Customer statistic",
        "description": "Get all statistics of specified Customer.",
        "operationId": "Customerstatistic",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerStatistics"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "customer_id": 1,
                      "service_id": "1",
                      "tariff_id": "1",
                      "partner_id": "1",
                      "nas_id": "1",
                      "login": "",
                      "in_bytes": "0",
                      "out_bytes": "0",
                      "start_date": "0000-00-00",
                      "start_time": "00:00:00",
                      "end_date": "1970-01-01",
                      "end_time": "01:00:00",
                      "ipv4": "0.0.0.0",
                      "ipv6": "",
                      "mac": "",
                      "call_to": "",
                      "port": "",
                      "error": "0",
                      "error_repeat": "0",
                      "price": "0.0000",
                      "session_id": "",
                      "terminate_cause": ""
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "customer_id": 1,
                    "service_id": "1",
                    "tariff_id": "1",
                    "partner_id": "1",
                    "nas_id": "1",
                    "login": "",
                    "in_bytes": "0",
                    "out_bytes": "0",
                    "start_date": "0000-00-00",
                    "start_time": "00:00:00",
                    "end_date": "1970-01-01",
                    "end_time": "01:00:00",
                    "ipv4": "0.0.0.0",
                    "ipv6": "",
                    "mac": "",
                    "call_to": "",
                    "port": "",
                    "error": "0",
                    "error_repeat": "0",
                    "price": "0.0000",
                    "session_id": "",
                    "terminate_cause": ""
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-traffic-counter": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Get list of customer traffic counters",
        "description": "Work with customer traffic counters.Get list of customer traffic counters for internet service.",
        "operationId": "Getlistofcustomertrafficcounters",
        "parameters": [
          {
            "name": "sub_id",
            "in": "query",
            "description": "Optional. Available for the main LBA (Linked Billing Account) customer. When provided, returns the traffic counters of the sub-account's services; the sub-account must belong to the main customer taken from the token.",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Trafficcounter"
                  },
                  "description": "",
                  "example": [
                    {
                      "service_id": 1,
                      "date": "2018-01-15",
                      "up": 333,
                      "down": 444
                    }
                  ]
                },
                "example": [
                  {
                    "service_id": 1,
                    "date": "2018-01-15",
                    "up": 333,
                    "down": 444
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Create traffic counters record",
        "description": "Work with customer traffic counters.Create the traffic counters record for internet service.",
        "operationId": "Createtrafficcountersrecord",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Trafficcounter"
              },
              "example": {
                "service_id": 1,
                "date": "2018-01-15",
                "up": 333,
                "down": 444
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TrafficcountercreateResponse"
                    },
                    {
                      "example": {
                        "service_id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "service_id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-traffic-counter/{service_id}--{date}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Get customer traffic counters",
        "description": "Work with customer traffic counters for internet service.Get the customer traffic counters for internet service by specify `service_id` and `date`",
        "operationId": "Getcustomertrafficcounters",
        "parameters": [
          {
            "name": "service_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "date",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2023-01-01"
            }
          },
          {
            "name": "sub_id",
            "in": "query",
            "description": "Optional. Available for the main LBA (Linked Billing Account) customer. When provided, returns the traffic counter of the sub-account's service; the sub-account must belong to the main customer taken from the token, and the service must belong to that sub-account.",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Trafficcounter"
                  },
                  "description": "",
                  "example": [
                    {
                      "service_id": 1,
                      "date": "2018-01-15",
                      "up": 333,
                      "down": 444
                    }
                  ]
                },
                "example": [
                  {
                    "service_id": 1,
                    "date": "2018-01-15",
                    "up": 333,
                    "down": 444
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Customers"
        ],
        "summary": "Update customer traffic counters",
        "description": "Work with customer traffic counters for internet service.Update the customer traffic counters for internet service by specify `service_id` and `date`",
        "operationId": "Updatecustomertrafficcounters",
        "parameters": [
          {
            "name": "service_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "date",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2023-01-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Trafficcounter"
                  },
                  "description": "",
                  "example": [
                    {
                      "service_id": 1,
                      "date": "2018-01-15",
                      "up": 333,
                      "down": 444
                    }
                  ]
                },
                "example": [
                  {
                    "service_id": 1,
                    "date": "2018-01-15",
                    "up": 333,
                    "down": 444
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Customers"
        ],
        "summary": "Delete customer traffic counters",
        "description": "Work with customer traffic counters for internet service.Delete the customer traffic counters for internet service by specify `service_id` and `date`",
        "operationId": "Deletecustomertrafficcounters",
        "parameters": [
          {
            "name": "service_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "date",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2023-01-01"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-billing/{id}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Get billing",
        "description": "Get desired Customer billing.",
        "operationId": "Getbilling",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomerBilling"
                    },
                    {
                      "example": {
                        "customer_id": 1,
                        "enabled": 1,
                        "type": "1",
                        "deposit": "7412.0000",
                        "billing_date": "1",
                        "billing_due": "2",
                        "blocking_period": "0",
                        "grace_period": "3",
                        "make_invoices": "1",
                        "payment_method": "1",
                        "min_balance": "0.0000",
                        "request_auto_enable": "0",
                        "request_auto_day": "1",
                        "request_auto_period": "0",
                        "reminder_enable": "1",
                        "reminder_day_1": "2",
                        "reminder_day_2": "8",
                        "reminder_day_3": "20",
                        "reminder_payment": "0",
                        "reminder_payment_value": "0.0000",
                        "reminder_payment_comment": "",
                        "reminder_type": "0",
                        "billing_person": "",
                        "billing_street_1": "",
                        "billing_zip_code": "",
                        "billing_city": "",
                        "sub_billing_mode": "independent",
                        "request_auto_type": 1,
                        "request_auto_next": "0000-00-00",
                        "send_finance_notification": "1",
                        "partner_percent": "0.0000"
                      }
                    }
                  ]
                },
                "example": {
                  "customer_id": 1,
                  "enabled": 1,
                  "type": "1",
                  "deposit": "7412.0000",
                  "billing_date": "1",
                  "billing_due": "2",
                  "blocking_period": "0",
                  "grace_period": "3",
                  "make_invoices": "1",
                  "payment_method": "1",
                  "min_balance": "0.0000",
                  "request_auto_enable": "0",
                  "request_auto_day": "1",
                  "request_auto_period": "0",
                  "reminder_enable": "1",
                  "reminder_day_1": "2",
                  "reminder_day_2": "8",
                  "reminder_day_3": "20",
                  "reminder_payment": "0",
                  "reminder_payment_value": "0.0000",
                  "reminder_payment_comment": "",
                  "reminder_type": "0",
                  "billing_person": "",
                  "billing_street_1": "",
                  "billing_zip_code": "",
                  "billing_city": "",
                  "sub_billing_mode": "independent",
                  "request_auto_type": 1,
                  "request_auto_next": "0000-00-00",
                  "send_finance_notification": "1",
                  "partner_percent": "0.0000"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Customers"
        ],
        "summary": "Update billing",
        "description": "Update desired Customer billing.",
        "operationId": "Updatebilling",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Updatebillingrequest"
              },
              "example": {
                "make_invoices": 0
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customers-online": {
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Set customer as online",
        "description": "Add customer to online list.",
        "operationId": "Setcustomerasonline",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerOnlineBase"
              },
              "example": {
                "customer_id": "1",
                "service_id": "1",
                "tariff_id": "1",
                "partner_id": "1",
                "nas_id": "1",
                "login": "login_8873",
                "username_real": "14:71:0e:fc:ec:fa",
                "in_bytes": "100125",
                "out_bytes": "100998",
                "start_session": "2016-01-01 16:05:28",
                "ipv4": "10.0.0.1",
                "ipv6": "",
                "ipv6_prefix": "2001:db8::/32",
                "mac": "",
                "call_to": "",
                "port": "",
                "price": "0.0000",
                "time_on": "0",
                "last_change": "2016-01-15 16:05:28",
                "type": "mikrotik_api",
                "login_is": "user",
                "session_id": "",
                "nas_identifier": "BRANCH-ROUTER-01"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/OnlineId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "List all online customers",
        "description": "Returns list of your online customers.",
        "operationId": "Listallonlinecustomers",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerOnlineResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "customer_id": "1",
                      "service_id": "1",
                      "tariff_id": "1",
                      "partner_id": "1",
                      "nas_id": "1",
                      "login": "login_8873",
                      "username_real": "14:71:0e:fc:ec:fa",
                      "in_bytes": "100125",
                      "out_bytes": "100998",
                      "start_session": "2016-01-01 16:05:28",
                      "ipv4": "10.0.0.1",
                      "ipv6": "",
                      "ipv6_prefix": "2001:db8::/32",
                      "mac": "",
                      "call_to": "",
                      "port": "",
                      "price": "0.0000",
                      "time_on": "0",
                      "last_change": "2016-01-15 16:05:28",
                      "type": "mikrotik_api",
                      "login_is": "user",
                      "session_id": "",
                      "nas_identifier": "BRANCH-ROUTER-01",
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "customer_id": "1",
                    "service_id": "1",
                    "tariff_id": "1",
                    "partner_id": "1",
                    "nas_id": "1",
                    "login": "login_8873",
                    "username_real": "14:71:0e:fc:ec:fa",
                    "in_bytes": "100125",
                    "out_bytes": "100998",
                    "start_session": "2016-01-01 16:05:28",
                    "ipv4": "10.0.0.1",
                    "ipv6": "",
                    "ipv6_prefix": "2001:db8::/32",
                    "mac": "",
                    "call_to": "",
                    "port": "",
                    "price": "0.0000",
                    "time_on": "0",
                    "last_change": "2016-01-15 16:05:28",
                    "type": "mikrotik_api",
                    "login_is": "user",
                    "session_id": "",
                    "nas_identifier": "BRANCH-ROUTER-01",
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customers-online/{id}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Retrieve online customer",
        "description": "Work with online customer.Retrieves online customer.",
        "operationId": "Retrieveonlinecustomer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired online customer record. **Beware: this is not customer ID!!!**",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomerOnlineResponse"
                    },
                    {
                      "example": {
                        "customer_id": "1",
                        "service_id": "1",
                        "tariff_id": "1",
                        "partner_id": "1",
                        "nas_id": "1",
                        "login": "login_8873",
                        "username_real": "14:71:0e:fc:ec:fa",
                        "in_bytes": "100125",
                        "out_bytes": "100998",
                        "start_session": "2016-01-01 16:05:28",
                        "ipv4": "10.0.0.1",
                        "ipv6": "",
                        "ipv6_prefix": "2001:db8::/32",
                        "mac": "",
                        "call_to": "",
                        "port": "",
                        "price": "0.0000",
                        "time_on": "0",
                        "last_change": "2016-01-15 16:05:28",
                        "type": "mikrotik_api",
                        "login_is": "user",
                        "session_id": "",
                        "nas_identifier": "BRANCH-ROUTER-01",
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "customer_id": "1",
                  "service_id": "1",
                  "tariff_id": "1",
                  "partner_id": "1",
                  "nas_id": "1",
                  "login": "login_8873",
                  "username_real": "14:71:0e:fc:ec:fa",
                  "in_bytes": "100125",
                  "out_bytes": "100998",
                  "start_session": "2016-01-01 16:05:28",
                  "ipv4": "10.0.0.1",
                  "ipv6": "",
                  "ipv6_prefix": "2001:db8::/32",
                  "mac": "",
                  "call_to": "",
                  "port": "",
                  "price": "0.0000",
                  "time_on": "0",
                  "last_change": "2016-01-15 16:05:28",
                  "type": "mikrotik_api",
                  "login_is": "user",
                  "session_id": "",
                  "nas_identifier": "BRANCH-ROUTER-01",
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Customers"
        ],
        "summary": "Update online customer",
        "description": "Work with online customer.Update online customer.",
        "operationId": "Updateonlinecustomer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired online customer record. **Beware: this is not customer ID!!!**",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Updateonlinecustomerrequest"
              },
              "example": {
                "in_bytes": 106325,
                "out_bytes": 3314247
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Customers"
        ],
        "summary": "Remove customer from online",
        "description": "Work with online customer.Remove customer from online list.",
        "operationId": "Removecustomerfromonline",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired online customer record. **Beware: this is not customer ID!!!**",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customers-online/{id}--kill": {
      "put": {
        "tags": [
          "Customers"
        ],
        "summary": "Disconnect online customer",
        "description": "Work with online customer.Disconnect online customer and remove customer from online list.",
        "operationId": "Disconnectonlinecustomer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired customer",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Disconnectonlinecustomerrequest"
              },
              "example": {
                "service_id": 5
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-documents": {
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Create customer document",
        "description": "Create customer document record before next step **file upload**.",
        "operationId": "Createcustomerdocument",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerDocumentsRequest"
              },
              "example": {
                "customer_id": 1,
                "type": "uploaded",
                "title": "customer document title",
                "description": "document description",
                "visible_by_customer": "0",
                "contract_date": "2017-01-01"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomerDocumentsID"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-documents/{id}--upload": {
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Upload file for customer document",
        "description": "Work with online customer documents.Upload file for **existing customer document record**.",
        "operationId": "Uploadfileforcustomerdocument",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired customer document. **Beware: this is customer document ID!!!**",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "required": [
                  "file"
                ],
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary",
                    "description": "File to upload."
                  }
                }
              },
              "example": {
                "file": "(binary content)"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-documents/{id}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Retrieve customer documents list",
        "description": "Work with online customer documents list.Retrieves customer documents list.",
        "operationId": "Retrievecustomerdocumentslist",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the customer (parent). Returns the list of documents owned by this customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerDocumentsResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "added_by": "api",
                      "added_by_id": 1,
                      "customer_id": 1,
                      "type": "uploaded",
                      "title": "customer document title",
                      "created_at": "2017-01-01 16:05:28",
                      "updated_at": "2017-01-02 12:12:43",
                      "description": "document description",
                      "visible_by_customer": "0",
                      "filename_original": "SOME FILE NAME",
                      "filename_uploaded": "SOME FILE NAME",
                      "code": "file code",
                      "sign_date": "2017-01-01 16:05:28",
                      "terms_month": "1",
                      "end_of_term": "2017-02-01",
                      "sign_contract": "1",
                      "terms": false,
                      "download_link": "https://yourdomain/a",
                      "has_thumbnail": true,
                      "thumbnail_link": "https://yourdomain/b",
                      "contract_date": "2017-01-01"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "added_by": "api",
                    "added_by_id": 1,
                    "customer_id": 1,
                    "type": "uploaded",
                    "title": "customer document title",
                    "created_at": "2017-01-01 16:05:28",
                    "updated_at": "2017-01-02 12:12:43",
                    "description": "document description",
                    "visible_by_customer": "0",
                    "filename_original": "SOME FILE NAME",
                    "filename_uploaded": "SOME FILE NAME",
                    "code": "file code",
                    "sign_date": "2017-01-01 16:05:28",
                    "terms_month": "1",
                    "end_of_term": "2017-02-01",
                    "sign_contract": "1",
                    "terms": false,
                    "download_link": "https://yourdomain/a",
                    "has_thumbnail": true,
                    "thumbnail_link": "https://yourdomain/b",
                    "contract_date": "2017-01-01"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Customers"
        ],
        "summary": "Update a Customer Document",
        "description": "Work with online customer documents.Update the Customer Document with the given ID.",
        "operationId": "UpdateaCustomerDocument",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired customer document. **Beware: this is customer document ID!!!**",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  }
                },
                "example": {
                  "title": "new title",
                  "description": "new description"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Customers"
        ],
        "summary": "Delete Customer Document",
        "description": "Work with online customer documents.Delete Customer Document with the given document ID.",
        "operationId": "DeleteCustomerDocument",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired customer document. **Beware: this is customer document ID!!!**",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-documents/{id}--audit-trail": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Get audit trail for a Customer Document",
        "description": "Return the signing history for the given Customer Document. The payload combines final signing data (customer name, IP, contact, signed timestamp, signed hash) with the chronological activity log (sign/reject/OTP/agree events) collected from admin and portal logs via `SignActivityRecord`.",
        "operationId": "GetCustomerDocumentAuditTrail",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired customer document. **Beware: this is customer document ID!!!**",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "document_id": {
                      "type": "integer",
                      "description": "Customer document ID.",
                      "example": 1
                    },
                    "status": {
                      "type": "string",
                      "description": "Current document status.",
                      "enum": [
                        "",
                        "new",
                        "sent",
                        "signed",
                        "rejected",
                        "expired"
                      ],
                      "example": "signed"
                    },
                    "signing_data": {
                      "type": "object",
                      "nullable": true,
                      "description": "Final signing snapshot. Returns `null` if the document has not been signed via the portal signing flow.",
                      "properties": {
                        "customer_name": {
                          "type": "string",
                          "example": "John Doe"
                        },
                        "customer_ip": {
                          "type": "string",
                          "example": "192.0.2.10"
                        },
                        "customer_contact": {
                          "type": "string",
                          "description": "Email or phone used for OTP.",
                          "example": "john@example.com"
                        },
                        "signed_at": {
                          "type": "string",
                          "format": "date-time",
                          "example": "2026-04-20 14:15:32"
                        },
                        "signed_hash": {
                          "type": "string",
                          "description": "SHA-256 hash of the signed document content.",
                          "example": "9c56cc9a7b..."
                        }
                      }
                    },
                    "activity": {
                      "type": "array",
                      "description": "Chronological list of signing-related events for the document.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "action": {
                            "type": "string",
                            "description": "Event action name.",
                            "enum": [
                              "start_sign_document",
                              "send_otp",
                              "verify_otp",
                              "resend_otp",
                              "agree_sign_electronically",
                              "save_content_hash",
                              "sign_document",
                              "reject_sign_document"
                            ],
                            "example": "sign_document"
                          },
                          "datetime": {
                            "type": "string",
                            "format": "date-time",
                            "nullable": true,
                            "example": "2026-04-20 14:15:10"
                          },
                          "ip": {
                            "type": "string",
                            "example": "192.0.2.10"
                          },
                          "browser": {
                            "type": "string",
                            "example": "Mozilla/5.0 (...)"
                          },
                          "by": {
                            "type": "string",
                            "description": "Actor type \u2014 `customer` if the event came from the portal, `admin` if initiated by an administrator.",
                            "enum": [
                              "customer",
                              "admin"
                            ],
                            "example": "customer"
                          },
                          "administrator_id": {
                            "type": "integer",
                            "nullable": true,
                            "description": "Administrator ID when `by == admin`, otherwise `null`.",
                            "example": null
                          }
                        }
                      }
                    }
                  },
                  "example": {
                    "document_id": 1,
                    "status": "signed",
                    "signing_data": {
                      "customer_name": "John Doe",
                      "customer_ip": "192.0.2.10",
                      "customer_contact": "john@example.com",
                      "signed_at": "2026-04-20 14:15:32",
                      "signed_hash": "9c56cc9a7b..."
                    },
                    "activity": [
                      {
                        "action": "start_sign_document",
                        "datetime": "2026-04-20 14:14:55",
                        "ip": "192.0.2.10",
                        "browser": "Mozilla/5.0",
                        "by": "customer",
                        "administrator_id": null
                      },
                      {
                        "action": "sign_document",
                        "datetime": "2026-04-20 14:15:32",
                        "ip": "192.0.2.10",
                        "browser": "Mozilla/5.0",
                        "by": "customer",
                        "administrator_id": null
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/download/customer_documents--{id}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Download customer documents",
        "description": "You could find more details in [Download documents](#reference/config/download-documents) block.",
        "operationId": "Downloadcustomerdocuments",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired customer document. **Beware: this is customer document ID!!!**",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/DownloadResponse"
                    },
                    {
                      "example": {
                        "name": "test_document.pdf",
                        "content_type": "application\\/pdf",
                        "content": "VBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlIC9QYWdlC..."
                      }
                    }
                  ]
                },
                "example": {
                  "name": "test_document.pdf",
                  "content_type": "application\\/pdf",
                  "content": "VBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlIC9QYWdlC..."
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/send-documents": {
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Send customer document",
        "description": "Send documents to customer by instant message.Send customer document.",
        "operationId": "Sendcustomerdocument",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendDocument"
              },
              "example": {
                "type": "mail",
                "id": 5,
                "subject": "Customer contract",
                "document_type": "document",
                "template_id": 15,
                "message": "Hello customer, We have sent you a contract document",
                "send_to_billing_email": false,
                "copy_to": "test@test.com",
                "notification_category": "billing_and_payments"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Sendcustomerdocumentresponse"
                    },
                    {
                      "example": {
                        "id": 5
                      }
                    }
                  ]
                },
                "example": {
                  "id": 5
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/cap-history/{id}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Retrieve a history of Customer CAP",
        "description": "Work with Customers.Retrieves the history of Customer CAP with the given ID.",
        "operationId": "RetrieveahistoryofCustomerCAP",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CAPhistoryResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "service_id": "34",
                      "date_time": "2020-01-29 16:01:48",
                      "action": "manual_top_up",
                      "amount": 40480000,
                      "total_amount": 40480000
                    }
                  ]
                },
                "example": [
                  {
                    "service_id": "34",
                    "date_time": "2020-01-29 16:01:48",
                    "action": "manual_top_up",
                    "amount": 40480000,
                    "total_amount": 40480000
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-notes": {
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Create a customer comment",
        "description": "Creates a new customer comment.",
        "operationId": "Createacustomercomment",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomercommentBase"
              },
              "example": {
                "customer_id": 1,
                "datetime": "0000-00-00 00:00:00",
                "administrator_id": 1,
                "type": "comment",
                "pinned_date": "0000-00-00 00:00:00",
                "class": "info",
                "title": "title",
                "name": "name",
                "comment": "comment",
                "values": "values",
                "scheduled_send_time": "0000-00-00 00:00:00",
                "assigned_to": 1,
                "is_done": "1",
                "is_send": "1",
                "is_pinned": "1"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomercommentId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "List all customer comments",
        "description": "Returns a list of your customer comments.",
        "operationId": "Listallcustomercomments",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomercommentsResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "customer_id": 1,
                      "datetime": "0000-00-00 00:00:00",
                      "administrator_id": 1,
                      "type": "comment",
                      "pinned_date": "0000-00-00 00:00:00",
                      "class": "info",
                      "title": "title",
                      "name": "name",
                      "comment": "comment",
                      "values": "values",
                      "scheduled_send_time": "0000-00-00 00:00:00",
                      "assigned_to": 1,
                      "is_done": "1",
                      "is_send": "1",
                      "is_pinned": "1",
                      "id": 1,
                      "is_edited": "0"
                    }
                  ]
                },
                "example": [
                  {
                    "customer_id": 1,
                    "datetime": "0000-00-00 00:00:00",
                    "administrator_id": 1,
                    "type": "comment",
                    "pinned_date": "0000-00-00 00:00:00",
                    "class": "info",
                    "title": "title",
                    "name": "name",
                    "comment": "comment",
                    "values": "values",
                    "scheduled_send_time": "0000-00-00 00:00:00",
                    "assigned_to": 1,
                    "is_done": "1",
                    "is_send": "1",
                    "is_pinned": "1",
                    "id": 1,
                    "is_edited": "0"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-notes/{customer_id}--{id}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Retrieve a customer comment",
        "description": "Work with customer comment.Retrieves the customer comment with the given ID.",
        "operationId": "Retrieveacustomercomment",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired customer comment.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomercommentResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "customer_id": 1,
                        "datetime": "0000-00-00 00:00:00",
                        "administrator_id": 1,
                        "type": "comment",
                        "class": "info",
                        "title": "title",
                        "name": "name",
                        "comment": "comment",
                        "values": "values",
                        "scheduled_send_time": "0000-00-00 00:00:00",
                        "assigned_to": 1,
                        "is_done": "0",
                        "is_send": "0",
                        "is_edited": "0",
                        "is_pinned": "0"
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "customer_id": 1,
                  "datetime": "0000-00-00 00:00:00",
                  "administrator_id": 1,
                  "type": "comment",
                  "class": "info",
                  "title": "title",
                  "name": "name",
                  "comment": "comment",
                  "values": "values",
                  "scheduled_send_time": "0000-00-00 00:00:00",
                  "assigned_to": 1,
                  "is_done": "0",
                  "is_send": "0",
                  "is_edited": "0",
                  "is_pinned": "0"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-contacts": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "List customer contacts",
        "description": "Returns a list of `customer_contacts` rows. Pass `?customer_id={id}` to scope to a single customer (routes the request through `ContactBookService::list()` with the parent-row guard); optional `?contact_type=email` or `?contact_type=phone` filters by type. Without a `customer_id` filter the generic v2 search-by-attributes behaviour is used (`main_attributes[...]`, `additional_attributes[...]`, `order[...]`, `limit`, `offset` per the API intro).",
        "operationId": "Listcustomercontacts",
        "parameters": [
          {
            "name": "customer_id",
            "in": "query",
            "description": "Scope to a single customer. When provided, the request goes through the service path with the parent-row guard. Omit to fall back to the generic v2 search-by-attributes.",
            "required": false,
            "schema": {
              "type": "integer",
              "example": 1
            }
          },
          {
            "name": "contact_type",
            "in": "query",
            "description": "Filter by contact type. Only honoured together with `customer_id`.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "email",
                "phone"
              ],
              "example": "email"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomercontactsResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "customer_id": 1,
                      "contact_person_id": 1,
                      "contact_type": "email",
                      "contact_value": "alpha@example.com",
                      "label": "primary",
                      "country_code": null,
                      "is_primary": "1",
                      "is_whatsapp": "0",
                      "metadata": null,
                      "created_at": "2026-05-21 10:00:00",
                      "updated_at": "2026-05-21 10:00:00"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "customer_id": 1,
                    "contact_person_id": 1,
                    "contact_type": "email",
                    "contact_value": "alpha@example.com",
                    "label": "primary",
                    "country_code": null,
                    "is_primary": "1",
                    "is_whatsapp": "0",
                    "metadata": null,
                    "created_at": "2026-05-21 10:00:00",
                    "updated_at": "2026-05-21 10:00:00"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Create a customer contact",
        "description": "Creates a new row in `customer_contacts`.\n\n**URL forms** (both accepted, code is `$customerId = (int)($id ?? ($body['customer_id'] ?? 0))`):\n- `POST /admin/customers/customer-contacts` — `customer_id` in the body (shown here).\n- `POST /admin/customers/customer-contacts/{customer_id}` — `customer_id` in the URL path. **Canonical form used by the FE / generated SDK / `CustomerContactsCest::addEmail()`.** When using this form, the body `customer_id` is ignored. OpenAPI does not allow declaring this as a separate path entry because `/customer-contacts/{customer_id}` is structurally equivalent to the existing `/customer-contacts/{id}` (the latter targets a contact id for GET/PUT/DELETE).\n\n**Validation:** `contact_type` must be `email` or `phone`; `label` must be one of `primary`, `billing`, `additional`, `home`, `work`, `mobile`, `internal`; `country_code`/`is_whatsapp` are only valid for phone rows. When `is_primary=true`, the previous primary for the same `(customer_id, contact_type, label)` tuple is demoted atomically. When the partner's `authentication_field === 'email'`, primary emails must be unique across customers.",
        "operationId": "Createacustomercontact",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomercontactBase"
              },
              "example": {
                "customer_id": 1,
                "contact_type": "email",
                "contact_value": "alpha@example.com",
                "label": "primary",
                "is_primary": true
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomercontactId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          },
          "422": {
            "description": "Validation failed (invalid contact_type / label, duplicate primary email, last primary email cannot be deleted, etc.).",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactValidationError"
                  }
                },
                "example": [
                  {
                    "field": "",
                    "is_additional_attribute": false,
                    "message": "Invalid contact label."
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-contacts/{id}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Retrieve a customer contact",
        "description": "Retrieves the customer contact with the given ID.",
        "operationId": "Retrieveacustomercontact",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired customer contact.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomercontactResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "customer_id": 1,
                        "contact_type": "email",
                        "contact_value": "alpha@example.com",
                        "label": "primary",
                        "is_primary": "1"
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "customer_id": 1,
                  "contact_person_id": 1,
                  "contact_type": "email",
                  "contact_value": "alpha@example.com",
                  "label": "primary",
                  "country_code": null,
                  "is_primary": "1",
                  "is_whatsapp": "0",
                  "metadata": null,
                  "created_at": "2026-05-21 10:00:00",
                  "updated_at": "2026-05-21 10:00:00"
                }
              }
            }
          },
          "404": {
            "description": "Contact not found, or the composite `{customer_id}--{id}` URL form was used and the row does not belong to that customer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactErrorResponse"
                },
                "example": {
                  "error": {
                    "message": "Contact not found.",
                    "code": 404,
                    "internal_code": "NOT_FOUND"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Customers"
        ],
        "summary": "Update a customer contact",
        "description": "Updates an existing contact. Fields `customer_id`, `contact_type`, and `is_primary` cannot be changed via this endpoint (the last is owned by the create/promote flow). For email rows, `country_code` and `is_whatsapp` are rejected.",
        "operationId": "Updateacustomercontact",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired customer contact.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomercontactUpdateRequest"
              },
              "example": {
                "contact_value": "beta@example.com",
                "label": "billing"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          },
          "422": {
            "description": "Validation failed.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactValidationError"
                  }
                },
                "example": [
                  {
                    "field": "",
                    "is_additional_attribute": false,
                    "message": "Field \"is_primary\" cannot be changed via update; use a dedicated method."
                  }
                ]
              }
            }
          },
          "404": {
            "description": "Contact (or, for leads endpoints, the parent lead row) not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactErrorResponse"
                },
                "example": {
                  "error": {
                    "message": "Contact not found.",
                    "code": 404,
                    "internal_code": "NOT_FOUND"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Customers"
        ],
        "summary": "Delete a customer contact",
        "description": "Deletes a customer contact. When the partner is configured with email authentication (`authentication_field === 'email'`), refuses to delete the last `is_primary = 1` email row of the customer — otherwise deletion proceeds. Phone primaries are never guarded.",
        "operationId": "Deleteacustomercontact",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired customer contact.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          },
          "422": {
            "description": "Cannot delete the last primary email (only fires when `authentication_field === 'email'`).",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactValidationError"
                  }
                },
                "example": [
                  {
                    "field": "",
                    "is_additional_attribute": false,
                    "message": "Cannot delete the last primary email."
                  }
                ]
              }
            }
          },
          "404": {
            "description": "Contact (or, for leads endpoints, the parent lead row) not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactErrorResponse"
                },
                "example": {
                  "error": {
                    "message": "Contact not found.",
                    "code": 404,
                    "internal_code": "NOT_FOUND"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-contacts/{customer_id}--{id}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Retrieve a customer contact (with ownership check)",
        "description": "Retrieves a customer contact, asserting that it belongs to the given customer. Returns `404` if the row exists but is owned by a different customer.",
        "operationId": "Retrieveacustomercontactwithownership",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired customer contact.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomercontactResponse"
                },
                "example": {
                  "id": 1,
                  "customer_id": 1,
                  "contact_person_id": 1,
                  "contact_type": "email",
                  "contact_value": "alpha@example.com",
                  "label": "primary",
                  "country_code": null,
                  "is_primary": "1",
                  "is_whatsapp": "0",
                  "metadata": null,
                  "created_at": "2026-05-21 10:00:00",
                  "updated_at": "2026-05-21 10:00:00"
                }
              }
            }
          },
          "404": {
            "description": "Contact not found, or the composite `{customer_id}--{id}` URL form was used and the row does not belong to that customer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactErrorResponse"
                },
                "example": {
                  "error": {
                    "message": "Contact not found.",
                    "code": 404,
                    "internal_code": "NOT_FOUND"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-tariffs/{id}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "List customer tariffs",
        "description": "Returns tariffs available for a specific customer, filtered by the customer's profile attributes.\n\n## Filtering logic\n\nOnly tariffs marked as `available_for_services = true` are returned (for one-time tariffs: `enabled = true`).\n\nTariffs are then filtered based on the customer's profile:\n\n| Filter | Logic |\n|--------|-------|\n| **Portal visibility** | Admin requests: excludes tariffs with `hide_on_admin_portal = true`. Customer requests: only includes tariffs with `show_on_customer_portal = true`. |\n| **Partner** | Tariff's `partners_ids` must include the customer's `partner_id`. |\n| **Billing type** | Tariff's `billing_types` must include the customer's `billing_type`. |\n| **Location** | If the tariff has `available_for_locations` set, the customer's `location_id` must be in the list. |\n| **Category** | If the tariff has `customer_categories` set, the customer's `category` must match. |\n| **Labels** | If the tariff requires `customer_labels`, the customer must have **all** of them. If the customer has no labels, the tariff is excluded. |\n\nA tariff type is only included in the response if the corresponding module (Internet, Voice, Recurring, One-Time, Bundle) is enabled in the system.\n\n## Response structure\n\nWhen no `types` filter is applied or multiple types are requested, the response is an object keyed by tariff type.\n\nWhen exactly one type is requested (e.g. `types[]=internet`), the response is a flat array of tariffs of that type.\n\nBundle tariffs include embedded `internet_tariffs`, `voice_tariffs`, and `recurring_tariffs` arrays.\n\n## Customer vs Admin access\n\nBoth admin and customer users can call this endpoint. Customers can only request their own tariffs (the `id` must match the authenticated customer). For customer requests, `partners_ids` and `billing_types` fields are hidden from each tariff object in the response.",
        "operationId": "Listcustomertariffs",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "types[]",
            "in": "query",
            "description": "Filter response to specific tariff types. Can be passed multiple times to request several types. If omitted, all available types are returned.",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "internet",
                  "voice",
                  "recurring",
                  "one-time",
                  "bundle"
                ]
              }
            },
            "example": [
              "internet",
              "bundle"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "Tariffs available for the customer, grouped by type (or flat array if single type requested).",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "internet": {
                      "type": "array",
                      "description": "Internet tariffs available for the customer.",
                      "items": {
                        "type": "object"
                      }
                    },
                    "voice": {
                      "type": "array",
                      "description": "Voice tariffs available for the customer.",
                      "items": {
                        "type": "object"
                      }
                    },
                    "recurring": {
                      "type": "array",
                      "description": "Recurring tariffs available for the customer.",
                      "items": {
                        "type": "object"
                      }
                    },
                    "one-time": {
                      "type": "array",
                      "description": "One-time tariffs available for the customer.",
                      "items": {
                        "type": "object"
                      }
                    },
                    "bundle": {
                      "type": "array",
                      "description": "Bundle tariffs with embedded internet_tariffs, voice_tariffs, recurring_tariffs.",
                      "items": {
                        "type": "object"
                      }
                    }
                  }
                },
                "example": {
                  "internet": [
                    {
                      "id": 1,
                      "title": "Internet 100Mbps",
                      "service_name": "internet_100",
                      "price": 50,
                      "with_vat": true,
                      "vat_percent": 20,
                      "speed_download": 102400,
                      "speed_upload": 51200,
                      "partners_ids": [
                        "1"
                      ],
                      "billing_types": [
                        "recurring",
                        "prepaid"
                      ],
                      "customer_categories": [
                        "person",
                        "company"
                      ],
                      "available_for_locations": [
                        1,
                        2
                      ],
                      "hide_on_admin_portal": false,
                      "show_on_customer_portal": true,
                      "available_for_services": true
                    }
                  ],
                  "voice": [],
                  "recurring": [
                    {
                      "id": 3,
                      "title": "Static IP",
                      "service_name": "static_ip",
                      "price": 5,
                      "with_vat": true,
                      "vat_percent": 20,
                      "partners_ids": [
                        "1"
                      ],
                      "billing_types": [
                        "recurring"
                      ],
                      "hide_on_admin_portal": false,
                      "show_on_customer_portal": true,
                      "available_for_services": true
                    }
                  ],
                  "one-time": [
                    {
                      "id": 5,
                      "title": "Installation Fee",
                      "service_name": "install_fee",
                      "price": 100,
                      "with_vat": true,
                      "vat_percent": 20,
                      "enabled": true
                    }
                  ],
                  "bundle": [
                    {
                      "id": 1,
                      "title": "Home Bundle",
                      "service_name": "home_bundle",
                      "price": 75,
                      "with_vat": true,
                      "partners_ids": [
                        "1"
                      ],
                      "billing_types": [
                        "recurring"
                      ],
                      "available_for_services": true,
                      "internet_tariffs": [
                        {
                          "id": 2,
                          "title": "Bundle Internet 50Mbps",
                          "price": 40
                        }
                      ],
                      "voice_tariffs": [
                        {
                          "id": 1,
                          "title": "Bundle VoIP",
                          "price": 10
                        }
                      ],
                      "recurring_tariffs": []
                    }
                  ]
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/prepaid-cards-series": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Vouchers series",
        "description": "Get all series of vouchers.",
        "operationId": "Vouchersseries",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CardsPrepaidSeries"
                  },
                  "description": "",
                  "example": [
                    {
                      "serie": "201801",
                      "prefix": "SPLCP",
                      "amount": 15,
                      "created_at": "2018-01-12 10:55:34"
                    }
                  ]
                },
                "example": [
                  {
                    "serie": "201801",
                    "prefix": "SPLCP",
                    "amount": 15,
                    "created_at": "2018-01-12 10:55:34"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Create Vouchers serie",
        "description": "Creates new vouchers series.",
        "operationId": "CreateVouchersserie",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CardsPrepaidCreatenew"
              },
              "example": {
                "prefix": "PREFIX-",
                "quantity": 10,
                "price": 5,
                "valid_till": "2019-01-01",
                "pool_id": -1,
                "partner_id": 0,
                "location_id": 0,
                "speed_download": 1024,
                "speed_upload": 1024,
                "traffic_in_total": 5000,
                "traffic_out_total": 5000,
                "traffic_all_total": 9000,
                "time_online": 48,
                "time_online_selector": "hours",
                "expired_by": "valid_date"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CardsPrepaidSeriesId"
                    },
                    {
                      "example": {
                        "serie": "201803"
                      }
                    }
                  ]
                },
                "example": {
                  "serie": "201803"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/prepaid-cards-series/{serie_id}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Retrieve vouchers list",
        "description": "Work with customer vouchers (prepaid cards) series list.Retrieves vouchers list by serie.",
        "operationId": "Retrievevoucherslist",
        "parameters": [
          {
            "name": "serie_id",
            "in": "path",
            "description": "The serie of the desired vouchers list. **Beware: this is serie!!!**",
            "required": true,
            "schema": {
              "type": "string",
              "example": "201801"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CardsPrepaidserie"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 120,
                      "status": "new",
                      "login": "SomeRANdomGeneratedLogin",
                      "speed_download": 1024,
                      "speed_upload": 1024,
                      "traffic_in_total": 5000,
                      "traffic_in_used": 0,
                      "traffic_out_total": 5000,
                      "traffic_out_used": 0,
                      "traffic_all_total": 9000,
                      "traffic_all_used": 0,
                      "time_online": 48,
                      "time_online_selector": "hours",
                      "time_online_used": 0
                    }
                  ]
                },
                "example": [
                  {
                    "id": 120,
                    "status": "new",
                    "login": "SomeRANdomGeneratedLogin",
                    "speed_download": 1024,
                    "speed_upload": 1024,
                    "traffic_in_total": 5000,
                    "traffic_in_used": 0,
                    "traffic_out_total": 5000,
                    "traffic_out_used": 0,
                    "traffic_all_total": 9000,
                    "traffic_all_used": 0,
                    "time_online": 48,
                    "time_online_selector": "hours",
                    "time_online_used": 0
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Customers"
        ],
        "summary": "Update vouchers serie",
        "description": "Work with customer vouchers (prepaid cards) series list.Update vouchers serie with the given serie.",
        "operationId": "Updatevouchersserie",
        "parameters": [
          {
            "name": "serie_id",
            "in": "path",
            "description": "The serie of the desired vouchers list. **Beware: this is serie!!!**",
            "required": true,
            "schema": {
              "type": "string",
              "example": "201801"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Updatevouchersserierequest"
              },
              "example": {
                "prefix": "PREFIX2"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Customers"
        ],
        "summary": "Delete vouchers serie",
        "description": "Work with customer vouchers (prepaid cards) series list.Delete vouchers serie with the given series.",
        "operationId": "Deletevouchersserie",
        "parameters": [
          {
            "name": "serie_id",
            "in": "path",
            "description": "The serie of the desired vouchers list. **Beware: this is serie!!!**",
            "required": true,
            "schema": {
              "type": "string",
              "example": "201801"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/prepaid-cards": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Vouchers collection",
        "description": "Get all vouchers.",
        "operationId": "Voucherscollection",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CardsPrepaid"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 120,
                      "type": "prepaid",
                      "status": "new",
                      "price": 5,
                      "pool_id": 2,
                      "partner_id": 1,
                      "location_id": 2,
                      "speed_download": 1024,
                      "speed_upload": 1024,
                      "traffic_in_total": 5000,
                      "traffic_in_used": 0,
                      "traffic_in_used_mb": 0,
                      "traffic_out_total": 5000,
                      "traffic_out_used": 0,
                      "traffic_out_used_mb": 0,
                      "traffic_all_total": 9000,
                      "traffic_all_used": 0,
                      "traffic_all_used_mb": 0,
                      "prefix": "SPLCP",
                      "short_login": "SomeRANdomGeneratedLogin",
                      "login": "SPLCPSomeRANdomGeneratedLogin",
                      "password": "dJHBdwu56R",
                      "seller_name": "seller name",
                      "full_name": "full name",
                      "email": "test@email.box",
                      "phone": "1234567",
                      "remark": "remark",
                      "activated_at": "0000-00-00 00:00:00",
                      "time_online": 48,
                      "time_online_selector": "hours",
                      "time_online_used": 0,
                      "valid_till": "2018-12-31",
                      "time_expired": 0,
                      "mac": "00:00:00:00:00:00",
                      "customer_id": 1,
                      "tariff_id": 1,
                      "invoice_id": 1,
                      "expired_by_selector": "NULL",
                      "time_expired_selector": "minutes",
                      "serie": "201801",
                      "changed": "Y",
                      "is_import": "1",
                      "created_at": "2018-01-22 14:09:26",
                      "expired_by": "valid_date"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 120,
                    "type": "prepaid",
                    "status": "new",
                    "price": 5,
                    "pool_id": 2,
                    "partner_id": 1,
                    "location_id": 2,
                    "speed_download": 1024,
                    "speed_upload": 1024,
                    "traffic_in_total": 5000,
                    "traffic_in_used": 0,
                    "traffic_in_used_mb": 0,
                    "traffic_out_total": 5000,
                    "traffic_out_used": 0,
                    "traffic_out_used_mb": 0,
                    "traffic_all_total": 9000,
                    "traffic_all_used": 0,
                    "traffic_all_used_mb": 0,
                    "prefix": "SPLCP",
                    "short_login": "SomeRANdomGeneratedLogin",
                    "login": "SPLCPSomeRANdomGeneratedLogin",
                    "password": "dJHBdwu56R",
                    "seller_name": "seller name",
                    "full_name": "full name",
                    "email": "test@email.box",
                    "phone": "1234567",
                    "remark": "remark",
                    "activated_at": "0000-00-00 00:00:00",
                    "time_online": 48,
                    "time_online_selector": "hours",
                    "time_online_used": 0,
                    "valid_till": "2018-12-31",
                    "time_expired": 0,
                    "mac": "00:00:00:00:00:00",
                    "customer_id": 1,
                    "tariff_id": 1,
                    "invoice_id": 1,
                    "expired_by_selector": "NULL",
                    "time_expired_selector": "minutes",
                    "serie": "201801",
                    "changed": "Y",
                    "is_import": "1",
                    "created_at": "2018-01-22 14:09:26",
                    "expired_by": "valid_date"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/prepaid-cards/{id}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Retrieve voucher",
        "description": "Work with customer vouchers (prepaid card).Retrieves voucher by ID.",
        "operationId": "Retrievevoucher",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The id of the desired voucher.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 120
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CardsPrepaid"
                    },
                    {
                      "example": {
                        "id": 120,
                        "type": "prepaid",
                        "status": "new",
                        "price": 5,
                        "pool_id": 2,
                        "partner_id": 1,
                        "location_id": 2,
                        "speed_download": 1024,
                        "speed_upload": 1024,
                        "traffic_in_total": 5000,
                        "traffic_in_used": 0,
                        "traffic_in_used_mb": 0,
                        "traffic_out_total": 5000,
                        "traffic_out_used": 0,
                        "traffic_out_used_mb": 0,
                        "traffic_all_total": 9000,
                        "traffic_all_used": 0,
                        "traffic_all_used_mb": 0,
                        "prefix": "SPLCP",
                        "short_login": "SomeRANdomGeneratedLogin",
                        "login": "SPLCPSomeRANdomGeneratedLogin",
                        "password": "dJHBdwu56R",
                        "seller_name": "seller name",
                        "full_name": "full name",
                        "email": "test@email.box",
                        "phone": "1234567",
                        "remark": "remark",
                        "activated_at": "0000-00-00 00:00:00",
                        "time_online": 48,
                        "time_online_selector": "hours",
                        "time_online_used": 0,
                        "valid_till": "2018-12-31",
                        "time_expired": 0,
                        "mac": "00:00:00:00:00:00",
                        "customer_id": 1,
                        "tariff_id": 1,
                        "invoice_id": 1,
                        "expired_by_selector": "NULL",
                        "time_expired_selector": "minutes",
                        "serie": "201801",
                        "changed": "Y",
                        "is_import": "1",
                        "created_at": "2018-01-22 14:09:26",
                        "expired_by": "valid_date"
                      }
                    }
                  ]
                },
                "example": {
                  "id": 120,
                  "type": "prepaid",
                  "status": "new",
                  "price": 5,
                  "pool_id": 2,
                  "partner_id": 1,
                  "location_id": 2,
                  "speed_download": 1024,
                  "speed_upload": 1024,
                  "traffic_in_total": 5000,
                  "traffic_in_used": 0,
                  "traffic_in_used_mb": 0,
                  "traffic_out_total": 5000,
                  "traffic_out_used": 0,
                  "traffic_out_used_mb": 0,
                  "traffic_all_total": 9000,
                  "traffic_all_used": 0,
                  "traffic_all_used_mb": 0,
                  "prefix": "SPLCP",
                  "short_login": "SomeRANdomGeneratedLogin",
                  "login": "SPLCPSomeRANdomGeneratedLogin",
                  "password": "dJHBdwu56R",
                  "seller_name": "seller name",
                  "full_name": "full name",
                  "email": "test@email.box",
                  "phone": "1234567",
                  "remark": "remark",
                  "activated_at": "0000-00-00 00:00:00",
                  "time_online": 48,
                  "time_online_selector": "hours",
                  "time_online_used": 0,
                  "valid_till": "2018-12-31",
                  "time_expired": 0,
                  "mac": "00:00:00:00:00:00",
                  "customer_id": 1,
                  "tariff_id": 1,
                  "invoice_id": 1,
                  "expired_by_selector": "NULL",
                  "time_expired_selector": "minutes",
                  "serie": "201801",
                  "changed": "Y",
                  "is_import": "1",
                  "created_at": "2018-01-22 14:09:26",
                  "expired_by": "valid_date"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Customers"
        ],
        "summary": "Update voucher",
        "description": "Work with customer vouchers (prepaid card).Update voucher with the given ID.",
        "operationId": "Updatevoucher",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The id of the desired voucher.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 120
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Updatevoucherrequest"
              },
              "example": {
                "speed_download": 2048
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Customers"
        ],
        "summary": "Delete voucher",
        "description": "Work with customer vouchers (prepaid card).Delete voucher with the given ID.",
        "operationId": "Deletevoucher",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The id of the desired voucher.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 120
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/prepaid-cards-statistics": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Total vouchers statistics",
        "description": "Get all statistics from all vouchers.",
        "operationId": "Totalvouchersstatistics",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PrepaidCardsStatistics"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "card_id": 1,
                      "nas_id": "1",
                      "login": "",
                      "in_bytes": "0",
                      "out_bytes": "0",
                      "start_date": "0000-00-00",
                      "start_time": "00:00:00",
                      "end_date": "1970-01-01",
                      "end_time": "01:00:00",
                      "ipv4": "0.0.0.0",
                      "mac": "",
                      "call_to": "",
                      "port": "",
                      "error": "0",
                      "error_repeat": "0",
                      "session_id": "",
                      "terminate_cause": "0",
                      "nas_identifier": "'PPPD'"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "card_id": 1,
                    "nas_id": "1",
                    "login": "",
                    "in_bytes": "0",
                    "out_bytes": "0",
                    "start_date": "0000-00-00",
                    "start_time": "00:00:00",
                    "end_date": "1970-01-01",
                    "end_time": "01:00:00",
                    "ipv4": "0.0.0.0",
                    "mac": "",
                    "call_to": "",
                    "port": "",
                    "error": "0",
                    "error_repeat": "0",
                    "session_id": "",
                    "terminate_cause": "0",
                    "nas_identifier": "'PPPD'"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/prepaid-cards-statistics/{id}": {
      "get": {
        "tags": [
          "Customers"
        ],
        "summary": "Voucher statistic",
        "description": "Get all statistics of specified voucher.",
        "operationId": "Voucherstatistic",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired voucher.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PrepaidCardsStatistics"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "card_id": 1,
                      "nas_id": "1",
                      "login": "",
                      "in_bytes": "0",
                      "out_bytes": "0",
                      "start_date": "0000-00-00",
                      "start_time": "00:00:00",
                      "end_date": "1970-01-01",
                      "end_time": "01:00:00",
                      "ipv4": "0.0.0.0",
                      "mac": "",
                      "call_to": "",
                      "port": "",
                      "error": "0",
                      "error_repeat": "0",
                      "session_id": "",
                      "terminate_cause": "0",
                      "nas_identifier": "'PPPD'"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "card_id": 1,
                    "nas_id": "1",
                    "login": "",
                    "in_bytes": "0",
                    "out_bytes": "0",
                    "start_date": "0000-00-00",
                    "start_time": "00:00:00",
                    "end_date": "1970-01-01",
                    "end_time": "01:00:00",
                    "ipv4": "0.0.0.0",
                    "mac": "",
                    "call_to": "",
                    "port": "",
                    "error": "0",
                    "error_repeat": "0",
                    "session_id": "",
                    "terminate_cause": "0",
                    "nas_identifier": "'PPPD'"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/portal/profile/reset-password-request": {
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Reset password request",
        "description": "Reset customer password.Make request for resetting customer password.\n\nField `login_for_reset_password` is a customer login. Always required.\n\nField `email_for_reset_password` required if reset password type is `Email`.\n\nField `phone_number_for_reset_password` required if reset password type is `Sms`.\n\n#### Possible errors\n\n* `RESET_PASSWORD_DISABLED` - Resetting password is disabled in config.\n\n* `INVALID_INPUT_DATA` - Missed required parameters such as `login_for_reset_password` or `email_for_reset_password`.\n\n* `EXCEEDED_MAX_ATTEMPTS` - Exceeded max attempts of resetting customer password.",
        "operationId": "Resetpasswordrequest",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "At least one identifier (`login_for_reset_password`, `email_for_reset_password`, or `phone_number_for_reset_password`) must be provided.",
                "properties": {
                  "login_for_reset_password": {
                    "type": "string",
                    "description": "Customer login."
                  },
                  "email_for_reset_password": {
                    "type": "string",
                    "description": "Customer email."
                  },
                  "phone_number_for_reset_password": {
                    "type": "string",
                    "description": "Customer phone number."
                  }
                }
              },
              "example": {
                "login_for_reset_password": "john_doe"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/portal/profile/reset-password-confirm": {
      "post": {
        "tags": [
          "Customers"
        ],
        "summary": "Confirm reset password",
        "description": "Reset customer password.Confirm reset customer password.\n\n#### Possible errors\n\n* `RESET_PASSWORD_DISABLED` - Resetting password is disabled in config.\n\n* `INVALID_INPUT_DATA` - Missed required parameters such as `code` or `password_new`.\n\n* `RESET_PASSWORD_CODE_INVALID` - Verification code of resetting password is invalid.\n\n* `RESET_PASSWORD_FAIL` - Resetting password failed. Data validation failed.",
        "operationId": "Confirmresetpassword",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Confirmresetpasswordrequest"
              },
              "example": {
                "code": "confirmation code",
                "password_new": "new_hard_password"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/crm/leads": {
      "post": {
        "tags": [
          "CRM"
        ],
        "summary": "Create a Lead",
        "description": "Creates a new Lead.",
        "operationId": "CreateaLead",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LeadBase"
              },
              "example": {
                "billing_type": "recurring",
                "partner_id": 1,
                "location_id": 1,
                "added_by": "admin",
                "added_by_id": 1,
                "name": "Lead Name",
                "email": "test@mail.com",
                "billing_email": "test@mail.com",
                "phone": "555-0135",
                "category": "person",
                "street_1": "2nd Street",
                "zip_code": "",
                "city": "",
                "date_add": "",
                "last_update": "2022-04-21 05:09:06",
                "subdivision_id": 1,
                "lead_labels": [
                  1
                ],
                "contacts": [
                  {
                    "type": "email",
                    "value": "test@mail.com",
                    "label": "primary",
                    "is_primary": true
                  },
                  {
                    "type": "phone",
                    "value": "555-0135",
                    "label": "primary",
                    "is_primary": true
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/LeadId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "CRM"
        ],
        "summary": "List all Leads",
        "description": "Returns a list of your Leads.",
        "operationId": "ListallLeads",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LeadsResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "billing_type": "recurring",
                      "partner_id": 1,
                      "location_id": 1,
                      "added_by": "admin",
                      "added_by_id": 1,
                      "name": "Lead Name",
                      "email": "test@mail.com",
                      "billing_email": "test@mail.com",
                      "phone": "555-0135",
                      "category": "person",
                      "street_1": "2nd Street",
                      "zip_code": "",
                      "city": "",
                      "date_add": "",
                      "last_update": "2022-04-21 05:09:06",
                      "subdivision_id": 1,
                      "id": 1,
                      "lead_labels": [
                        {
                          "id": 1,
                          "label": "Label name",
                          "color": "#357bf2"
                        }
                      ],
                      "contacts": [
                        {
                          "id": 1,
                          "type": "email",
                          "value": "test@mail.com",
                          "label": "primary",
                          "country_code": null,
                          "is_primary": true,
                          "is_whatsapp": false
                        },
                        {
                          "id": 2,
                          "type": "phone",
                          "value": "555-0135",
                          "label": "primary",
                          "country_code": null,
                          "is_primary": true,
                          "is_whatsapp": false
                        }
                      ]
                    }
                  ]
                },
                "example": [
                  {
                    "billing_type": "recurring",
                    "partner_id": 1,
                    "location_id": 1,
                    "added_by": "admin",
                    "added_by_id": 1,
                    "name": "Lead Name",
                    "email": "test@mail.com",
                    "billing_email": "test@mail.com",
                    "phone": "555-0135",
                    "category": "person",
                    "street_1": "2nd Street",
                    "zip_code": "",
                    "city": "",
                    "date_add": "",
                    "last_update": "2022-04-21 05:09:06",
                    "subdivision_id": 1,
                    "id": 1,
                    "lead_labels": [
                      {
                        "id": 1,
                        "label": "Label name",
                        "color": "#357bf2"
                      }
                    ],
                    "contacts": [
                      {
                        "id": 1,
                        "type": "email",
                        "value": "test@mail.com",
                        "label": "primary",
                        "country_code": null,
                        "is_primary": true,
                        "is_whatsapp": false
                      },
                      {
                        "id": 2,
                        "type": "phone",
                        "value": "555-0135",
                        "label": "primary",
                        "country_code": null,
                        "is_primary": true,
                        "is_whatsapp": false
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/crm/leads/{id}": {
      "get": {
        "tags": [
          "CRM"
        ],
        "summary": "Retrieve a Lead",
        "description": "Work with Leads.Retrieves the Lead with the given ID.",
        "operationId": "RetrieveaLead",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Lead.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/LeadResponse"
                    },
                    {
                      "example": {
                        "status": "new",
                        "partner_id": 1,
                        "location_id": 1,
                        "password": "secret@@string",
                        "name": "Lead Name",
                        "email": "test@mail.com",
                        "phone": "555-0135",
                        "category": "person",
                        "street_1": "2d Street",
                        "zip_code": "",
                        "city": "",
                        "date_add": "",
                        "subdivision_id": 1,
                        "lead_labels": [
                          {
                            "id": 1,
                            "label": "Label name",
                            "color": "#357bf2"
                          }
                        ],
                        "contacts": [
                          {
                            "id": 1,
                            "type": "email",
                            "value": "test@mail.com",
                            "label": "primary",
                            "country_code": null,
                            "is_primary": true,
                            "is_whatsapp": false
                          },
                          {
                            "id": 2,
                            "type": "phone",
                            "value": "555-0135",
                            "label": "primary",
                            "country_code": null,
                            "is_primary": true,
                            "is_whatsapp": false
                          }
                        ]
                      }
                    }
                  ]
                },
                "example": {
                  "status": "new",
                  "partner_id": 1,
                  "location_id": 1,
                  "password": "secret@@string",
                  "name": "Lead Name",
                  "email": "test@mail.com",
                  "phone": "555-0135",
                  "category": "person",
                  "street_1": "2d Street",
                  "zip_code": "",
                  "city": "",
                  "date_add": "",
                  "subdivision_id": 1,
                  "lead_labels": [
                    {
                      "id": 1,
                      "label": "Label name",
                      "color": "#357bf2"
                    }
                  ],
                  "contacts": [
                    {
                      "id": 1,
                      "type": "email",
                      "value": "test@mail.com",
                      "label": "primary",
                      "country_code": null,
                      "is_primary": true,
                      "is_whatsapp": false
                    },
                    {
                      "id": 2,
                      "type": "phone",
                      "value": "555-0135",
                      "label": "primary",
                      "country_code": null,
                      "is_primary": true,
                      "is_whatsapp": false
                    }
                  ]
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "CRM"
        ],
        "summary": "Update a Lead",
        "description": "Work with Leads.Update the Lead with the given ID.",
        "operationId": "UpdateaLead",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Lead.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  }
                },
                "example": {
                  "name": "LeadNewName"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "CRM"
        ],
        "summary": "Delete a Lead",
        "description": "Work with Leads.Delete the Lead with the given ID.",
        "operationId": "DeleteaLead",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Lead.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/crm/leads/{id}--convert-to-customer-simple": {
      "put": {
        "tags": [
          "CRM"
        ],
        "summary": "Convert Lead to Customer",
        "description": "Work with Leads.Convert Lead to Customer with the given ID",
        "operationId": "ConvertLeadtoCustomer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Lead.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Leadconverttocustomer"
              },
              "example": {
                "status": "new",
                "category": "person"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/crm/leads-info": {
      "get": {
        "tags": [
          "CRM"
        ],
        "summary": "List all Leads info",
        "description": "Returns a list of your Leads info.",
        "operationId": "ListallLeadsinfo",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LeadinfoResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "customer_id": 1,
                      "deal_value": 100,
                      "deal_comment": "+100",
                      "score": 20,
                      "crm_status": "Contacted",
                      "owner": "api",
                      "source": "",
                      "last_contacted": "2019-05-05 16:05:05",
                      "last_status_changed": "2019-05-05 16:05:05",
                      "status_due_notification_sent": "1",
                      "lead_category": "person"
                    }
                  ]
                },
                "example": [
                  {
                    "customer_id": 1,
                    "deal_value": 100,
                    "deal_comment": "+100",
                    "score": 20,
                    "crm_status": "Contacted",
                    "owner": "api",
                    "source": "",
                    "last_contacted": "2019-05-05 16:05:05",
                    "last_status_changed": "2019-05-05 16:05:05",
                    "status_due_notification_sent": "1",
                    "lead_category": "person"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/crm/leads-info/{id}": {
      "get": {
        "tags": [
          "CRM"
        ],
        "summary": "Retrieve a Lead info",
        "description": "Work with Lead info.Retrieves the Lead info with the given ID.",
        "operationId": "RetrieveaLeadinfo",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Lead.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/LeadinfoResponse"
                    },
                    {
                      "example": {
                        "customer_id": 1,
                        "deal_value": 100,
                        "deal_comment": "+100",
                        "score": 20,
                        "crm_status": "Contacted",
                        "owner": "api",
                        "source": "",
                        "last_contacted": "2019-05-05 16:05:05",
                        "last_status_changed": "2019-05-05 16:05:05",
                        "status_due_notification_sent": "1",
                        "lead_category": "person"
                      }
                    }
                  ]
                },
                "example": {
                  "customer_id": 1,
                  "deal_value": 100,
                  "deal_comment": "+100",
                  "score": 20,
                  "crm_status": "Contacted",
                  "owner": "api",
                  "source": "",
                  "last_contacted": "2019-05-05 16:05:05",
                  "last_status_changed": "2019-05-05 16:05:05",
                  "status_due_notification_sent": "1",
                  "lead_category": "person"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "CRM"
        ],
        "summary": "Update a Lead info",
        "description": "Work with Lead info.Update the Lead info with the given ID.",
        "operationId": "UpdateaLeadinfo",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Lead.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateaLeadinforequest"
              },
              "example": {
                "score": 25,
                "owner": 1
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/crm/leads-notes": {
      "get": {
        "tags": [
          "CRM"
        ],
        "summary": "Get all leads comments",
        "description": "Get all leads comments",
        "operationId": "Getallleadscomments",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LeadNotesResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "customer_id": 1,
                      "datetime": "2019-07-03 12:38:14",
                      "administrator_id": 1,
                      "type": "comment",
                      "pinned_date": "2019-07-03 12:38:14",
                      "class": "success",
                      "title": "test notes",
                      "name": "name notes",
                      "comment": "text comment notes",
                      "values": "values",
                      "scheduled_send_time": "0000-00-00 00:00:00",
                      "assigned_to": 1,
                      "is_done": "0",
                      "is_send": "0",
                      "is_edited": "0",
                      "is_pinned": "0"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "customer_id": 1,
                    "datetime": "2019-07-03 12:38:14",
                    "administrator_id": 1,
                    "type": "comment",
                    "pinned_date": "2019-07-03 12:38:14",
                    "class": "success",
                    "title": "test notes",
                    "name": "name notes",
                    "comment": "text comment notes",
                    "values": "values",
                    "scheduled_send_time": "0000-00-00 00:00:00",
                    "assigned_to": 1,
                    "is_done": "0",
                    "is_send": "0",
                    "is_edited": "0",
                    "is_pinned": "0"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "CRM"
        ],
        "summary": "Create Lead comment",
        "description": "Create lead comment record.",
        "operationId": "CreateLeadcomment",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LeadNotesRequest"
              },
              "example": {
                "customer_id": 1,
                "type": "comment",
                "class": "success",
                "title": "test notes",
                "name": "name notes",
                "comment": "text comment notes",
                "values": "values"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/LeadCommentID"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/crm/leads-contacts": {
      "get": {
        "tags": [
          "CRM"
        ],
        "summary": "List lead contacts",
        "description": "Returns a list of `customer_contacts` rows for leads (parent customer rows with `category = 'lead'`). `?customer_id={id}` is **required** — without it the endpoint returns `422`, because the leads route refuses the unscoped fallback to avoid leaking customer-side rows. Optional `?contact_type=email` or `?contact_type=phone` filters by type.",
        "operationId": "Listleadcontacts",
        "parameters": [
          {
            "name": "customer_id",
            "in": "query",
            "description": "Required. The lead id whose contacts are listed. Requests without it return `422`; requests where the row is not a lead return `404`.",
            "required": true,
            "schema": {
              "type": "integer",
              "example": 1
            }
          },
          {
            "name": "contact_type",
            "in": "query",
            "description": "Filter by contact type.",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "email",
                "phone"
              ],
              "example": "phone"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LeadContactsResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "customer_id": 1,
                      "contact_person_id": 1,
                      "contact_type": "phone",
                      "contact_value": "+380501234567",
                      "label": "mobile",
                      "country_code": "UA",
                      "is_primary": "1",
                      "is_whatsapp": "1",
                      "metadata": null,
                      "created_at": "2026-05-21 10:00:00",
                      "updated_at": "2026-05-21 10:00:00"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "customer_id": 1,
                    "contact_person_id": 1,
                    "contact_type": "phone",
                    "contact_value": "+380501234567",
                    "label": "mobile",
                    "country_code": "UA",
                    "is_primary": "1",
                    "is_whatsapp": "1",
                    "metadata": null,
                    "created_at": "2026-05-21 10:00:00",
                    "updated_at": "2026-05-21 10:00:00"
                  }
                ]
              }
            }
          },
          "422": {
            "description": "`customer_id` filter is required for listing lead contacts.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactValidationError"
                  }
                },
                "example": [
                  {
                    "field": "",
                    "is_additional_attribute": false,
                    "message": "customer_id is required for listing lead contacts."
                  }
                ]
              }
            }
          },
          "404": {
            "description": "The customer row identified by `customer_id` has `category != 'lead'` or does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactErrorResponse"
                },
                "example": {
                  "error": {
                    "message": "Lead not found.",
                    "code": 404,
                    "internal_code": "NOT_FOUND"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "CRM"
        ],
        "summary": "Create a lead contact",
        "description": "Creates a new `customer_contacts` row owned by a lead. Same validation rules as the customer endpoint; the parent row must have `category = 'lead'` (`404` otherwise).\n\n**URL forms** (both accepted):\n- `POST /admin/crm/leads-contacts` — `customer_id` (the lead id) in the body (shown here).\n- `POST /admin/crm/leads-contacts/{customer_id}` — lead id in the URL path. **Canonical form used by the FE / generated SDK / `LeadsContactsCest::addEmail()`.** When using this form, the body `customer_id` is ignored. OpenAPI does not allow declaring this as a separate path entry because `/leads-contacts/{customer_id}` is structurally equivalent to the existing `/leads-contacts/{id}`.",
        "operationId": "Createaleadcontact",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LeadContactRequest"
              },
              "example": {
                "customer_id": 1,
                "contact_type": "phone",
                "contact_value": "+380501234567",
                "label": "mobile",
                "is_primary": true,
                "is_whatsapp": true
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/LeadContactID"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          },
          "422": {
            "description": "Validation failed (invalid contact_type / label, invalid phone, etc.).",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactValidationError"
                  }
                },
                "example": [
                  {
                    "field": "",
                    "is_additional_attribute": false,
                    "message": "Invalid phone number."
                  }
                ]
              }
            }
          },
          "404": {
            "description": "Parent lead row not found (the request reached the leads endpoint, but the customer row identified by `customer_id` has `category != 'lead'` or does not exist).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactErrorResponse"
                },
                "example": {
                  "error": {
                    "message": "Lead not found.",
                    "code": 404,
                    "internal_code": "NOT_FOUND"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/crm/leads-contacts/{id}": {
      "get": {
        "tags": [
          "CRM"
        ],
        "summary": "Retrieve a lead contact",
        "description": "Retrieves the lead contact with the given ID. Returns `404` if the parent row is not a lead.",
        "operationId": "Retrievealeadcontact",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired lead contact.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LeadContactResponse"
                },
                "example": {
                  "id": 1,
                  "customer_id": 1,
                  "contact_person_id": 1,
                  "contact_type": "phone",
                  "contact_value": "+380501234567",
                  "label": "mobile",
                  "country_code": "UA",
                  "is_primary": "1",
                  "is_whatsapp": "1",
                  "metadata": null,
                  "created_at": "2026-05-21 10:00:00",
                  "updated_at": "2026-05-21 10:00:00"
                }
              }
            }
          },
          "404": {
            "description": "Lead (parent row) or contact not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactErrorResponse"
                },
                "example": {
                  "error": {
                    "message": "Lead not found.",
                    "code": 404,
                    "internal_code": "NOT_FOUND"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "CRM"
        ],
        "summary": "Update a lead contact",
        "description": "Updates an existing lead contact. Fields `customer_id`, `contact_type`, and `is_primary` cannot be changed via this endpoint. For email rows, `country_code` and `is_whatsapp` are rejected.",
        "operationId": "Updatealeadcontact",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired lead contact.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LeadContactUpdateRequest"
              },
              "example": {
                "contact_value": "+380501239999",
                "is_whatsapp": false
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          },
          "422": {
            "description": "Validation failed.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactValidationError"
                  }
                },
                "example": [
                  {
                    "field": "",
                    "is_additional_attribute": false,
                    "message": "Field \"is_primary\" cannot be changed via update; use a dedicated method."
                  }
                ]
              }
            }
          },
          "404": {
            "description": "Contact (or, for leads endpoints, the parent lead row) not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactErrorResponse"
                },
                "example": {
                  "error": {
                    "message": "Contact not found.",
                    "code": 404,
                    "internal_code": "NOT_FOUND"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "CRM"
        ],
        "summary": "Delete a lead contact",
        "description": "Deletes a lead contact. When the partner is configured with email authentication (`authentication_field === 'email'`), refuses to delete the last `is_primary = 1` email row of the lead — otherwise deletion proceeds. Phone primaries are never guarded.",
        "operationId": "Deletealeadcontact",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired lead contact.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          },
          "422": {
            "description": "Cannot delete the last primary email (only fires when `authentication_field === 'email'`).",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContactValidationError"
                  }
                },
                "example": [
                  {
                    "field": "",
                    "is_additional_attribute": false,
                    "message": "Cannot delete the last primary email."
                  }
                ]
              }
            }
          },
          "404": {
            "description": "Contact (or, for leads endpoints, the parent lead row) not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactErrorResponse"
                },
                "example": {
                  "error": {
                    "message": "Contact not found.",
                    "code": 404,
                    "internal_code": "NOT_FOUND"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/crm/leads-contacts/{customer_id}--{id}": {
      "get": {
        "tags": [
          "CRM"
        ],
        "summary": "Retrieve a lead contact (with ownership check)",
        "description": "Retrieves a lead contact, asserting that it belongs to the given lead. Returns `404` if the row exists but is owned by a different parent.",
        "operationId": "Retrievealeadcontactwithownership",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the parent lead.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired lead contact.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LeadContactResponse"
                },
                "example": {
                  "id": 1,
                  "customer_id": 1,
                  "contact_person_id": 1,
                  "contact_type": "phone",
                  "contact_value": "+380501234567",
                  "label": "mobile",
                  "country_code": "UA",
                  "is_primary": "1",
                  "is_whatsapp": "1",
                  "metadata": null,
                  "created_at": "2026-05-21 10:00:00",
                  "updated_at": "2026-05-21 10:00:00"
                }
              }
            }
          },
          "404": {
            "description": "Lead (parent row) or contact not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactErrorResponse"
                },
                "example": {
                  "error": {
                    "message": "Lead not found.",
                    "code": 404,
                    "internal_code": "NOT_FOUND"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/crm/leads-documents": {
      "post": {
        "tags": [
          "CRM"
        ],
        "summary": "Create Lead document",
        "description": "Create lead document record before next step **file upload**.",
        "operationId": "CreateLeaddocument",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LeadDocumentsRequest"
              },
              "example": {
                "customer_id": 1,
                "type": "uploaded",
                "title": "lead document title",
                "description": "document description",
                "visible_by_customer": "0",
                "contract_date": "2017-01-01"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/LeadDocumentsID"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/crm/leads-documents/{id}--upload": {
      "post": {
        "tags": [
          "CRM"
        ],
        "summary": "Upload file for lead document",
        "description": "Work with lead documents.Upload file for **existing lead document record**.",
        "operationId": "Uploadfileforleaddocument",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired lead document. **Beware: this is lead document ID!!!**",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "required": [
                  "file"
                ],
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary",
                    "description": "File to upload."
                  }
                }
              },
              "example": {
                "file": "(binary content)"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/crm/leads-documents/{id}": {
      "get": {
        "tags": [
          "CRM"
        ],
        "summary": "Retrieve lead documents list",
        "description": "Work with online lead documents list.Retrieves lead documents list.",
        "operationId": "Retrieveleaddocumentslist",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the lead (parent). Returns the list of documents owned by this lead.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LeadDocumentsResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "added_by": "api",
                      "added_by_id": 1,
                      "customer_id": 1,
                      "type": "uploaded",
                      "title": "lead document title",
                      "created_at": "2019-01-01 16:05:28",
                      "updated_at": "2019-01-02 12:12:43",
                      "description": "document description",
                      "visible_by_customer": "0",
                      "filename_original": "SOME FILE NAME",
                      "filename_uploaded": "SOME FILE NAME",
                      "code": "file code",
                      "sign_date": "2017-01-01 16:05:28",
                      "terms_month": "1",
                      "end_of_term": "2017-02-01",
                      "sign_contract": "1",
                      "terms": false,
                      "download_link": "https://yourdomain/a",
                      "has_thumbnail": true,
                      "thumbnail_link": "https://yourdomain/b",
                      "contract_date": "2017-01-01"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "added_by": "api",
                    "added_by_id": 1,
                    "customer_id": 1,
                    "type": "uploaded",
                    "title": "lead document title",
                    "created_at": "2019-01-01 16:05:28",
                    "updated_at": "2019-01-02 12:12:43",
                    "description": "document description",
                    "visible_by_customer": "0",
                    "filename_original": "SOME FILE NAME",
                    "filename_uploaded": "SOME FILE NAME",
                    "code": "file code",
                    "sign_date": "2017-01-01 16:05:28",
                    "terms_month": "1",
                    "end_of_term": "2017-02-01",
                    "sign_contract": "1",
                    "terms": false,
                    "download_link": "https://yourdomain/a",
                    "has_thumbnail": true,
                    "thumbnail_link": "https://yourdomain/b",
                    "contract_date": "2017-01-01"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "CRM"
        ],
        "summary": "Update a Lead Document",
        "description": "Work with lead documents.Update the Lead Document with the given ID.",
        "operationId": "UpdateaLeadDocument",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired lead document. **Beware: this is lead document ID!!!**",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  }
                },
                "example": {
                  "title": "new title",
                  "description": "new description"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "CRM"
        ],
        "summary": "Delete Lead Document",
        "description": "Work with lead documents.Delete Lead Document with the given document ID.",
        "operationId": "DeleteLeadDocument",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired lead document. **Beware: this is lead document ID!!!**",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/download/lead_documents--{id}": {
      "get": {
        "tags": [
          "CRM"
        ],
        "summary": "Download Lead documents",
        "description": "You could find more details in [Download documents](#reference/config/download-documents) block.",
        "operationId": "DownloadLeaddocuments",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired lead document. **Beware: this is lead document ID!!!**",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/LeadDownloadResponse"
                    },
                    {
                      "example": {
                        "name": "lead_test_document.pdf",
                        "content_type": "application\\/pdf",
                        "content": "V=A000de=BERi0xLjQKJeLjUeXBlIC9QYWdlC..."
                      }
                    }
                  ]
                },
                "example": {
                  "name": "lead_test_document.pdf",
                  "content_type": "application\\/pdf",
                  "content": "V=A000de=BERi0xLjQKJeLjUeXBlIC9QYWdlC..."
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/crm/quotes": {
      "post": {
        "tags": [
          "CRM"
        ],
        "summary": "Create a Quote",
        "description": "Creates a new Quote.",
        "operationId": "CreateaQuote",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/QuoteBase"
              },
              "example": {
                "customer_id": 1,
                "number": "",
                "status": "new",
                "date_created": "2019-05-16",
                "real_create_datetime": "2019-05-16 12:00:00",
                "date_updated": "2019-05-16",
                "date_of_decision": "2019-05-16",
                "date_till": "2019-06-16",
                "total": 120,
                "invoice_id": 1,
                "request_id": 0,
                "is_sent": false,
                "note": "some text",
                "memo": "some text",
                "signature": "some text",
                "is_customers": false,
                "added_by": "api",
                "added_by_id": 1,
                "items": [
                  {
                    "description": "Desc of item",
                    "quantity": 1,
                    "unit": 0,
                    "price": 120,
                    "tax": 0
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/QuoteId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "CRM"
        ],
        "summary": "List all Quotes",
        "description": "Returns a list of your Quotes.",
        "operationId": "ListallQuotes",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/QuotesResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "customer_id": 1,
                      "number": "",
                      "status": "new",
                      "date_created": "2019-05-16",
                      "real_create_datetime": "2019-05-16 12:00:00",
                      "date_updated": "2019-05-16",
                      "date_of_decision": "2019-05-16",
                      "date_till": "2019-06-16",
                      "total": 120,
                      "invoice_id": 1,
                      "request_id": 0,
                      "is_sent": false,
                      "note": "some text",
                      "memo": "some text",
                      "signature": "some text",
                      "is_customers": false,
                      "added_by": "api",
                      "added_by_id": 1,
                      "items": [
                        {
                          "description": "Desc of item",
                          "quantity": 1,
                          "unit": 0,
                          "price": 120,
                          "tax": 0
                        }
                      ],
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "customer_id": 1,
                    "number": "",
                    "status": "new",
                    "date_created": "2019-05-16",
                    "real_create_datetime": "2019-05-16 12:00:00",
                    "date_updated": "2019-05-16",
                    "date_of_decision": "2019-05-16",
                    "date_till": "2019-06-16",
                    "total": 120,
                    "invoice_id": 1,
                    "request_id": 0,
                    "is_sent": false,
                    "note": "some text",
                    "memo": "some text",
                    "signature": "some text",
                    "is_customers": false,
                    "added_by": "api",
                    "added_by_id": 1,
                    "items": [
                      {
                        "description": "Desc of item",
                        "quantity": 1,
                        "unit": 0,
                        "price": 120,
                        "tax": 0
                      }
                    ],
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/crm/quotes/{id}": {
      "get": {
        "tags": [
          "CRM"
        ],
        "summary": "Retrieve a Quote",
        "description": "Work with Quote.Retrieves the Quote with the given ID.",
        "operationId": "RetrieveaQuote",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Quote.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/QuotesResponse"
                    },
                    {
                      "example": {
                        "customer_id": 1,
                        "number": "",
                        "status": "new",
                        "date_created": "2019-05-16",
                        "real_create_datetime": "2019-05-16 12:00:00",
                        "date_updated": "2019-05-16",
                        "date_of_decision": "2019-05-16",
                        "date_till": "2019-06-16",
                        "total": 120,
                        "invoice_id": 1,
                        "request_id": 0,
                        "is_sent": false,
                        "note": "some text",
                        "memo": "some text",
                        "signature": "some text",
                        "is_customers": false,
                        "added_by": "api",
                        "added_by_id": 1,
                        "items": [
                          {
                            "description": "Desc of item",
                            "quantity": 1,
                            "unit": 0,
                            "price": 120,
                            "tax": 0
                          }
                        ],
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "customer_id": 1,
                  "number": "",
                  "status": "new",
                  "date_created": "2019-05-16",
                  "real_create_datetime": "2019-05-16 12:00:00",
                  "date_updated": "2019-05-16",
                  "date_of_decision": "2019-05-16",
                  "date_till": "2019-06-16",
                  "total": 120,
                  "invoice_id": 1,
                  "request_id": 0,
                  "is_sent": false,
                  "note": "some text",
                  "memo": "some text",
                  "signature": "some text",
                  "is_customers": false,
                  "added_by": "api",
                  "added_by_id": 1,
                  "items": [
                    {
                      "description": "Desc of item",
                      "quantity": 1,
                      "unit": 0,
                      "price": 120,
                      "tax": 0
                    }
                  ],
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "CRM"
        ],
        "summary": "Update a Quote",
        "description": "Work with Quote.Update the Quote with the given ID.",
        "operationId": "UpdateaQuote",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Quote.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string"
                  }
                },
                "example": {
                  "status": "accepted"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "CRM"
        ],
        "summary": "Delete a Quote",
        "description": "Work with Quote.Delete the Quote with the given ID.",
        "operationId": "DeleteaQuote",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Quote.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/communications/calls": {
      "post": {
        "tags": [
          "Communications"
        ],
        "summary": "Create a Call",
        "description": "Creates a new call.",
        "operationId": "CreateaCall",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CommunicationCallBase"
              },
              "example": {
                "id": "1",
                "from": "1234500",
                "to": "5432100",
                "duration": 60,
                "direction": "incoming",
                "comment": "Text coment",
                "recording_url": "http://test.resource.com/recording",
                "voice_file_url": "http://test.resource.com/get-file",
                "datetime": "2021-09-07 10:00:00",
                "ticket_id": 1,
                "client_id": 1,
                "agent_id": 1,
                "added_by": "system",
                "added_by_id": 1
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CommunicationCallId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Communications"
        ],
        "summary": "List all Calls",
        "description": "Returns a list of your Calls.",
        "operationId": "ListallCalls",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CommunicationCallBase1"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "from": "1234500",
                      "to": "5432100",
                      "duration": 60,
                      "direction": "incoming",
                      "comment": "Text coment",
                      "recording_url": "http://test.resource.com/recording",
                      "voice_file_url": "http://test.resource.com/get-file",
                      "datetime": "2021-09-07 10:00:00",
                      "ticket_id": 1,
                      "client_id": 1,
                      "agent_id": 1,
                      "added_by": "system",
                      "added_by_id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "from": "1234500",
                    "to": "5432100",
                    "duration": 60,
                    "direction": "incoming",
                    "comment": "Text coment",
                    "recording_url": "http://test.resource.com/recording",
                    "voice_file_url": "http://test.resource.com/get-file",
                    "datetime": "2021-09-07 10:00:00",
                    "ticket_id": 1,
                    "client_id": 1,
                    "agent_id": 1,
                    "added_by": "system",
                    "added_by_id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/communications/calls/{id}": {
      "get": {
        "tags": [
          "Communications"
        ],
        "summary": "Retrieve a Call",
        "description": "Work with Leads.Retrieves the Call with the given ID.",
        "operationId": "RetrieveaCall",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Call.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CommunicationCallBase1"
                    },
                    {
                      "example": {
                        "id": 1,
                        "from": "1234500",
                        "to": "5432100",
                        "duration": 60,
                        "direction": "incoming",
                        "comment": "Text coment",
                        "recording_url": "http://test.resource.com/recording",
                        "voice_file_url": "http://test.resource.com/get-file",
                        "datetime": "2021-09-07 10:00:00",
                        "ticket_id": 1,
                        "client_id": 1,
                        "agent_id": 1,
                        "added_by": "system",
                        "added_by_id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "from": "1234500",
                  "to": "5432100",
                  "duration": 60,
                  "direction": "incoming",
                  "comment": "Text coment",
                  "recording_url": "http://test.resource.com/recording",
                  "voice_file_url": "http://test.resource.com/get-file",
                  "datetime": "2021-09-07 10:00:00",
                  "ticket_id": 1,
                  "client_id": 1,
                  "agent_id": 1,
                  "added_by": "system",
                  "added_by_id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Communications"
        ],
        "summary": "Update a Call",
        "description": "Work with Leads.Update the Call with the given ID.",
        "operationId": "UpdateaCall",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Call.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateaCallrequest"
              },
              "example": {
                "duration": 300
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Communications"
        ],
        "summary": "Delete a Call",
        "description": "Work with Leads.Delete the Call with the given ID.",
        "operationId": "DeleteaCall",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Call.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer/{customer_id}/internet-services": {
      "post": {
        "tags": [
          "Services"
        ],
        "summary": "Create service",
        "description": "Creates new Internet service.",
        "operationId": "Createservice",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerInternetserviceBase"
              },
              "example": {
                "customer_id": 1,
                "tariff_id": 1,
                "status": "active",
                "description": "Some Description",
                "quantity": 1,
                "unit": 0,
                "unit_price": 0,
                "start_date": "2016-01-01",
                "end_date": "0000-00-00",
                "discount": "",
                "discount_type": "percent",
                "discount_value": 0,
                "discount_start_date": "",
                "discount_end_date": "",
                "discount_text": "",
                "router_id": 0,
                "sector_id": 0,
                "login": "",
                "password": "",
                "taking_ipv4": 0,
                "ipv4": "",
                "ipv4_route": "",
                "ipv4_pool_id": 0,
                "ipv6": "",
                "ipv6_delegated": "",
                "ipv6_pool_id": 0,
                "taking_ipv6": 0,
                "mac": "",
                "port_id": 0,
                "access_device": 0,
                "bundle_service_id": 0,
                "status_new": "stopped",
                "top_up_tariff_id": 1,
                "parent_id": 1,
                "on_approve": "0",
                "period": "-1"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomerInternetserviceId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "List all customer services",
        "description": "Returns list of all customer Internet services.",
        "operationId": "Listallcustomerservices",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerInternetserviceResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "customer_id": 1,
                      "tariff_id": 1,
                      "status": "active",
                      "description": "Some Description",
                      "quantity": 1,
                      "unit": 0,
                      "unit_price": 0,
                      "start_date": "2016-01-01",
                      "end_date": "0000-00-00",
                      "discount": "",
                      "discount_type": "percent",
                      "discount_value": 0,
                      "discount_start_date": "",
                      "discount_end_date": "",
                      "discount_text": "",
                      "router_id": 0,
                      "sector_id": 0,
                      "login": "",
                      "password": "",
                      "taking_ipv4": 0,
                      "ipv4": "",
                      "ipv4_route": "",
                      "ipv4_pool_id": 0,
                      "ipv6": "",
                      "ipv6_delegated": "",
                      "ipv6_pool_id": 0,
                      "taking_ipv6": 0,
                      "mac": "",
                      "port_id": 0,
                      "access_device": 0,
                      "bundle_service_id": 0,
                      "status_new": "stopped",
                      "top_up_tariff_id": 1,
                      "parent_id": 1,
                      "on_approve": "0",
                      "period": "-1",
                      "id": 1,
                      "geo": {
                        "address": "",
                        "marker": "",
                        "src": "customer"
                      },
                      "type": "internet",
                      "speed_download": 100000,
                      "speed_upload": 50000,
                      "replaced_by": {
                        "service_name": "Fiber 200 Mbps",
                        "date": "2026-08-01"
                      }
                    }
                  ]
                },
                "example": [
                  {
                    "customer_id": 1,
                    "tariff_id": 1,
                    "status": "active",
                    "description": "Some Description",
                    "quantity": 1,
                    "unit": 0,
                    "unit_price": 0,
                    "start_date": "2016-01-01",
                    "end_date": "0000-00-00",
                    "discount": "",
                    "discount_type": "percent",
                    "discount_value": 0,
                    "discount_start_date": "",
                    "discount_end_date": "",
                    "discount_text": "",
                    "router_id": 0,
                    "sector_id": 0,
                    "login": "",
                    "password": "",
                    "taking_ipv4": 0,
                    "ipv4": "",
                    "ipv4_route": "",
                    "ipv4_pool_id": 0,
                    "ipv6": "",
                    "ipv6_delegated": "",
                    "ipv6_pool_id": 0,
                    "taking_ipv6": 0,
                    "mac": "",
                    "port_id": 0,
                    "access_device": 0,
                    "bundle_service_id": 0,
                    "status_new": "stopped",
                    "top_up_tariff_id": 1,
                    "parent_id": 1,
                    "on_approve": "0",
                    "period": "-1",
                    "id": 1,
                    "geo": {
                      "address": "",
                      "marker": "",
                      "src": "customer"
                    },
                    "type": "internet",
                    "speed_download": 100000,
                    "speed_upload": 50000,
                    "replaced_by": {
                      "service_name": "Fiber 200 Mbps",
                      "date": "2026-08-01"
                    }
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer/0/internet-services": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "List internet services by parameters",
        "description": "Get list internet services by parameters.Returns list internet services by parameters.",
        "operationId": "Listinternetservicesbyparameters",
        "parameters": [
          {
            "name": "params",
            "in": "query",
            "description": "Any parameters of service. <br>You should set at least one service`s parameter. <br>This parameters should be converted to query string.<br>For example:<br>$search = [ <br>&emsp;&emsp;'main_attributes' => [<br>&emsp;&emsp;&emsp;&emsp;'tariff_id' => '1'<br>&emsp; &emsp;]<br>]<br>;<br>",
            "required": true,
            "schema": {
              "type": "string",
              "example": "http_build_query($search)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerInternetserviceResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "customer_id": 1,
                      "tariff_id": 1,
                      "status": "active",
                      "description": "Some Description",
                      "quantity": 1,
                      "unit": 0,
                      "unit_price": 0,
                      "start_date": "2016-01-01",
                      "end_date": "0000-00-00",
                      "discount": "",
                      "discount_type": "percent",
                      "discount_value": 0,
                      "discount_start_date": "",
                      "discount_end_date": "",
                      "discount_text": "",
                      "router_id": 0,
                      "sector_id": 0,
                      "login": "",
                      "password": "",
                      "taking_ipv4": 0,
                      "ipv4": "",
                      "ipv4_route": "",
                      "ipv4_pool_id": 0,
                      "ipv6": "",
                      "ipv6_delegated": "",
                      "ipv6_pool_id": 0,
                      "taking_ipv6": 0,
                      "mac": "",
                      "port_id": 0,
                      "access_device": 0,
                      "bundle_service_id": 0,
                      "status_new": "stopped",
                      "top_up_tariff_id": 1,
                      "parent_id": 1,
                      "on_approve": "0",
                      "period": "-1",
                      "id": 1,
                      "geo": {
                        "address": "",
                        "marker": "",
                        "src": "customer"
                      },
                      "type": "internet",
                      "speed_download": 100000,
                      "speed_upload": 50000,
                      "replaced_by": {
                        "service_name": "Fiber 200 Mbps",
                        "date": "2026-08-01"
                      }
                    }
                  ]
                },
                "example": [
                  {
                    "customer_id": 1,
                    "tariff_id": 1,
                    "status": "active",
                    "description": "Some Description",
                    "quantity": 1,
                    "unit": 0,
                    "unit_price": 0,
                    "start_date": "2016-01-01",
                    "end_date": "0000-00-00",
                    "discount": "",
                    "discount_type": "percent",
                    "discount_value": 0,
                    "discount_start_date": "",
                    "discount_end_date": "",
                    "discount_text": "",
                    "router_id": 0,
                    "sector_id": 0,
                    "login": "",
                    "password": "",
                    "taking_ipv4": 0,
                    "ipv4": "",
                    "ipv4_route": "",
                    "ipv4_pool_id": 0,
                    "ipv6": "",
                    "ipv6_delegated": "",
                    "ipv6_pool_id": 0,
                    "taking_ipv6": 0,
                    "mac": "",
                    "port_id": 0,
                    "access_device": 0,
                    "bundle_service_id": 0,
                    "status_new": "stopped",
                    "top_up_tariff_id": 1,
                    "parent_id": 1,
                    "on_approve": "0",
                    "period": "-1",
                    "id": 1,
                    "geo": {
                      "address": "",
                      "marker": "",
                      "src": "customer"
                    },
                    "type": "internet",
                    "speed_download": 100000,
                    "speed_upload": 50000,
                    "replaced_by": {
                      "service_name": "Fiber 200 Mbps",
                      "date": "2026-08-01"
                    }
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer/{customer_id}/internet-services--{service_id}": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Retrieve Internet service",
        "description": "Work with customer Internet services.Retrieves Internet service with the given ID.",
        "operationId": "RetrieveInternetservice",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired Internet service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomerInternetserviceResponse"
                    },
                    {
                      "example": {
                        "customer_id": 1,
                        "tariff_id": 1,
                        "status": "active",
                        "description": "Some Description",
                        "quantity": 1,
                        "unit": 0,
                        "unit_price": 0,
                        "start_date": "2016-01-01",
                        "end_date": "0000-00-00",
                        "discount": "",
                        "discount_type": "percent",
                        "discount_value": 0,
                        "discount_start_date": "",
                        "discount_end_date": "",
                        "discount_text": "",
                        "router_id": 0,
                        "sector_id": 0,
                        "login": "",
                        "password": "",
                        "taking_ipv4": 0,
                        "ipv4": "",
                        "ipv4_route": "",
                        "ipv4_pool_id": 0,
                        "ipv6": "",
                        "ipv6_delegated": "",
                        "ipv6_pool_id": 0,
                        "taking_ipv6": 0,
                        "mac": "",
                        "port_id": 0,
                        "access_device": 0,
                        "bundle_service_id": 0,
                        "status_new": "stopped",
                        "top_up_tariff_id": 1,
                        "parent_id": 1,
                        "on_approve": "0",
                        "period": "-1",
                        "id": 1,
                        "geo": {
                          "address": "",
                          "marker": "",
                          "src": "customer"
                        },
                        "type": "internet",
                        "speed_download": 100000,
                        "speed_upload": 50000,
                        "replaced_by": {
                          "service_name": "Fiber 200 Mbps",
                          "date": "2026-08-01"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "customer_id": 1,
                  "tariff_id": 1,
                  "status": "active",
                  "description": "Some Description",
                  "quantity": 1,
                  "unit": 0,
                  "unit_price": 0,
                  "start_date": "2016-01-01",
                  "end_date": "0000-00-00",
                  "discount": "",
                  "discount_type": "percent",
                  "discount_value": 0,
                  "discount_start_date": "",
                  "discount_end_date": "",
                  "discount_text": "",
                  "router_id": 0,
                  "sector_id": 0,
                  "login": "",
                  "password": "",
                  "taking_ipv4": 0,
                  "ipv4": "",
                  "ipv4_route": "",
                  "ipv4_pool_id": 0,
                  "ipv6": "",
                  "ipv6_delegated": "",
                  "ipv6_pool_id": 0,
                  "taking_ipv6": 0,
                  "mac": "",
                  "port_id": 0,
                  "access_device": 0,
                  "bundle_service_id": 0,
                  "status_new": "stopped",
                  "top_up_tariff_id": 1,
                  "parent_id": 1,
                  "on_approve": "0",
                  "period": "-1",
                  "id": 1,
                  "geo": {
                    "address": "",
                    "marker": "",
                    "src": "customer"
                  },
                  "type": "internet",
                  "speed_download": 100000,
                  "speed_upload": 50000,
                  "replaced_by": {
                    "service_name": "Fiber 200 Mbps",
                    "date": "2026-08-01"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Services"
        ],
        "summary": "Update Internet service",
        "description": "Work with customer Internet services.Update Internet service with the given ID.",
        "operationId": "UpdateInternetservice",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired Internet service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sub_id": {
                    "type": "number",
                    "description": "Optional. Direct sub-account ID a main (linked-billing) account acts on behalf of. Honored only when the access token belongs to the main account that owns this sub: the sub must belong to the authenticated main and the targeted service must belong to that sub. For any other customer token the request is rejected with a not-found error. Ignored for admin tokens (they target the service owner directly)."
                  },
                  "description": {
                    "type": "string"
                  }
                },
                "example": {
                  "sub_id": 42,
                  "description": "New Description"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Services"
        ],
        "summary": "Delete Internet service",
        "description": "Work with customer Internet services.Delete Internet service with the given ID.",
        "operationId": "DeleteInternetservice",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired Internet service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer/{customer_id}/geo-internet-service--{service_id}": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Retrieve the Internet service geo data",
        "description": "Work with geo data of the Internet service.Retrieve the geo data of the Internet service.",
        "operationId": "RetrievetheInternetservicegeodata",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired Internet service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoData"
                    },
                    {
                      "example": {
                        "address": "",
                        "marker": "",
                        "src": "customer"
                      }
                    }
                  ]
                },
                "example": {
                  "address": "",
                  "marker": "",
                  "src": "customer"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Services"
        ],
        "summary": "Update the Internet service geo data",
        "description": "Work with geo data of the Internet service.Update geo data of the Internet service. You have to use update geo data API even you want to create it.",
        "operationId": "UpdatetheInternetservicegeodata",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired Internet service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeoData"
              },
              "example": {
                "address": "",
                "marker": "",
                "src": "customer"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer/{customer_id}/geo-voice-service--{service_id}": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Retrieve the Voice service geo data",
        "description": "Work with geo data of the Voice service.Retrieve the geo data of the Voice service.",
        "operationId": "RetrievetheVoiceservicegeodata",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired Voice service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoData"
                    },
                    {
                      "example": {
                        "address": "",
                        "marker": "",
                        "src": "customer"
                      }
                    }
                  ]
                },
                "example": {
                  "address": "",
                  "marker": "",
                  "src": "customer"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Services"
        ],
        "summary": "Update the Voice service geo data",
        "description": "Work with geo data of the Voice service.Update geo data of the Voice service. You have to use update geo data API even you want to create it.",
        "operationId": "UpdatetheVoiceservicegeodata",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired Voice service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeoData"
              },
              "example": {
                "address": "",
                "marker": "",
                "src": "customer"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer/{customer_id}/geo-recurring-service--{service_id}": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Retrieve the Recurring service geo data",
        "description": "Work with geo data of the Recurring service.Retrieve the geo data of the Recurring service.",
        "operationId": "RetrievetheRecurringservicegeodata",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired Recurring service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/GeoData"
                    },
                    {
                      "example": {
                        "address": "",
                        "marker": "",
                        "src": "customer"
                      }
                    }
                  ]
                },
                "example": {
                  "address": "",
                  "marker": "",
                  "src": "customer"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Services"
        ],
        "summary": "Update the Recurring service geo data",
        "description": "Work with geo data of the Recurring service.Update geo data of the Recurring service. You have to use update geo data API even you want to create it.",
        "operationId": "UpdatetheRecurringservicegeodata",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired Recurring service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeoData"
              },
              "example": {
                "address": "",
                "marker": "",
                "src": "customer"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer-internet-services-rrd/{customer_id}--{service_id}": {
      "post": {
        "tags": [
          "Services"
        ],
        "summary": "Write traffic to RRD",
        "description": "Write the traffic for internet service to RRD.",
        "operationId": "WritetraffictoRRD",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceTrafficRRD"
              },
              "example": {
                "service_id": 1,
                "download": 40960000,
                "upload": 20480000,
                "time": 280,
                "interval": 300
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer/{customer_id}/voice-services": {
      "post": {
        "tags": [
          "Services"
        ],
        "summary": "Voice services collection_Create service",
        "description": "Creates new Voice service.",
        "operationId": "Voiceservicescollection_Createservice",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerVoiceserviceBase"
              },
              "example": {
                "customer_id": 1,
                "tariff_id": 1,
                "status": "active",
                "description": "Some Description",
                "quantity": 1,
                "unit": 0,
                "unit_price": 0,
                "start_date": "2016-01-01",
                "end_date": "0000-00-00",
                "discount": "",
                "discount_type": "percent",
                "discount_value": 0,
                "discount_start_date": "",
                "discount_end_date": "",
                "discount_text": "",
                "voice_device_id": 0,
                "phone": "",
                "phonesArray": [],
                "bundle_service_id": 0,
                "direction": "outgoing",
                "status_new": "stopped",
                "parent_id": 1,
                "on_approve": "0",
                "period": "-1"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomerVoiceserviceId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Voice services collection_List all customer services",
        "description": "Returns list of all customer Voice services.",
        "operationId": "Voiceservicescollection_Listallcustomerservices",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerVoiceserviceResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "customer_id": 1,
                      "tariff_id": 1,
                      "status": "active",
                      "description": "Some Description",
                      "quantity": 1,
                      "unit": 0,
                      "unit_price": 0,
                      "start_date": "2016-01-01",
                      "end_date": "0000-00-00",
                      "discount": "",
                      "discount_type": "percent",
                      "discount_value": 0,
                      "discount_start_date": "",
                      "discount_end_date": "",
                      "discount_text": "",
                      "voice_device_id": 0,
                      "phone": "",
                      "phonesArray": [],
                      "bundle_service_id": 0,
                      "direction": "outgoing",
                      "status_new": "stopped",
                      "parent_id": 1,
                      "on_approve": "0",
                      "period": "-1",
                      "id": 1,
                      "geo": {
                        "address": "",
                        "marker": "",
                        "src": "customer"
                      },
                      "type": "voice",
                      "replaced_by": {
                        "service_name": "Voice Unlimited",
                        "date": "2026-08-01"
                      }
                    }
                  ]
                },
                "example": [
                  {
                    "customer_id": 1,
                    "tariff_id": 1,
                    "status": "active",
                    "description": "Some Description",
                    "quantity": 1,
                    "unit": 0,
                    "unit_price": 0,
                    "start_date": "2016-01-01",
                    "end_date": "0000-00-00",
                    "discount": "",
                    "discount_type": "percent",
                    "discount_value": 0,
                    "discount_start_date": "",
                    "discount_end_date": "",
                    "discount_text": "",
                    "voice_device_id": 0,
                    "phone": "",
                    "phonesArray": [],
                    "bundle_service_id": 0,
                    "direction": "outgoing",
                    "status_new": "stopped",
                    "parent_id": 1,
                    "on_approve": "0",
                    "period": "-1",
                    "id": 1,
                    "geo": {
                      "address": "",
                      "marker": "",
                      "src": "customer"
                    },
                    "type": "voice",
                    "replaced_by": {
                      "service_name": "Voice Unlimited",
                      "date": "2026-08-01"
                    }
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer/0/voice-services": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "List voice services by parameters",
        "description": "Get list voice services by parameters.Returns list voice services by parameters.",
        "operationId": "Listvoiceservicesbyparameters",
        "parameters": [
          {
            "name": "params",
            "in": "query",
            "description": "Any parameters of service. <br>You should set at least one service`s parameter. <br>This parameters should be converted to query string.<br>For example:<br>$search = [ <br>&emsp;&emsp;'main_attributes' => [<br>&emsp;&emsp;&emsp;&emsp;'tariff_id' => '1'<br>&emsp; &emsp;]<br>];<br>",
            "required": true,
            "schema": {
              "type": "string",
              "example": "http_build_query($search)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerVoiceserviceResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "customer_id": 1,
                      "tariff_id": 1,
                      "status": "active",
                      "description": "Some Description",
                      "quantity": 1,
                      "unit": 0,
                      "unit_price": 0,
                      "start_date": "2016-01-01",
                      "end_date": "0000-00-00",
                      "discount": "",
                      "discount_type": "percent",
                      "discount_value": 0,
                      "discount_start_date": "",
                      "discount_end_date": "",
                      "discount_text": "",
                      "voice_device_id": 0,
                      "phone": "",
                      "phonesArray": [],
                      "bundle_service_id": 0,
                      "direction": "outgoing",
                      "status_new": "stopped",
                      "parent_id": 1,
                      "on_approve": "0",
                      "period": "-1",
                      "id": 1,
                      "geo": {
                        "address": "",
                        "marker": "",
                        "src": "customer"
                      },
                      "type": "voice",
                      "replaced_by": {
                        "service_name": "Voice Unlimited",
                        "date": "2026-08-01"
                      }
                    }
                  ]
                },
                "example": [
                  {
                    "customer_id": 1,
                    "tariff_id": 1,
                    "status": "active",
                    "description": "Some Description",
                    "quantity": 1,
                    "unit": 0,
                    "unit_price": 0,
                    "start_date": "2016-01-01",
                    "end_date": "0000-00-00",
                    "discount": "",
                    "discount_type": "percent",
                    "discount_value": 0,
                    "discount_start_date": "",
                    "discount_end_date": "",
                    "discount_text": "",
                    "voice_device_id": 0,
                    "phone": "",
                    "phonesArray": [],
                    "bundle_service_id": 0,
                    "direction": "outgoing",
                    "status_new": "stopped",
                    "parent_id": 1,
                    "on_approve": "0",
                    "period": "-1",
                    "id": 1,
                    "geo": {
                      "address": "",
                      "marker": "",
                      "src": "customer"
                    },
                    "type": "voice",
                    "replaced_by": {
                      "service_name": "Voice Unlimited",
                      "date": "2026-08-01"
                    }
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer/{customer_id}/voice-services--{service_id}": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Retrieve Voice service",
        "description": "Work with customer Voice services.Retrieves Voice service with the given ID.",
        "operationId": "RetrieveVoiceservice",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired Voice service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomerVoiceserviceResponse"
                    },
                    {
                      "example": {
                        "customer_id": 1,
                        "tariff_id": 1,
                        "status": "active",
                        "description": "Some Description",
                        "quantity": 1,
                        "unit": 0,
                        "unit_price": 0,
                        "start_date": "2016-01-01",
                        "end_date": "0000-00-00",
                        "discount": "",
                        "discount_type": "percent",
                        "discount_value": 0,
                        "discount_start_date": "",
                        "discount_end_date": "",
                        "discount_text": "",
                        "voice_device_id": 0,
                        "phone": "",
                        "phonesArray": [],
                        "bundle_service_id": 0,
                        "direction": "outgoing",
                        "status_new": "stopped",
                        "parent_id": 1,
                        "on_approve": "0",
                        "period": "-1",
                        "id": 1,
                        "geo": {
                          "address": "",
                          "marker": "",
                          "src": "customer"
                        },
                        "type": "voice",
                        "replaced_by": {
                          "service_name": "Voice Unlimited",
                          "date": "2026-08-01"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "customer_id": 1,
                  "tariff_id": 1,
                  "status": "active",
                  "description": "Some Description",
                  "quantity": 1,
                  "unit": 0,
                  "unit_price": 0,
                  "start_date": "2016-01-01",
                  "end_date": "0000-00-00",
                  "discount": "",
                  "discount_type": "percent",
                  "discount_value": 0,
                  "discount_start_date": "",
                  "discount_end_date": "",
                  "discount_text": "",
                  "voice_device_id": 0,
                  "phone": "",
                  "phonesArray": [],
                  "bundle_service_id": 0,
                  "direction": "outgoing",
                  "status_new": "stopped",
                  "parent_id": 1,
                  "on_approve": "0",
                  "period": "-1",
                  "id": 1,
                  "geo": {
                    "address": "",
                    "marker": "",
                    "src": "customer"
                  },
                  "type": "voice",
                  "replaced_by": {
                    "service_name": "Voice Unlimited",
                    "date": "2026-08-01"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Services"
        ],
        "summary": "Update Voice service",
        "description": "Work with customer Voice services.Update Voice service with the given ID.",
        "operationId": "UpdateVoiceservice",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired Voice service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sub_id": {
                    "type": "number",
                    "description": "Optional. Direct sub-account ID a main (linked-billing) account acts on behalf of. Honored only when the access token belongs to the main account that owns this sub: the sub must belong to the authenticated main and the targeted service must belong to that sub. For any other customer token the request is rejected with a not-found error. Ignored for admin tokens (they target the service owner directly)."
                  },
                  "description": {
                    "type": "string"
                  }
                },
                "example": {
                  "sub_id": 42,
                  "description": "New Description"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Services"
        ],
        "summary": "Delete Voice service",
        "description": "Work with customer Voice services.Delete Voice service with the given ID.",
        "operationId": "DeleteVoiceservice",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired Voice service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer/{customer_id}/recurring-services": {
      "post": {
        "tags": [
          "Services"
        ],
        "summary": "Recurring services collection_Create service",
        "description": "Creates new Recurring service.",
        "operationId": "Recurringservicescollection_Createservice",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerRecurringserviceBase"
              },
              "example": {
                "customer_id": 1,
                "tariff_id": 1,
                "status": "active",
                "description": "Some Description",
                "quantity": 1,
                "unit": 0,
                "unit_price": 0,
                "start_date": "2016-01-01",
                "end_date": "0000-00-00",
                "discount": "",
                "discount_type": "percent",
                "discount_value": 0,
                "discount_start_date": "",
                "discount_end_date": "",
                "discount_text": "",
                "status_new": "stopped",
                "bundle_service_id": 0,
                "parent_id": 1,
                "on_approve": "0",
                "period": "-1"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomerRecurringserviceId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Recurring services collection_List all customer services",
        "description": "Returns list of all customer Recurring services.",
        "operationId": "Recurringservicescollection_Listallcustomerservices",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerRecurringserviceResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "customer_id": 1,
                      "tariff_id": 1,
                      "status": "active",
                      "description": "Some Description",
                      "quantity": 1,
                      "unit": 0,
                      "unit_price": 0,
                      "start_date": "2016-01-01",
                      "end_date": "0000-00-00",
                      "discount": "",
                      "discount_type": "percent",
                      "discount_value": 0,
                      "discount_start_date": "",
                      "discount_end_date": "",
                      "discount_text": "",
                      "status_new": "stopped",
                      "bundle_service_id": 0,
                      "parent_id": 1,
                      "on_approve": "0",
                      "period": "-1",
                      "id": 1,
                      "geo": {
                        "address": "",
                        "marker": "",
                        "src": "customer"
                      },
                      "type": "custom",
                      "replaced_by": {
                        "service_name": "Equipment rent",
                        "date": "2026-08-01"
                      }
                    }
                  ]
                },
                "example": [
                  {
                    "customer_id": 1,
                    "tariff_id": 1,
                    "status": "active",
                    "description": "Some Description",
                    "quantity": 1,
                    "unit": 0,
                    "unit_price": 0,
                    "start_date": "2016-01-01",
                    "end_date": "0000-00-00",
                    "discount": "",
                    "discount_type": "percent",
                    "discount_value": 0,
                    "discount_start_date": "",
                    "discount_end_date": "",
                    "discount_text": "",
                    "status_new": "stopped",
                    "bundle_service_id": 0,
                    "parent_id": 1,
                    "on_approve": "0",
                    "period": "-1",
                    "id": 1,
                    "geo": {
                      "address": "",
                      "marker": "",
                      "src": "customer"
                    },
                    "type": "custom",
                    "replaced_by": {
                      "service_name": "Equipment rent",
                      "date": "2026-08-01"
                    }
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer/0/recurring-services": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "List Recurring services by parameters",
        "description": "Get list Recurring services by parameters.Returns list Recurring services by parameters.",
        "operationId": "ListRecurringservicesbyparameters",
        "parameters": [
          {
            "name": "params",
            "in": "query",
            "description": "Any parameters of service. <br>You should set at least one service`s parameter. <br>This parameters should be converted to query string.<br>For example:<br>$search = [ <br>&emsp;&emsp;'main_attributes' => [<br>&emsp;&emsp;&emsp;&emsp;'tariff_id' => '1'<br>&emsp; &emsp;]<br>];<br>",
            "required": true,
            "schema": {
              "type": "string",
              "example": "http_build_query($search)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerRecurringserviceResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "customer_id": 1,
                      "tariff_id": 1,
                      "status": "active",
                      "description": "Some Description",
                      "quantity": 1,
                      "unit": 0,
                      "unit_price": 0,
                      "start_date": "2016-01-01",
                      "end_date": "0000-00-00",
                      "discount": "",
                      "discount_type": "percent",
                      "discount_value": 0,
                      "discount_start_date": "",
                      "discount_end_date": "",
                      "discount_text": "",
                      "status_new": "stopped",
                      "bundle_service_id": 0,
                      "parent_id": 1,
                      "on_approve": "0",
                      "period": "-1",
                      "id": 1,
                      "geo": {
                        "address": "",
                        "marker": "",
                        "src": "customer"
                      },
                      "type": "custom",
                      "replaced_by": {
                        "service_name": "Equipment rent",
                        "date": "2026-08-01"
                      }
                    }
                  ]
                },
                "example": [
                  {
                    "customer_id": 1,
                    "tariff_id": 1,
                    "status": "active",
                    "description": "Some Description",
                    "quantity": 1,
                    "unit": 0,
                    "unit_price": 0,
                    "start_date": "2016-01-01",
                    "end_date": "0000-00-00",
                    "discount": "",
                    "discount_type": "percent",
                    "discount_value": 0,
                    "discount_start_date": "",
                    "discount_end_date": "",
                    "discount_text": "",
                    "status_new": "stopped",
                    "bundle_service_id": 0,
                    "parent_id": 1,
                    "on_approve": "0",
                    "period": "-1",
                    "id": 1,
                    "geo": {
                      "address": "",
                      "marker": "",
                      "src": "customer"
                    },
                    "type": "custom",
                    "replaced_by": {
                      "service_name": "Equipment rent",
                      "date": "2026-08-01"
                    }
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer/{customer_id}/recurring-services--{service_id}": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Retrieve Recurring service",
        "description": "Work with customer Recurring services.Retrieves Recurring service with the given ID.",
        "operationId": "RetrieveRecurringservice",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired Recurring service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomerRecurringserviceResponse"
                    },
                    {
                      "example": {
                        "customer_id": 1,
                        "tariff_id": 1,
                        "status": "active",
                        "description": "Some Description",
                        "quantity": 1,
                        "unit": 0,
                        "unit_price": 0,
                        "start_date": "2016-01-01",
                        "end_date": "0000-00-00",
                        "discount": "",
                        "discount_type": "percent",
                        "discount_value": 0,
                        "discount_start_date": "",
                        "discount_end_date": "",
                        "discount_text": "",
                        "status_new": "stopped",
                        "bundle_service_id": 0,
                        "parent_id": 1,
                        "on_approve": "0",
                        "period": "-1",
                        "id": 1,
                        "geo": {
                          "address": "",
                          "marker": "",
                          "src": "customer"
                        },
                        "type": "custom",
                        "replaced_by": {
                          "service_name": "Equipment rent",
                          "date": "2026-08-01"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "customer_id": 1,
                  "tariff_id": 1,
                  "status": "active",
                  "description": "Some Description",
                  "quantity": 1,
                  "unit": 0,
                  "unit_price": 0,
                  "start_date": "2016-01-01",
                  "end_date": "0000-00-00",
                  "discount": "",
                  "discount_type": "percent",
                  "discount_value": 0,
                  "discount_start_date": "",
                  "discount_end_date": "",
                  "discount_text": "",
                  "status_new": "stopped",
                  "bundle_service_id": 0,
                  "parent_id": 1,
                  "on_approve": "0",
                  "period": "-1",
                  "id": 1,
                  "geo": {
                    "address": "",
                    "marker": "",
                    "src": "customer"
                  },
                  "type": "custom",
                  "replaced_by": {
                    "service_name": "Equipment rent",
                    "date": "2026-08-01"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Services"
        ],
        "summary": "Update Recurring service",
        "description": "Work with customer Recurring services.Update Recurring service with the given ID.",
        "operationId": "UpdateRecurringservice",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired Recurring service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sub_id": {
                    "type": "number",
                    "description": "Optional. Direct sub-account ID a main (linked-billing) account acts on behalf of. Honored only when the access token belongs to the main account that owns this sub: the sub must belong to the authenticated main and the targeted service must belong to that sub. For any other customer token the request is rejected with a not-found error. Ignored for admin tokens (they target the service owner directly)."
                  },
                  "description": {
                    "type": "string"
                  }
                },
                "example": {
                  "sub_id": 42,
                  "description": "New Description"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Services"
        ],
        "summary": "Delete Recurring service",
        "description": "Work with customer Recurring services.Delete Recurring service with the given ID.",
        "operationId": "DeleteRecurringservice",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired Recurring service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer/{customer_id}/bundle-services": {
      "post": {
        "tags": [
          "Services"
        ],
        "summary": "Bundle services collection_Create service",
        "description": "Creates new Bundle service.",
        "operationId": "Bundleservicescollection_Createservice",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerBundleserviceBase"
              },
              "example": {
                "customer_id": 1,
                "bundle_id": 1,
                "status": "active",
                "description": "Some Description",
                "unit_price": 0,
                "start_date": "2016-01-01",
                "end_date": "0000-00-00",
                "discount": "0",
                "discount_type": "percent",
                "discount_value": 0,
                "discount_start_date": "",
                "discount_end_date": "",
                "discount_text": "",
                "automatic_renewal": true,
                "activation_fee": 0.5,
                "auto_reactivate": false,
                "get_activation_fee_when": "create_service",
                "issue_invoice_while_service_creation": true,
                "cancellation_fee": 1.5,
                "prior_cancellation_fee": 1.5,
                "services_internet": [
                  {
                    "customer_id": 1,
                    "tariff_id": 1,
                    "status": "active",
                    "description": "Some Description",
                    "quantity": 1,
                    "unit": 0,
                    "unit_price": 0,
                    "start_date": "2016-01-01",
                    "end_date": "0000-00-00",
                    "discount": "",
                    "discount_type": "percent",
                    "discount_value": 0,
                    "discount_start_date": "",
                    "discount_end_date": "",
                    "discount_text": "",
                    "router_id": 0,
                    "sector_id": 0,
                    "login": "",
                    "password": "",
                    "taking_ipv4": 0,
                    "ipv4": "",
                    "ipv4_route": "",
                    "ipv4_pool_id": 0,
                    "ipv6": "",
                    "ipv6_delegated": "",
                    "ipv6_pool_id": 0,
                    "taking_ipv6": 0,
                    "mac": "",
                    "port_id": 0,
                    "access_device": 0,
                    "bundle_service_id": 0,
                    "status_new": "stopped",
                    "top_up_tariff_id": 1,
                    "parent_id": 1,
                    "on_approve": "0",
                    "period": "-1"
                  }
                ],
                "services_voice": [
                  {
                    "customer_id": 1,
                    "tariff_id": 1,
                    "status": "active",
                    "description": "Some Description",
                    "quantity": 1,
                    "unit": 0,
                    "unit_price": 0,
                    "start_date": "2016-01-01",
                    "end_date": "0000-00-00",
                    "discount": "",
                    "discount_type": "percent",
                    "discount_value": 0,
                    "discount_start_date": "",
                    "discount_end_date": "",
                    "discount_text": "",
                    "voice_device_id": 0,
                    "phone": "",
                    "phonesArray": [],
                    "bundle_service_id": 0,
                    "direction": "outgoing",
                    "status_new": "stopped",
                    "parent_id": 1,
                    "on_approve": "0",
                    "period": "-1"
                  }
                ],
                "services_custom": [
                  {
                    "customer_id": 1,
                    "tariff_id": 1,
                    "status": "active",
                    "description": "Some Description",
                    "quantity": 1,
                    "unit": 0,
                    "unit_price": 0,
                    "start_date": "2016-01-01",
                    "end_date": "0000-00-00",
                    "discount": "",
                    "discount_type": "percent",
                    "discount_value": 0,
                    "discount_start_date": "",
                    "discount_end_date": "",
                    "discount_text": "",
                    "status_new": "stopped",
                    "bundle_service_id": 0,
                    "parent_id": 1,
                    "on_approve": "0",
                    "period": "-1"
                  }
                ],
                "activation_fee_transaction_id": 137,
                "cancellation_fee_transaction_id": 137,
                "prior_cancellation_fee_transaction_id": 137
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomerBundleserviceId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Bundle services collection_List all customer services",
        "description": "Returns list of all customer Bundle services.",
        "operationId": "Bundleservicescollection_Listallcustomerservices",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerBundleserviceResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "customer_id": 1,
                      "bundle_id": 1,
                      "status": "active",
                      "description": "Some Description",
                      "unit_price": 0,
                      "start_date": "2016-01-01",
                      "end_date": "0000-00-00",
                      "discount": "0",
                      "discount_type": "percent",
                      "discount_value": 0,
                      "discount_start_date": "",
                      "discount_end_date": "",
                      "discount_text": "",
                      "automatic_renewal": true,
                      "activation_fee": 0.5,
                      "auto_reactivate": false,
                      "get_activation_fee_when": "create_service",
                      "issue_invoice_while_service_creation": true,
                      "cancellation_fee": 1.5,
                      "prior_cancellation_fee": 1.5,
                      "services_internet": [
                        {
                          "customer_id": 1,
                          "tariff_id": 1,
                          "status": "active",
                          "description": "Some Description",
                          "quantity": 1,
                          "unit": 0,
                          "unit_price": 0,
                          "start_date": "2016-01-01",
                          "end_date": "0000-00-00",
                          "discount": "",
                          "discount_type": "percent",
                          "discount_value": 0,
                          "discount_start_date": "",
                          "discount_end_date": "",
                          "discount_text": "",
                          "router_id": 0,
                          "sector_id": 0,
                          "login": "",
                          "password": "",
                          "taking_ipv4": 0,
                          "ipv4": "",
                          "ipv4_route": "",
                          "ipv4_pool_id": 0,
                          "ipv6": "",
                          "ipv6_delegated": "",
                          "ipv6_pool_id": 0,
                          "taking_ipv6": 0,
                          "mac": "",
                          "port_id": 0,
                          "access_device": 0,
                          "bundle_service_id": 0,
                          "status_new": "stopped",
                          "top_up_tariff_id": 1,
                          "parent_id": 1,
                          "on_approve": "0",
                          "period": "-1"
                        }
                      ],
                      "services_voice": [
                        {
                          "customer_id": 1,
                          "tariff_id": 1,
                          "status": "active",
                          "description": "Some Description",
                          "quantity": 1,
                          "unit": 0,
                          "unit_price": 0,
                          "start_date": "2016-01-01",
                          "end_date": "0000-00-00",
                          "discount": "",
                          "discount_type": "percent",
                          "discount_value": 0,
                          "discount_start_date": "",
                          "discount_end_date": "",
                          "discount_text": "",
                          "voice_device_id": 0,
                          "phone": "",
                          "phonesArray": [],
                          "bundle_service_id": 0,
                          "direction": "outgoing",
                          "status_new": "stopped",
                          "parent_id": 1,
                          "on_approve": "0",
                          "period": "-1"
                        }
                      ],
                      "services_custom": [
                        {
                          "customer_id": 1,
                          "tariff_id": 1,
                          "status": "active",
                          "description": "Some Description",
                          "quantity": 1,
                          "unit": 0,
                          "unit_price": 0,
                          "start_date": "2016-01-01",
                          "end_date": "0000-00-00",
                          "discount": "",
                          "discount_type": "percent",
                          "discount_value": 0,
                          "discount_start_date": "",
                          "discount_end_date": "",
                          "discount_text": "",
                          "status_new": "stopped",
                          "bundle_service_id": 0,
                          "parent_id": 1,
                          "on_approve": "0",
                          "period": "-1"
                        }
                      ],
                      "activation_fee_transaction_id": 137,
                      "cancellation_fee_transaction_id": 137,
                      "prior_cancellation_fee_transaction_id": 137,
                      "id": 1,
                      "type": "bundle"
                    }
                  ]
                },
                "example": [
                  {
                    "customer_id": 1,
                    "bundle_id": 1,
                    "status": "active",
                    "description": "Some Description",
                    "unit_price": 0,
                    "start_date": "2016-01-01",
                    "end_date": "0000-00-00",
                    "discount": "0",
                    "discount_type": "percent",
                    "discount_value": 0,
                    "discount_start_date": "",
                    "discount_end_date": "",
                    "discount_text": "",
                    "automatic_renewal": true,
                    "activation_fee": 0.5,
                    "auto_reactivate": false,
                    "get_activation_fee_when": "create_service",
                    "issue_invoice_while_service_creation": true,
                    "cancellation_fee": 1.5,
                    "prior_cancellation_fee": 1.5,
                    "services_internet": [
                      {
                        "customer_id": 1,
                        "tariff_id": 1,
                        "status": "active",
                        "description": "Some Description",
                        "quantity": 1,
                        "unit": 0,
                        "unit_price": 0,
                        "start_date": "2016-01-01",
                        "end_date": "0000-00-00",
                        "discount": "",
                        "discount_type": "percent",
                        "discount_value": 0,
                        "discount_start_date": "",
                        "discount_end_date": "",
                        "discount_text": "",
                        "router_id": 0,
                        "sector_id": 0,
                        "login": "",
                        "password": "",
                        "taking_ipv4": 0,
                        "ipv4": "",
                        "ipv4_route": "",
                        "ipv4_pool_id": 0,
                        "ipv6": "",
                        "ipv6_delegated": "",
                        "ipv6_pool_id": 0,
                        "taking_ipv6": 0,
                        "mac": "",
                        "port_id": 0,
                        "access_device": 0,
                        "bundle_service_id": 0,
                        "status_new": "stopped",
                        "top_up_tariff_id": 1,
                        "parent_id": 1,
                        "on_approve": "0",
                        "period": "-1"
                      }
                    ],
                    "services_voice": [
                      {
                        "customer_id": 1,
                        "tariff_id": 1,
                        "status": "active",
                        "description": "Some Description",
                        "quantity": 1,
                        "unit": 0,
                        "unit_price": 0,
                        "start_date": "2016-01-01",
                        "end_date": "0000-00-00",
                        "discount": "",
                        "discount_type": "percent",
                        "discount_value": 0,
                        "discount_start_date": "",
                        "discount_end_date": "",
                        "discount_text": "",
                        "voice_device_id": 0,
                        "phone": "",
                        "phonesArray": [],
                        "bundle_service_id": 0,
                        "direction": "outgoing",
                        "status_new": "stopped",
                        "parent_id": 1,
                        "on_approve": "0",
                        "period": "-1"
                      }
                    ],
                    "services_custom": [
                      {
                        "customer_id": 1,
                        "tariff_id": 1,
                        "status": "active",
                        "description": "Some Description",
                        "quantity": 1,
                        "unit": 0,
                        "unit_price": 0,
                        "start_date": "2016-01-01",
                        "end_date": "0000-00-00",
                        "discount": "",
                        "discount_type": "percent",
                        "discount_value": 0,
                        "discount_start_date": "",
                        "discount_end_date": "",
                        "discount_text": "",
                        "status_new": "stopped",
                        "bundle_service_id": 0,
                        "parent_id": 1,
                        "on_approve": "0",
                        "period": "-1"
                      }
                    ],
                    "activation_fee_transaction_id": 137,
                    "cancellation_fee_transaction_id": 137,
                    "prior_cancellation_fee_transaction_id": 137,
                    "id": 1,
                    "type": "bundle"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer/0/bundle-services": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "List bundle services by parameters",
        "description": "Get list bundle services by parameters.Returns list bundle services by parameters.",
        "operationId": "Listbundleservicesbyparameters",
        "parameters": [
          {
            "name": "params",
            "in": "query",
            "description": "Any parameters of service. <br>You should set at least one service`s parameter. <br>This parameters should be converted to query string.<br>For example:<br>$search = [ <br>&emsp;&emsp;'main_attributes' => [<br>&emsp;&emsp;&emsp;&emsp;'bundle_id' => '1'<br>&emsp; &emsp;]<br>];<br>",
            "required": true,
            "schema": {
              "type": "string",
              "example": "http_build_query($search)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CustomerBundleserviceResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "customer_id": 1,
                      "bundle_id": 1,
                      "status": "active",
                      "description": "Some Description",
                      "unit_price": 0,
                      "start_date": "2016-01-01",
                      "end_date": "0000-00-00",
                      "discount": "0",
                      "discount_type": "percent",
                      "discount_value": 0,
                      "discount_start_date": "",
                      "discount_end_date": "",
                      "discount_text": "",
                      "automatic_renewal": true,
                      "activation_fee": 0.5,
                      "auto_reactivate": false,
                      "get_activation_fee_when": "create_service",
                      "issue_invoice_while_service_creation": true,
                      "cancellation_fee": 1.5,
                      "prior_cancellation_fee": 1.5,
                      "services_internet": [
                        {
                          "customer_id": 1,
                          "tariff_id": 1,
                          "status": "active",
                          "description": "Some Description",
                          "quantity": 1,
                          "unit": 0,
                          "unit_price": 0,
                          "start_date": "2016-01-01",
                          "end_date": "0000-00-00",
                          "discount": "",
                          "discount_type": "percent",
                          "discount_value": 0,
                          "discount_start_date": "",
                          "discount_end_date": "",
                          "discount_text": "",
                          "router_id": 0,
                          "sector_id": 0,
                          "login": "",
                          "password": "",
                          "taking_ipv4": 0,
                          "ipv4": "",
                          "ipv4_route": "",
                          "ipv4_pool_id": 0,
                          "ipv6": "",
                          "ipv6_delegated": "",
                          "ipv6_pool_id": 0,
                          "taking_ipv6": 0,
                          "mac": "",
                          "port_id": 0,
                          "access_device": 0,
                          "bundle_service_id": 0,
                          "status_new": "stopped",
                          "top_up_tariff_id": 1,
                          "parent_id": 1,
                          "on_approve": "0",
                          "period": "-1"
                        }
                      ],
                      "services_voice": [
                        {
                          "customer_id": 1,
                          "tariff_id": 1,
                          "status": "active",
                          "description": "Some Description",
                          "quantity": 1,
                          "unit": 0,
                          "unit_price": 0,
                          "start_date": "2016-01-01",
                          "end_date": "0000-00-00",
                          "discount": "",
                          "discount_type": "percent",
                          "discount_value": 0,
                          "discount_start_date": "",
                          "discount_end_date": "",
                          "discount_text": "",
                          "voice_device_id": 0,
                          "phone": "",
                          "phonesArray": [],
                          "bundle_service_id": 0,
                          "direction": "outgoing",
                          "status_new": "stopped",
                          "parent_id": 1,
                          "on_approve": "0",
                          "period": "-1"
                        }
                      ],
                      "services_custom": [
                        {
                          "customer_id": 1,
                          "tariff_id": 1,
                          "status": "active",
                          "description": "Some Description",
                          "quantity": 1,
                          "unit": 0,
                          "unit_price": 0,
                          "start_date": "2016-01-01",
                          "end_date": "0000-00-00",
                          "discount": "",
                          "discount_type": "percent",
                          "discount_value": 0,
                          "discount_start_date": "",
                          "discount_end_date": "",
                          "discount_text": "",
                          "status_new": "stopped",
                          "bundle_service_id": 0,
                          "parent_id": 1,
                          "on_approve": "0",
                          "period": "-1"
                        }
                      ],
                      "activation_fee_transaction_id": 137,
                      "cancellation_fee_transaction_id": 137,
                      "prior_cancellation_fee_transaction_id": 137,
                      "id": 1,
                      "type": "bundle"
                    }
                  ]
                },
                "example": [
                  {
                    "customer_id": 1,
                    "bundle_id": 1,
                    "status": "active",
                    "description": "Some Description",
                    "unit_price": 0,
                    "start_date": "2016-01-01",
                    "end_date": "0000-00-00",
                    "discount": "0",
                    "discount_type": "percent",
                    "discount_value": 0,
                    "discount_start_date": "",
                    "discount_end_date": "",
                    "discount_text": "",
                    "automatic_renewal": true,
                    "activation_fee": 0.5,
                    "auto_reactivate": false,
                    "get_activation_fee_when": "create_service",
                    "issue_invoice_while_service_creation": true,
                    "cancellation_fee": 1.5,
                    "prior_cancellation_fee": 1.5,
                    "services_internet": [
                      {
                        "customer_id": 1,
                        "tariff_id": 1,
                        "status": "active",
                        "description": "Some Description",
                        "quantity": 1,
                        "unit": 0,
                        "unit_price": 0,
                        "start_date": "2016-01-01",
                        "end_date": "0000-00-00",
                        "discount": "",
                        "discount_type": "percent",
                        "discount_value": 0,
                        "discount_start_date": "",
                        "discount_end_date": "",
                        "discount_text": "",
                        "router_id": 0,
                        "sector_id": 0,
                        "login": "",
                        "password": "",
                        "taking_ipv4": 0,
                        "ipv4": "",
                        "ipv4_route": "",
                        "ipv4_pool_id": 0,
                        "ipv6": "",
                        "ipv6_delegated": "",
                        "ipv6_pool_id": 0,
                        "taking_ipv6": 0,
                        "mac": "",
                        "port_id": 0,
                        "access_device": 0,
                        "bundle_service_id": 0,
                        "status_new": "stopped",
                        "top_up_tariff_id": 1,
                        "parent_id": 1,
                        "on_approve": "0",
                        "period": "-1"
                      }
                    ],
                    "services_voice": [
                      {
                        "customer_id": 1,
                        "tariff_id": 1,
                        "status": "active",
                        "description": "Some Description",
                        "quantity": 1,
                        "unit": 0,
                        "unit_price": 0,
                        "start_date": "2016-01-01",
                        "end_date": "0000-00-00",
                        "discount": "",
                        "discount_type": "percent",
                        "discount_value": 0,
                        "discount_start_date": "",
                        "discount_end_date": "",
                        "discount_text": "",
                        "voice_device_id": 0,
                        "phone": "",
                        "phonesArray": [],
                        "bundle_service_id": 0,
                        "direction": "outgoing",
                        "status_new": "stopped",
                        "parent_id": 1,
                        "on_approve": "0",
                        "period": "-1"
                      }
                    ],
                    "services_custom": [
                      {
                        "customer_id": 1,
                        "tariff_id": 1,
                        "status": "active",
                        "description": "Some Description",
                        "quantity": 1,
                        "unit": 0,
                        "unit_price": 0,
                        "start_date": "2016-01-01",
                        "end_date": "0000-00-00",
                        "discount": "",
                        "discount_type": "percent",
                        "discount_value": 0,
                        "discount_start_date": "",
                        "discount_end_date": "",
                        "discount_text": "",
                        "status_new": "stopped",
                        "bundle_service_id": 0,
                        "parent_id": 1,
                        "on_approve": "0",
                        "period": "-1"
                      }
                    ],
                    "activation_fee_transaction_id": 137,
                    "cancellation_fee_transaction_id": 137,
                    "prior_cancellation_fee_transaction_id": 137,
                    "id": 1,
                    "type": "bundle"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer/{customer_id}/bundle-services--{service_id}": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Retrieve Bundle service",
        "description": "Work with customer Bundle services.Retrieves Bundle service with the given ID.",
        "operationId": "RetrieveBundleservice",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired Bundle service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CustomerBundleserviceResponse"
                    },
                    {
                      "example": {
                        "customer_id": 1,
                        "bundle_id": 1,
                        "status": "active",
                        "description": "Some Description",
                        "unit_price": 0,
                        "start_date": "2016-01-01",
                        "end_date": "0000-00-00",
                        "discount": "0",
                        "discount_type": "percent",
                        "discount_value": 0,
                        "discount_start_date": "",
                        "discount_end_date": "",
                        "discount_text": "",
                        "automatic_renewal": true,
                        "activation_fee": 0.5,
                        "auto_reactivate": false,
                        "get_activation_fee_when": "create_service",
                        "issue_invoice_while_service_creation": true,
                        "cancellation_fee": 1.5,
                        "prior_cancellation_fee": 1.5,
                        "services_internet": [
                          {
                            "customer_id": 1,
                            "tariff_id": 1,
                            "status": "active",
                            "description": "Some Description",
                            "quantity": 1,
                            "unit": 0,
                            "unit_price": 0,
                            "start_date": "2016-01-01",
                            "end_date": "0000-00-00",
                            "discount": "",
                            "discount_type": "percent",
                            "discount_value": 0,
                            "discount_start_date": "",
                            "discount_end_date": "",
                            "discount_text": "",
                            "router_id": 0,
                            "sector_id": 0,
                            "login": "",
                            "password": "",
                            "taking_ipv4": 0,
                            "ipv4": "",
                            "ipv4_route": "",
                            "ipv4_pool_id": 0,
                            "ipv6": "",
                            "ipv6_delegated": "",
                            "ipv6_pool_id": 0,
                            "taking_ipv6": 0,
                            "mac": "",
                            "port_id": 0,
                            "access_device": 0,
                            "bundle_service_id": 0,
                            "status_new": "stopped",
                            "top_up_tariff_id": 1,
                            "parent_id": 1,
                            "on_approve": "0",
                            "period": "-1"
                          }
                        ],
                        "services_voice": [
                          {
                            "customer_id": 1,
                            "tariff_id": 1,
                            "status": "active",
                            "description": "Some Description",
                            "quantity": 1,
                            "unit": 0,
                            "unit_price": 0,
                            "start_date": "2016-01-01",
                            "end_date": "0000-00-00",
                            "discount": "",
                            "discount_type": "percent",
                            "discount_value": 0,
                            "discount_start_date": "",
                            "discount_end_date": "",
                            "discount_text": "",
                            "voice_device_id": 0,
                            "phone": "",
                            "phonesArray": [],
                            "bundle_service_id": 0,
                            "direction": "outgoing",
                            "status_new": "stopped",
                            "parent_id": 1,
                            "on_approve": "0",
                            "period": "-1"
                          }
                        ],
                        "services_custom": [
                          {
                            "customer_id": 1,
                            "tariff_id": 1,
                            "status": "active",
                            "description": "Some Description",
                            "quantity": 1,
                            "unit": 0,
                            "unit_price": 0,
                            "start_date": "2016-01-01",
                            "end_date": "0000-00-00",
                            "discount": "",
                            "discount_type": "percent",
                            "discount_value": 0,
                            "discount_start_date": "",
                            "discount_end_date": "",
                            "discount_text": "",
                            "status_new": "stopped",
                            "bundle_service_id": 0,
                            "parent_id": 1,
                            "on_approve": "0",
                            "period": "-1"
                          }
                        ],
                        "activation_fee_transaction_id": 137,
                        "cancellation_fee_transaction_id": 137,
                        "prior_cancellation_fee_transaction_id": 137,
                        "id": 1,
                        "type": "bundle"
                      }
                    }
                  ]
                },
                "example": {
                  "customer_id": 1,
                  "bundle_id": 1,
                  "status": "active",
                  "description": "Some Description",
                  "unit_price": 0,
                  "start_date": "2016-01-01",
                  "end_date": "0000-00-00",
                  "discount": "0",
                  "discount_type": "percent",
                  "discount_value": 0,
                  "discount_start_date": "",
                  "discount_end_date": "",
                  "discount_text": "",
                  "automatic_renewal": true,
                  "activation_fee": 0.5,
                  "auto_reactivate": false,
                  "get_activation_fee_when": "create_service",
                  "issue_invoice_while_service_creation": true,
                  "cancellation_fee": 1.5,
                  "prior_cancellation_fee": 1.5,
                  "services_internet": [
                    {
                      "customer_id": 1,
                      "tariff_id": 1,
                      "status": "active",
                      "description": "Some Description",
                      "quantity": 1,
                      "unit": 0,
                      "unit_price": 0,
                      "start_date": "2016-01-01",
                      "end_date": "0000-00-00",
                      "discount": "",
                      "discount_type": "percent",
                      "discount_value": 0,
                      "discount_start_date": "",
                      "discount_end_date": "",
                      "discount_text": "",
                      "router_id": 0,
                      "sector_id": 0,
                      "login": "",
                      "password": "",
                      "taking_ipv4": 0,
                      "ipv4": "",
                      "ipv4_route": "",
                      "ipv4_pool_id": 0,
                      "ipv6": "",
                      "ipv6_delegated": "",
                      "ipv6_pool_id": 0,
                      "taking_ipv6": 0,
                      "mac": "",
                      "port_id": 0,
                      "access_device": 0,
                      "bundle_service_id": 0,
                      "status_new": "stopped",
                      "top_up_tariff_id": 1,
                      "parent_id": 1,
                      "on_approve": "0",
                      "period": "-1"
                    }
                  ],
                  "services_voice": [
                    {
                      "customer_id": 1,
                      "tariff_id": 1,
                      "status": "active",
                      "description": "Some Description",
                      "quantity": 1,
                      "unit": 0,
                      "unit_price": 0,
                      "start_date": "2016-01-01",
                      "end_date": "0000-00-00",
                      "discount": "",
                      "discount_type": "percent",
                      "discount_value": 0,
                      "discount_start_date": "",
                      "discount_end_date": "",
                      "discount_text": "",
                      "voice_device_id": 0,
                      "phone": "",
                      "phonesArray": [],
                      "bundle_service_id": 0,
                      "direction": "outgoing",
                      "status_new": "stopped",
                      "parent_id": 1,
                      "on_approve": "0",
                      "period": "-1"
                    }
                  ],
                  "services_custom": [
                    {
                      "customer_id": 1,
                      "tariff_id": 1,
                      "status": "active",
                      "description": "Some Description",
                      "quantity": 1,
                      "unit": 0,
                      "unit_price": 0,
                      "start_date": "2016-01-01",
                      "end_date": "0000-00-00",
                      "discount": "",
                      "discount_type": "percent",
                      "discount_value": 0,
                      "discount_start_date": "",
                      "discount_end_date": "",
                      "discount_text": "",
                      "status_new": "stopped",
                      "bundle_service_id": 0,
                      "parent_id": 1,
                      "on_approve": "0",
                      "period": "-1"
                    }
                  ],
                  "activation_fee_transaction_id": 137,
                  "cancellation_fee_transaction_id": 137,
                  "prior_cancellation_fee_transaction_id": 137,
                  "id": 1,
                  "type": "bundle"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Services"
        ],
        "summary": "Update Bundle service",
        "description": "Work with customer Bundle services.Update Bundle service with the given ID.",
        "operationId": "UpdateBundleservice",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired Bundle service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sub_id": {
                    "type": "number",
                    "description": "Optional. Direct sub-account ID a main (linked-billing) account acts on behalf of. Honored only when the access token belongs to the main account that owns this sub: the sub must belong to the authenticated main and the targeted service must belong to that sub. For any other customer token the request is rejected with a not-found error. Ignored for admin tokens (they target the service owner directly)."
                  },
                  "description": {
                    "type": "string",
                    "description": "Bundle service description"
                  },
                  "internet_services": {
                    "type": "object",
                    "description": "Map of internet service modifications keyed by internal service id. Each value is a partial Customer Internet service object (e.g. `login`, `description`).",
                    "additionalProperties": {
                      "type": "object",
                      "properties": {
                        "login": {
                          "type": "string",
                          "description": "Service login"
                        },
                        "description": {
                          "type": "string",
                          "description": "Service description"
                        }
                      }
                    }
                  }
                }
              },
              "example": {
                "sub_id": 42,
                "description": "New Description",
                "internet_services": {
                  "10": {
                    "login": "new_login"
                  },
                  "5": {
                    "description": "Service #5"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Services"
        ],
        "summary": "Delete Bundle service",
        "description": "Work with customer Bundle services.Delete Bundle service with the given ID.",
        "operationId": "DeleteBundleservice",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired Bundle service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer/{customer_id}/bundle-services--{service_id}-cancel": {
      "put": {
        "tags": [
          "Services"
        ],
        "summary": "Cancel Bundle contract",
        "description": "Cancel Bundle contract with the given ID.",
        "operationId": "CancelBundlecontract",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired Bundle service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomerBundleservicecancellation"
              },
              "example": {
                "charge_cancellation_fee": false
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer/{customer_id}/bundle-services--{service_id}-reactivate": {
      "put": {
        "tags": [
          "Services"
        ],
        "summary": "Reactivate Bundle contract",
        "description": "Reactivate Bundle contract with the given ID.",
        "operationId": "ReactivateBundlecontract",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the desired Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired Bundle service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/additional-discounts": {
      "post": {
        "tags": [
          "Services"
        ],
        "summary": "Create Additional discount",
        "description": "Creates new Additional discount.",
        "operationId": "CreateAdditionaldiscount",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdditionaldiscountBase"
              },
              "example": {
                "service_type": "internet",
                "service_id": 1,
                "enabled": 1,
                "percent": 20,
                "start_date": "2018-07-05",
                "end_date": "2018-07-15",
                "message": "Holidays discount 20%"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/AdditionaldiscountId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "List all Additional discounts",
        "description": "Returns list of your Additional discounts.",
        "operationId": "ListallAdditionaldiscounts",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AdditionaldiscountResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "service_type": "internet",
                      "service_id": 1,
                      "enabled": 1,
                      "percent": 20,
                      "start_date": "2018-07-05",
                      "end_date": "2018-07-15",
                      "message": "Holidays discount 20%",
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "service_type": "internet",
                    "service_id": 1,
                    "enabled": 1,
                    "percent": 20,
                    "start_date": "2018-07-05",
                    "end_date": "2018-07-15",
                    "message": "Holidays discount 20%",
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/customers/customer/additional-discounts/{id}": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Retrieve Additional discount",
        "description": "Work with Additional discount.Retrieves Additional discount with the given ID.",
        "operationId": "RetrieveAdditionaldiscount",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Additional discount.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/AdditionaldiscountResponse"
                    },
                    {
                      "example": {
                        "service_type": "internet",
                        "service_id": 1,
                        "enabled": 1,
                        "percent": 20,
                        "start_date": "2018-07-05",
                        "end_date": "2018-07-15",
                        "message": "Holidays discount 20%",
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "service_type": "internet",
                  "service_id": 1,
                  "enabled": 1,
                  "percent": 20,
                  "start_date": "2018-07-05",
                  "end_date": "2018-07-15",
                  "message": "Holidays discount 20%",
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Services"
        ],
        "summary": "Update Additional discount",
        "description": "Work with Additional discount.Update Additional discount with the given ID.",
        "operationId": "UpdateAdditionaldiscount",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Additional discount.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAdditionaldiscountrequest"
              },
              "example": {
                "start_date": "2018-07-09"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Services"
        ],
        "summary": "Delete Additional discount",
        "description": "Work with Additional discount.Delete Additional discount with the given ID.",
        "operationId": "DeleteAdditionaldiscount",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Additional discount.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/portal/services/start/{service_id}": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Start service",
        "description": "Start or stop the service. You can start/stop services only for prepaid daily customers.Start the service.\nConditions for successfully starting:\n\n* Customer should be have billing type is prepaid daily.\n\n* Target service should have `stopped` status.\n\n* Target service should be not in bundle.",
        "operationId": "Startservice",
        "parameters": [
          {
            "name": "sub_id",
            "in": "query",
            "description": "Optional. Direct sub-account ID a main (linked-billing) account acts on behalf of. Honored only when the access token belongs to the main account that owns this sub: the sub must belong to the authenticated main and the targeted service must belong to that sub. For any other customer token the request is rejected with a not-found error. Ignored for admin tokens (they target the service owner directly).",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 42
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired service which need to enable",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_type",
            "in": "query",
            "description": "Type of the desired service",
            "required": true,
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/service_type1"
                },
                {
                  "description": "Type of the desired service"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/portal/services/stop/{service_id}": {
      "get": {
        "tags": [
          "Services"
        ],
        "summary": "Stop service",
        "description": "Start or stop the service. You can start/stop services only for prepaid daily customers.Stop the service.\nConditions for successfully stopping:\n\n* Customer should be have billing type is prepaid daily.\n\n* Target service should have `active` status.\n\n* Target service should be not in bundle.",
        "operationId": "Stopservice",
        "parameters": [
          {
            "name": "sub_id",
            "in": "query",
            "description": "Optional. Direct sub-account ID a main (linked-billing) account acts on behalf of. Honored only when the access token belongs to the main account that owns this sub: the sub must belong to the authenticated main and the targeted service must belong to that sub. For any other customer token the request is rejected with a not-found error. Ignored for admin tokens (they target the service owner directly).",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 42
            }
          },
          {
            "name": "service_id",
            "in": "path",
            "description": "The ID of the desired service which need to enable",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "service_type",
            "in": "query",
            "description": "Type of the desired service",
            "required": true,
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/service_type1"
                },
                {
                  "description": "Type of the desired service"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/portal/services/request-change-service": {
      "post": {
        "tags": [
          "Services"
        ],
        "summary": "Request service change",
        "description": "Creates a service change request (a support ticket) for the given service, optionally with an accompanying message and files.\n\nA main account may also create the request on behalf of one of its own sub-accounts by passing `sub_id`.\n\n#### Possible errors\n\n* `422` - Validation error: a required parameter is missing or invalid. Returned as a list of field errors.\n\n* `CUSTOMER_NOT_FOUND` - `sub_id` does not belong to the authenticated main account.\n\n* `NOT_FOUND` - The service was not found or does not belong to the target customer.\n\n* `INVALID_INPUT_DATA` - The target service is part of a bundle, or the request could not be created.",
        "operationId": "Requestservicechange",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "tariffId",
                  "serviceId",
                  "serviceType",
                  "startDate",
                  "message"
                ],
                "properties": {
                  "tariffId": {
                    "type": "number",
                    "format": "double",
                    "description": "ID of the tariff the customer wants to switch to."
                  },
                  "serviceId": {
                    "type": "number",
                    "format": "double",
                    "description": "ID of the service to change."
                  },
                  "serviceType": {
                    "type": "string",
                    "enum": [
                      "internet",
                      "voice",
                      "custom",
                      "recurring"
                    ],
                    "description": "Type of the service."
                  },
                  "startDate": {
                    "type": "string",
                    "format": "date",
                    "description": "Date the customer wants the new tariff from."
                  },
                  "message": {
                    "type": "string",
                    "description": "Accompanying message from the customer."
                  },
                  "sub_id": {
                    "type": "number",
                    "format": "double",
                    "description": "Direct sub-account to request the change for. Required only when a main account requests a change on behalf of its sub-account."
                  }
                }
              },
              "example": {
                "tariffId": 3,
                "serviceId": 12,
                "serviceType": "internet",
                "startDate": "2026-08-01",
                "message": "Please switch my plan"
              }
            },
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "required": [
                  "tariffId",
                  "serviceId",
                  "serviceType",
                  "startDate",
                  "message"
                ],
                "properties": {
                  "tariffId": {
                    "type": "number",
                    "format": "double",
                    "description": "ID of the tariff the customer wants to switch to."
                  },
                  "serviceId": {
                    "type": "number",
                    "format": "double",
                    "description": "ID of the service to change."
                  },
                  "serviceType": {
                    "type": "string",
                    "enum": [
                      "internet",
                      "voice",
                      "custom",
                      "recurring"
                    ],
                    "description": "Type of the service."
                  },
                  "startDate": {
                    "type": "string",
                    "format": "date",
                    "description": "Date the customer wants the new tariff from."
                  },
                  "message": {
                    "type": "string",
                    "description": "Accompanying message from the customer."
                  },
                  "files": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "binary"
                    },
                    "description": "Files attached to the message."
                  },
                  "sub_id": {
                    "type": "number",
                    "format": "double",
                    "description": "Direct sub-account to request the change for. Required only when a main account requests a change on behalf of its sub-account."
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "number",
                      "format": "double",
                      "description": "ID of the created support ticket."
                    }
                  }
                },
                "example": {
                  "id": 735
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/transactions": {
      "post": {
        "tags": [
          "Finance"
        ],
        "summary": "Create a Transaction",
        "description": "Creates a new Transaction.",
        "operationId": "CreateaTransaction",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransactionBase"
              },
              "example": {
                "type": "debit",
                "customer_id": 1,
                "quantity": 1,
                "unit": "",
                "price": 158.25,
                "tax_percent": 19,
                "remind_amount": 0,
                "date": "2016-01-01",
                "category": "1",
                "description": "Description",
                "period_from": "",
                "period_to": "",
                "service_id": null,
                "payment_id": null,
                "credit_note_id": 0,
                "invoice_id": null,
                "invoiced_by_id": null,
                "comment": "",
                "to_invoice": false,
                "service_type": "internet",
                "source": "manual",
                "tax_id": 1,
                "sub_account_id": 0
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TransactionId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "List all Transactions",
        "description": "Returns a list of your Transactions.",
        "operationId": "ListallTransactions",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TransactionResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "type": "debit",
                      "customer_id": 1,
                      "quantity": 1,
                      "unit": "",
                      "price": 158.25,
                      "tax_percent": 19,
                      "remind_amount": 0,
                      "date": "2016-01-01",
                      "category": "1",
                      "description": "Description",
                      "period_from": "",
                      "period_to": "",
                      "service_id": null,
                      "payment_id": null,
                      "credit_note_id": 0,
                      "invoice_id": null,
                      "invoiced_by_id": null,
                      "comment": "",
                      "to_invoice": false,
                      "service_type": "internet",
                      "source": "manual",
                      "tax_id": 1,
                      "sub_account_id": 0,
                      "id": 1,
                      "total": 10
                    }
                  ]
                },
                "example": [
                  {
                    "type": "debit",
                    "customer_id": 1,
                    "quantity": 1,
                    "unit": "",
                    "price": 158.25,
                    "tax_percent": 19,
                    "remind_amount": 0,
                    "date": "2016-01-01",
                    "category": "1",
                    "description": "Description",
                    "period_from": "",
                    "period_to": "",
                    "service_id": null,
                    "payment_id": null,
                    "credit_note_id": 0,
                    "invoice_id": null,
                    "invoiced_by_id": null,
                    "comment": "",
                    "to_invoice": false,
                    "service_type": "internet",
                    "source": "manual",
                    "tax_id": 1,
                    "sub_account_id": 0,
                    "id": 1,
                    "total": 10
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/transactions/{id}": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Retrieve a Transaction",
        "description": "Work with Transactions.Retrieves the Transaction with the given ID.",
        "operationId": "RetrieveaTransaction",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Transaction.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TransactionResponse"
                    },
                    {
                      "example": {
                        "type": "debit",
                        "customer_id": 1,
                        "quantity": 1,
                        "unit": "",
                        "price": 158.25,
                        "tax_percent": 19,
                        "remind_amount": 0,
                        "date": "2016-01-01",
                        "category": "1",
                        "description": "Description",
                        "period_from": "",
                        "period_to": "",
                        "service_id": null,
                        "payment_id": null,
                        "credit_note_id": 0,
                        "invoice_id": null,
                        "invoiced_by_id": null,
                        "comment": "",
                        "to_invoice": false,
                        "service_type": "internet",
                        "source": "manual",
                        "tax_id": 1,
                        "sub_account_id": 0,
                        "id": 1,
                        "total": 10
                      }
                    }
                  ]
                },
                "example": {
                  "type": "debit",
                  "customer_id": 1,
                  "quantity": 1,
                  "unit": "",
                  "price": 158.25,
                  "tax_percent": 19,
                  "remind_amount": 0,
                  "date": "2016-01-01",
                  "category": "1",
                  "description": "Description",
                  "period_from": "",
                  "period_to": "",
                  "service_id": null,
                  "payment_id": null,
                  "credit_note_id": 0,
                  "invoice_id": null,
                  "invoiced_by_id": null,
                  "comment": "",
                  "to_invoice": false,
                  "service_type": "internet",
                  "source": "manual",
                  "tax_id": 1,
                  "sub_account_id": 0,
                  "id": 1,
                  "total": 10
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Finance"
        ],
        "summary": "Update a Transaction",
        "description": "Work with Transactions.Update the Transaction with the given ID.",
        "operationId": "UpdateaTransaction",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Transaction.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "description": {
                    "type": "string",
                    "description": "Transaction description."
                  }
                }
              },
              "example": {
                "description": "Updated description"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Finance"
        ],
        "summary": "Delete a Transaction",
        "description": "Work with Transactions.Delete the Transaction with the given ID.",
        "operationId": "DeleteaTransaction",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Transaction.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/calculate-finance": {
      "post": {
        "tags": [
          "Finance"
        ],
        "summary": "Make a transaction row calculation and calculate totals",
        "description": "Make a transaction row calculation and calculate totals.",
        "operationId": "Makeatransactionrowcalculationandcalculatetotals",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "customerId": {
                    "type": "number",
                    "description": "Customer ID."
                  },
                  "items": {
                    "type": "array",
                    "description": "Items to calculate.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        },
                        "price": {
                          "type": "number"
                        },
                        "quantity": {
                          "type": "number"
                        },
                        "tax_id": {
                          "type": "number"
                        },
                        "withVat": {
                          "type": "boolean"
                        }
                      }
                    }
                  },
                  "isChangedInput": {
                    "type": "boolean",
                    "description": "Whether input was modified by the user."
                  },
                  "modifiedField": {
                    "type": "string",
                    "description": "Name of the field that was modified."
                  },
                  "price": {
                    "type": "number",
                    "description": "Price of the modified item."
                  },
                  "quantity": {
                    "type": "number",
                    "description": "Quantity of the modified item."
                  },
                  "tax_id": {
                    "type": "number",
                    "description": "Tax id of the modified item."
                  },
                  "type": {
                    "type": "string",
                    "description": "Type of the modified item."
                  },
                  "withVat": {
                    "type": "boolean",
                    "description": "Whether the price includes VAT."
                  }
                }
              },
              "example": {
                "customerId": 1,
                "items": [
                  {
                    "type": "internet",
                    "name": "Internet service",
                    "price": 50.0,
                    "quantity": 1,
                    "tax_id": 1,
                    "withVat": true
                  }
                ],
                "isChangedInput": true,
                "modifiedField": "price",
                "price": 50.0,
                "quantity": 1,
                "tax_id": 1,
                "type": "internet",
                "withVat": true
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "rowData": {
                      "type": "array",
                      "description": "Calculated row data per item.",
                      "items": {
                        "type": "object",
                        "properties": {
                          "applicable_amount": {
                            "type": "number"
                          },
                          "applicable_amount_unformatted": {
                            "type": "number"
                          },
                          "balance_after": {
                            "type": "number"
                          },
                          "deal_value": {
                            "type": "number"
                          },
                          "name": {
                            "type": "string"
                          },
                          "per_tax": {
                            "type": "number"
                          },
                          "price": {
                            "type": "number"
                          },
                          "quantity": {
                            "type": "number"
                          },
                          "rate": {
                            "type": "number"
                          },
                          "rate_unformatted": {
                            "type": "number"
                          },
                          "tax_id": {
                            "type": "number"
                          },
                          "totalVat": {
                            "type": "number"
                          },
                          "totalWithoutVat": {
                            "type": "number"
                          },
                          "total_unformatted": {
                            "type": "number"
                          },
                          "vat": {
                            "type": "number"
                          },
                          "vat_amount": {
                            "type": "number"
                          },
                          "vat_amount_unformatted": {
                            "type": "number"
                          },
                          "withVat": {
                            "type": "boolean"
                          },
                          "withoutVat": {
                            "type": "number"
                          }
                        }
                      }
                    },
                    "total": {
                      "type": "object",
                      "description": "Aggregated totals for the request.",
                      "properties": {
                        "totalVat": {
                          "type": "number"
                        },
                        "totalWithoutVat": {
                          "type": "number"
                        }
                      }
                    }
                  }
                },
                "example": {
                  "rowData": [
                    {
                      "applicable_amount": 50.0,
                      "applicable_amount_unformatted": 50.0,
                      "balance_after": -50.0,
                      "deal_value": 50.0,
                      "name": "Internet service",
                      "per_tax": 9.5,
                      "price": 50.0,
                      "quantity": 1,
                      "rate": 50.0,
                      "rate_unformatted": 50.0,
                      "tax_id": 1,
                      "totalVat": 9.5,
                      "totalWithoutVat": 50.0,
                      "total_unformatted": 59.5,
                      "vat": 19,
                      "vat_amount": 9.5,
                      "vat_amount_unformatted": 9.5,
                      "withVat": true,
                      "withoutVat": 50.0
                    }
                  ],
                  "total": {
                    "totalVat": 9.5,
                    "totalWithoutVat": 50.0
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/invoices": {
      "post": {
        "tags": [
          "Finance"
        ],
        "summary": "Create a Invoice",
        "description": "Creates a new Invoice.",
        "operationId": "CreateaInvoice",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceBase"
              },
              "example": {
                "customer_id": 1,
                "date_created": "2016-01-01",
                "date_updated": "",
                "date_till": "",
                "use_transactions": "1",
                "note": "",
                "memo": "",
                "date_payment": "",
                "status": "not_paid",
                "number": "201601010003",
                "payment_id": 0,
                "type": "one_time",
                "payd_from_deposit": 0,
                "is_sent": "0",
                "items": [
                  {
                    "description": "Desc of item",
                    "quantity": 1,
                    "unit": 0,
                    "price": 123,
                    "tax": 0,
                    "period_from": "2016-01-01",
                    "period_to": "2016-01-02",
                    "categoryIdForTransaction": 1,
                    "sub_account_id": 0
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/InvoiceId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "List all Invoices",
        "description": "Returns a list of your Invoices.",
        "operationId": "ListallInvoices",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "customer_id": 1,
                      "date_created": "2016-01-01",
                      "date_updated": "",
                      "date_till": "",
                      "use_transactions": "1",
                      "note": "",
                      "memo": "",
                      "date_payment": "",
                      "status": "not_paid",
                      "number": "201601010003",
                      "payment_id": 0,
                      "type": "one_time",
                      "payd_from_deposit": 0,
                      "is_sent": "0",
                      "items": [
                        {
                          "description": "Desc of item",
                          "quantity": 1,
                          "unit": 0,
                          "price": 123,
                          "tax": 0,
                          "period_from": "2016-01-01",
                          "period_to": "2016-01-02",
                          "categoryIdForTransaction": 1,
                          "sub_account_id": 0
                        }
                      ],
                      "id": 1,
                      "real_create_datetime": "2024-05-27 15:02:57",
                      "total": 10,
                      "due": 0,
                      "added_by": "admin",
                      "added_by_id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "customer_id": 1,
                    "date_created": "2016-01-01",
                    "date_updated": "",
                    "date_till": "",
                    "use_transactions": "1",
                    "note": "",
                    "memo": "",
                    "date_payment": "",
                    "status": "not_paid",
                    "number": "201601010003",
                    "payment_id": 0,
                    "type": "one_time",
                    "payd_from_deposit": 0,
                    "is_sent": "0",
                    "items": [
                      {
                        "description": "Desc of item",
                        "quantity": 1,
                        "unit": 0,
                        "price": 123,
                        "tax": 0,
                        "period_from": "2016-01-01",
                        "period_to": "2016-01-02",
                        "categoryIdForTransaction": 1,
                        "sub_account_id": 0
                      }
                    ],
                    "id": 1,
                    "real_create_datetime": "2024-05-27 15:02:57",
                    "total": 10,
                    "due": 0,
                    "added_by": "admin",
                    "added_by_id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/invoices/{id}": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Retrieve a Invoice",
        "description": "Work with Invoices.Retrieves the Invoice with the given ID.",
        "operationId": "RetrieveaInvoice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Invoice.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/InvoiceResponse"
                    },
                    {
                      "example": {
                        "customer_id": 1,
                        "date_created": "2016-01-01",
                        "date_updated": "",
                        "date_till": "",
                        "use_transactions": "1",
                        "note": "",
                        "memo": "",
                        "date_payment": "",
                        "status": "not_paid",
                        "number": "201601010003",
                        "payment_id": 0,
                        "type": "one_time",
                        "payd_from_deposit": 0,
                        "is_sent": "0",
                        "items": [
                          {
                            "description": "Desc of item",
                            "quantity": 1,
                            "unit": 0,
                            "price": 123,
                            "tax": 0,
                            "period_from": "2016-01-01",
                            "period_to": "2016-01-02",
                            "categoryIdForTransaction": 1,
                            "sub_account_id": 0
                          }
                        ],
                        "id": 1,
                        "real_create_datetime": "2024-05-27 15:02:57",
                        "total": 10,
                        "due": 0,
                        "added_by": "admin",
                        "added_by_id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "customer_id": 1,
                  "date_created": "2016-01-01",
                  "date_updated": "",
                  "date_till": "",
                  "use_transactions": "1",
                  "note": "",
                  "memo": "",
                  "date_payment": "",
                  "status": "not_paid",
                  "number": "201601010003",
                  "payment_id": 0,
                  "type": "one_time",
                  "payd_from_deposit": 0,
                  "is_sent": "0",
                  "items": [
                    {
                      "description": "Desc of item",
                      "quantity": 1,
                      "unit": 0,
                      "price": 123,
                      "tax": 0,
                      "period_from": "2016-01-01",
                      "period_to": "2016-01-02",
                      "categoryIdForTransaction": 1,
                      "sub_account_id": 0
                    }
                  ],
                  "id": 1,
                  "real_create_datetime": "2024-05-27 15:02:57",
                  "total": 10,
                  "due": 0,
                  "added_by": "admin",
                  "added_by_id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Finance"
        ],
        "summary": "Update a Invoice",
        "description": "Work with Invoices.Update the Invoice with the given ID.",
        "operationId": "UpdateaInvoice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Invoice.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "number",
                    "description": "Document ID."
                  },
                  "description": {
                    "type": "string",
                    "description": "Document description."
                  },
                  "items": {
                    "type": "array",
                    "description": "Updated items list.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "number"
                        },
                        "description": {
                          "type": "string"
                        },
                        "price": {
                          "type": "number"
                        },
                        "quantity": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              },
              "example": {
                "id": 1,
                "description": "Updated description",
                "items": [
                  {
                    "id": 1,
                    "description": "Item 1",
                    "price": 50,
                    "quantity": 1
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Finance"
        ],
        "summary": "Delete a Invoice",
        "description": "Work with Invoices.Delete the Invoice with the given ID.",
        "operationId": "DeleteaInvoice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Invoice.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/credit-notes": {
      "post": {
        "tags": [
          "Finance"
        ],
        "summary": "Create a Credit note",
        "description": "Creates a new Credit note.",
        "operationId": "CreateaCreditnote",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreditnoteBase"
              },
              "example": {
                "customer_id": 1,
                "date_created": "2016-01-01",
                "date_updated": "",
                "date_payment": "",
                "status": "not_refunded",
                "number": "201601010003",
                "payment_id": 0,
                "resetPeriodForService": true,
                "note": "",
                "is_sent": "0",
                "items": [
                  {
                    "description": "Desc of item",
                    "quantity": 1,
                    "unit": 0,
                    "price": 123,
                    "tax": 0,
                    "sub_account_id": 0,
                    "invoice_item_id": 0
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CreditnoteId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "List all Credit Notes",
        "description": "Returns a list of your Credit Notes.",
        "operationId": "ListallCreditNotes",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CreditnoteResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "customer_id": 1,
                      "date_created": "2016-01-01",
                      "date_updated": "",
                      "date_payment": "",
                      "status": "not_refunded",
                      "number": "201601010003",
                      "payment_id": 0,
                      "resetPeriodForService": true,
                      "note": "",
                      "is_sent": "0",
                      "items": [
                        {
                          "description": "Desc of item",
                          "quantity": 1,
                          "unit": 0,
                          "price": 123,
                          "tax": 0,
                          "sub_account_id": 0,
                          "invoice_item_id": 0
                        }
                      ],
                      "id": 1,
                      "real_create_datetime": "2024-05-27 15:40:22",
                      "total": 10,
                      "remind_amount": 0,
                      "added_by": "system",
                      "added_by_id": 1,
                      "partiallyUse": true
                    }
                  ]
                },
                "example": [
                  {
                    "customer_id": 1,
                    "date_created": "2016-01-01",
                    "date_updated": "",
                    "date_payment": "",
                    "status": "not_refunded",
                    "number": "201601010003",
                    "payment_id": 0,
                    "resetPeriodForService": true,
                    "note": "",
                    "is_sent": "0",
                    "items": [
                      {
                        "description": "Desc of item",
                        "quantity": 1,
                        "unit": 0,
                        "price": 123,
                        "tax": 0,
                        "sub_account_id": 0,
                        "invoice_item_id": 0
                      }
                    ],
                    "id": 1,
                    "real_create_datetime": "2024-05-27 15:40:22",
                    "total": 10,
                    "remind_amount": 0,
                    "added_by": "system",
                    "added_by_id": 1,
                    "partiallyUse": true
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/credit-notes/{id}": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Retrieve a Credit note",
        "description": "Work with Credit notes.Retrieves the Credit note with the given ID.",
        "operationId": "RetrieveaCreditnote",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Credit note.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Finance"
        ],
        "summary": "Update a Credit note",
        "description": "Work with Credit notes.Update the Credit note with the given ID.",
        "operationId": "UpdateaCreditnote",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Credit note.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "number",
                    "description": "Document ID."
                  },
                  "description": {
                    "type": "string",
                    "description": "Document description."
                  },
                  "items": {
                    "type": "array",
                    "description": "Updated items list.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "number"
                        },
                        "description": {
                          "type": "string"
                        },
                        "price": {
                          "type": "number"
                        },
                        "quantity": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              },
              "example": {
                "id": 1,
                "description": "Updated description",
                "items": [
                  {
                    "id": 1,
                    "description": "Item 1",
                    "price": 50,
                    "quantity": 1
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Finance"
        ],
        "summary": "Delete a Credit note",
        "description": "Work with Credit notes.Delete the Credit note with the given ID.",
        "operationId": "DeleteaCreditnote",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Credit note.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/payments": {
      "post": {
        "tags": [
          "Finance"
        ],
        "summary": "Create a Payment",
        "description": "Creates a new Payment.",
        "operationId": "CreateaPayment",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentBaseAdvanced"
              },
              "example": {
                "customer_id": 1,
                "invoice_id": null,
                "credit_note_id": null,
                "request_id": null,
                "transaction_id": 0,
                "payment_statement_id": null,
                "payment_type": "",
                "receipt_number": "",
                "date": "",
                "amount": "",
                "comment": "",
                "is_sent": "0",
                "field_1": "",
                "field_2": "",
                "field_3": "",
                "field_4": "",
                "field_5": "",
                "note": "",
                "memo": "",
                "refund_payment_id": 0
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PaymentId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "List all Payments",
        "description": "Returns a list of your Payments.",
        "operationId": "ListallPayments",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "customer_id": 1,
                      "invoice_id": null,
                      "credit_note_id": null,
                      "request_id": null,
                      "transaction_id": 0,
                      "payment_statement_id": null,
                      "payment_type": "",
                      "receipt_number": "",
                      "date": "",
                      "amount": "",
                      "comment": "",
                      "is_sent": "0",
                      "field_1": "",
                      "field_2": "",
                      "field_3": "",
                      "field_4": "",
                      "field_5": "",
                      "note": "",
                      "memo": "",
                      "id": 1,
                      "void": false,
                      "remind_amount": 0,
                      "real_create_datetime": "2024-05-27 15:30:35",
                      "added_by": "api",
                      "added_by_id": 1,
                      "refund_payment_id": 0
                    }
                  ]
                },
                "example": [
                  {
                    "customer_id": 1,
                    "invoice_id": null,
                    "credit_note_id": null,
                    "request_id": null,
                    "transaction_id": 0,
                    "payment_statement_id": null,
                    "payment_type": "",
                    "receipt_number": "",
                    "date": "",
                    "amount": "",
                    "comment": "",
                    "is_sent": "0",
                    "field_1": "",
                    "field_2": "",
                    "field_3": "",
                    "field_4": "",
                    "field_5": "",
                    "note": "",
                    "memo": "",
                    "id": 1,
                    "void": false,
                    "remind_amount": 0,
                    "real_create_datetime": "2024-05-27 15:30:35",
                    "added_by": "api",
                    "added_by_id": 1,
                    "refund_payment_id": 0
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/payments/{id}": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Retrieve a Payment",
        "description": "Work with Payments.Retrieves the Payment with the given ID.",
        "operationId": "RetrieveaPayment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Payment.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PaymentResponse"
                    },
                    {
                      "example": {
                        "customer_id": 1,
                        "invoice_id": null,
                        "credit_note_id": null,
                        "request_id": null,
                        "transaction_id": 0,
                        "payment_statement_id": null,
                        "payment_type": "",
                        "receipt_number": "",
                        "date": "",
                        "amount": "",
                        "comment": "",
                        "is_sent": "0",
                        "field_1": "",
                        "field_2": "",
                        "field_3": "",
                        "field_4": "",
                        "field_5": "",
                        "note": "",
                        "memo": "",
                        "id": 1,
                        "void": false,
                        "remind_amount": 0,
                        "real_create_datetime": "2024-05-27 15:30:35",
                        "added_by": "api",
                        "added_by_id": 1,
                        "refund_payment_id": 0
                      }
                    }
                  ]
                },
                "example": {
                  "customer_id": 1,
                  "invoice_id": null,
                  "credit_note_id": null,
                  "request_id": null,
                  "transaction_id": 0,
                  "payment_statement_id": null,
                  "payment_type": "",
                  "receipt_number": "",
                  "date": "",
                  "amount": "",
                  "comment": "",
                  "is_sent": "0",
                  "field_1": "",
                  "field_2": "",
                  "field_3": "",
                  "field_4": "",
                  "field_5": "",
                  "note": "",
                  "memo": "",
                  "id": 1,
                  "void": false,
                  "remind_amount": 0,
                  "real_create_datetime": "2024-05-27 15:30:35",
                  "added_by": "api",
                  "added_by_id": 1,
                  "refund_payment_id": 0
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Finance"
        ],
        "summary": "Update a Payment",
        "description": "Work with Payments.Update the Payment with the given ID.",
        "operationId": "UpdateaPayment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Payment.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "description": {
                    "type": "string",
                    "description": "Payment description."
                  }
                }
              },
              "example": {
                "description": "Updated description"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Finance"
        ],
        "summary": "Delete a Payment",
        "description": "Work with Payments.Delete the Payment with the given ID.",
        "operationId": "DeleteaPayment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Payment.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/payment-methods": {
      "post": {
        "tags": [
          "Finance"
        ],
        "summary": "Create a Payment method",
        "description": "Creates a new Payment method.",
        "operationId": "CreateaPaymentmethod",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentMethodsBase"
              },
              "example": {
                "name": "Bank transfer",
                "is_active": true,
                "name_1": "Account",
                "name_2": "Transaction ID Bank transfer",
                "name_3": "field 3",
                "name_4": "field 4",
                "name_5": "field 5"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PaymentMethodsId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "List all Payment methods",
        "description": "Returns a list of your Payment methods.",
        "operationId": "ListallPaymentmethods",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentMethodsResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "name": "Bank transfer",
                      "is_active": true,
                      "name_1": "Account",
                      "name_2": "Transaction ID Bank transfer",
                      "name_3": "field 3",
                      "name_4": "field 4",
                      "name_5": "field 5",
                      "id": 1,
                      "accounting_bank_accounts_id": 0,
                      "einvoicing_payment_methods_id": 3
                    }
                  ]
                },
                "example": [
                  {
                    "name": "Bank transfer",
                    "is_active": true,
                    "name_1": "Account",
                    "name_2": "Transaction ID Bank transfer",
                    "name_3": "field 3",
                    "name_4": "field 4",
                    "name_5": "field 5",
                    "id": 1,
                    "accounting_bank_accounts_id": 0,
                    "einvoicing_payment_methods_id": 3
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/payment-methods/{id}": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Retrieve a Payment method",
        "description": "Work with Payment method.Retrieves the Payment method with the given ID.",
        "operationId": "RetrieveaPaymentmethod",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired payment method.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PaymentMethodsResponse"
                    },
                    {
                      "example": {
                        "name": "Bank transfer",
                        "is_active": true,
                        "name_1": "Account",
                        "name_2": "Transaction ID Bank transfer",
                        "name_3": "field 3",
                        "name_4": "field 4",
                        "name_5": "field 5",
                        "id": 1,
                        "accounting_bank_accounts_id": 0,
                        "einvoicing_payment_methods_id": 3
                      }
                    }
                  ]
                },
                "example": {
                  "name": "Bank transfer",
                  "is_active": true,
                  "name_1": "Account",
                  "name_2": "Transaction ID Bank transfer",
                  "name_3": "field 3",
                  "name_4": "field 4",
                  "name_5": "field 5",
                  "id": 1,
                  "accounting_bank_accounts_id": 0,
                  "einvoicing_payment_methods_id": 3
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Finance"
        ],
        "summary": "Update a Payment method",
        "description": "Work with Payment method.Update the Payment method with the given ID.",
        "operationId": "UpdateaPaymentmethod",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired payment method.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateaPaymentmethodrequest"
              },
              "example": {
                "name": "Cash",
                "name_1": "Payer"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Finance"
        ],
        "summary": "Delete a Payment method",
        "description": "Work with Payment method.Delete the Payment method with the given ID.",
        "operationId": "DeleteaPaymentmethod",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired payment method.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/transaction-categories": {
      "post": {
        "tags": [
          "Finance"
        ],
        "summary": "Create a Transaction category",
        "description": "Creates a new Transaction category.",
        "operationId": "CreateaTransactioncategory",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransactionCategoriesBase"
              },
              "example": {
                "name": "Deposit",
                "is_base": "0"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TransactionCategoriesId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "List all Transaction categories",
        "description": "Returns a list of your Transaction categories.",
        "operationId": "ListallTransactioncategories",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TransactionCategoriesResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "name": "Deposit",
                      "is_base": "0",
                      "id": 1,
                      "accounting_category_id": null,
                      "einvoicing_category_id": 0,
                      "einvoicing_private_person_category_id": 0,
                      "einvoicing_type_id": 0,
                      "einvoicing_private_person_type_id": 0
                    }
                  ]
                },
                "example": [
                  {
                    "name": "Deposit",
                    "is_base": "0",
                    "id": 1,
                    "accounting_category_id": null,
                    "einvoicing_category_id": 0,
                    "einvoicing_private_person_category_id": 0,
                    "einvoicing_type_id": 0,
                    "einvoicing_private_person_type_id": 0
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/transaction-categories/{id}": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Retrieve a Transaction category",
        "description": "Work with Transaction category.Retrieves the Transaction category with the given ID.",
        "operationId": "RetrieveaTransactioncategory",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired transaction category.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TransactionCategoriesResponse"
                    },
                    {
                      "example": {
                        "name": "Deposit",
                        "is_base": "0",
                        "id": 1,
                        "accounting_category_id": null,
                        "einvoicing_category_id": 0,
                        "einvoicing_private_person_category_id": 0,
                        "einvoicing_type_id": 0,
                        "einvoicing_private_person_type_id": 0
                      }
                    }
                  ]
                },
                "example": {
                  "name": "Deposit",
                  "is_base": "0",
                  "id": 1,
                  "accounting_category_id": null,
                  "einvoicing_category_id": 0,
                  "einvoicing_private_person_category_id": 0,
                  "einvoicing_type_id": 0,
                  "einvoicing_private_person_type_id": 0
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Finance"
        ],
        "summary": "Update a Transaction category",
        "description": "Work with Transaction category.Update the Transaction category with the given ID.",
        "operationId": "UpdateaTransactioncategory",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired transaction category.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateaTransactioncategoryrequest"
              },
              "example": {
                "name": "Credit"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Finance"
        ],
        "summary": "Delete a Transaction category",
        "description": "Work with Transaction category.Delete the Transaction category with the given ID.",
        "operationId": "DeleteaTransactioncategory",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired transaction category.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/proforma-invoices": {
      "post": {
        "tags": [
          "Finance"
        ],
        "summary": "Create a Proforma invoice",
        "description": "Creates a new Proforma invoice.",
        "operationId": "CreateaProformainvoice",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProformaInvoiceBase"
              },
              "example": {
                "customer_id": 1,
                "date_created": "2016-01-01",
                "date_updated": "",
                "date_till": "",
                "date_payment": "",
                "status": "not_paid",
                "number": "201601010003",
                "payment_id": 0,
                "items": [
                  {
                    "description": "Desc of item",
                    "quantity": 1,
                    "unit": 0,
                    "price": 123,
                    "tax": 0,
                    "period_from": "2016-01-01",
                    "period_to": "2016-01-02",
                    "sub_account_id": 0
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ProformaInvoiceId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "List all Proforma invoices",
        "description": "Returns a list of your Proforma invoices.",
        "operationId": "ListallProformainvoices",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProformaInvoiceResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "customer_id": 1,
                      "date_created": "2016-01-01",
                      "date_updated": "",
                      "date_till": "",
                      "date_payment": "",
                      "status": "not_paid",
                      "number": "201601010003",
                      "payment_id": 0,
                      "items": [
                        {
                          "description": "Desc of item",
                          "quantity": 1,
                          "unit": 0,
                          "price": 123,
                          "tax": 0,
                          "period_from": "2016-01-01",
                          "period_to": "2016-01-02",
                          "sub_account_id": 0
                        }
                      ],
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "customer_id": 1,
                    "date_created": "2016-01-01",
                    "date_updated": "",
                    "date_till": "",
                    "date_payment": "",
                    "status": "not_paid",
                    "number": "201601010003",
                    "payment_id": 0,
                    "items": [
                      {
                        "description": "Desc of item",
                        "quantity": 1,
                        "unit": 0,
                        "price": 123,
                        "tax": 0,
                        "period_from": "2016-01-01",
                        "period_to": "2016-01-02",
                        "sub_account_id": 0
                      }
                    ],
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/proforma-invoices/{id}": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Retrieve a Proforma invoice",
        "description": "Work with Proforma invoice.Retrieves the Proforma invoice with the given ID.",
        "operationId": "RetrieveaProformainvoice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Proforma invoice.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ProformaInvoiceResponse"
                    },
                    {
                      "example": {
                        "customer_id": 1,
                        "date_created": "2016-01-01",
                        "date_updated": "",
                        "date_till": "",
                        "date_payment": "",
                        "status": "not_paid",
                        "number": "201601010003",
                        "payment_id": 0,
                        "items": [
                          {
                            "description": "Desc of item",
                            "quantity": 1,
                            "unit": 0,
                            "price": 123,
                            "tax": 0,
                            "period_from": "2016-01-01",
                            "period_to": "2016-01-02",
                            "sub_account_id": 0
                          }
                        ],
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "customer_id": 1,
                  "date_created": "2016-01-01",
                  "date_updated": "",
                  "date_till": "",
                  "date_payment": "",
                  "status": "not_paid",
                  "number": "201601010003",
                  "payment_id": 0,
                  "items": [
                    {
                      "description": "Desc of item",
                      "quantity": 1,
                      "unit": 0,
                      "price": 123,
                      "tax": 0,
                      "period_from": "2016-01-01",
                      "period_to": "2016-01-02",
                      "sub_account_id": 0
                    }
                  ],
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Finance"
        ],
        "summary": "Update a Proforma invoice",
        "description": "Work with Proforma invoice.Update the Proforma invoice with the given ID.",
        "operationId": "UpdateaProformainvoice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Proforma invoice.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "number",
                    "description": "Document ID."
                  },
                  "description": {
                    "type": "string",
                    "description": "Document description."
                  },
                  "items": {
                    "type": "array",
                    "description": "Updated items list.",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "number"
                        },
                        "description": {
                          "type": "string"
                        },
                        "price": {
                          "type": "number"
                        },
                        "quantity": {
                          "type": "number"
                        }
                      }
                    }
                  }
                }
              },
              "example": {
                "id": 1,
                "description": "Updated description",
                "items": [
                  {
                    "id": 1,
                    "description": "Item 1",
                    "price": 50,
                    "quantity": 1
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Finance"
        ],
        "summary": "Delete a Proforma invoice",
        "description": "Work with Proforma invoice.Delete the Proforma invoice with the given ID.",
        "operationId": "DeleteaProformainvoice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Proforma invoice.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/to-bill/{customer_id}--{action}": {
      "post": {
        "tags": [
          "Finance"
        ],
        "summary": "Start charge invoice",
        "description": "Get preview or make invoice for customer for his services",
        "operationId": "Startchargeinvoice",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "action",
            "in": "path",
            "description": "Preview|generate action.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "preview"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ToBillCreate"
              },
              "example": {
                "toBillDate": "2017-01-01",
                "transactionDate": "2017-01-01",
                "period": 1
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Explanation. According to post data if we select action \"generate\" we can generate and get info about new invoice.<br>\nResponse has two elements: \"invoice\" with id, number and \"result\" with info about invoice items.<br>\n\"Result\" has elements with service types (internet/voice/custom)<br>\neach of them has elements with serivice id (5, 10 etc)<br>\neach of them has debit/credit element<br>\nand, finaly, each of them has info about invoice item (description, price, etc)<br>\nIf action was selected like \"preview\" so we can get same result but without creating invoice<br>\nand invoice array will be with empty elements<br>",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Explanation. According to post data if we select action \"generate\" we can generate and get info about new invoice.<br>\nResponse has two elements: \"invoice\" with id, number and \"result\" with info about invoice items.<br>\n\"Result\" has elements with service types (internet/voice/custom)<br>\neach of them has elements with serivice id (5, 10 etc)<br>\neach of them has debit/credit element<br>\nand, finaly, each of them has info about invoice item (description, price, etc)<br>\nIf action was selected like \"preview\" so we can get same result but without creating invoice<br>\nand invoice array will be with empty elements<br>",
                  "properties": {
                    "result": {
                      "type": "object",
                      "description": "Charges grouped by service type (internet, voice, custom).",
                      "properties": {
                        "internet": {
                          "type": "object",
                          "description": "Internet service charges grouped by service id.",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "debit": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "description": {
                                      "type": "string",
                                      "example": "first service description"
                                    },
                                    "quantity": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "unit": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "days": {
                                      "type": "number",
                                      "example": 30
                                    },
                                    "price": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "tax_percent": {
                                      "type": "number",
                                      "example": 0.0
                                    },
                                    "total": {
                                      "type": "number",
                                      "example": 10
                                    },
                                    "date": {
                                      "type": "string",
                                      "example": "2017-12-01"
                                    },
                                    "from": {
                                      "type": "string",
                                      "example": "2017-10-22"
                                    },
                                    "to": {
                                      "type": "string",
                                      "example": "2017-11-30"
                                    }
                                  }
                                }
                              },
                              "credit": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "description": {
                                      "type": "string",
                                      "example": "first service description"
                                    },
                                    "quantity": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "unit": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "days": {
                                      "type": "number",
                                      "example": 30
                                    },
                                    "price": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "tax_percent": {
                                      "type": "number",
                                      "example": 0.0
                                    },
                                    "total": {
                                      "type": "number",
                                      "example": 10
                                    },
                                    "date": {
                                      "type": "string",
                                      "example": "2017-12-01"
                                    },
                                    "from": {
                                      "type": "string",
                                      "example": "2017-10-22"
                                    },
                                    "to": {
                                      "type": "string",
                                      "example": "2017-11-30"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        },
                        "voice": {
                          "type": "object",
                          "description": "Voice service charges grouped by service id.",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "debit": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "description": {
                                      "type": "string",
                                      "example": "first service description"
                                    },
                                    "quantity": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "unit": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "days": {
                                      "type": "number",
                                      "example": 30
                                    },
                                    "price": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "tax_percent": {
                                      "type": "number",
                                      "example": 0.0
                                    },
                                    "total": {
                                      "type": "number",
                                      "example": 10
                                    },
                                    "date": {
                                      "type": "string",
                                      "example": "2017-12-01"
                                    },
                                    "from": {
                                      "type": "string",
                                      "example": "2017-10-22"
                                    },
                                    "to": {
                                      "type": "string",
                                      "example": "2017-11-30"
                                    }
                                  }
                                }
                              },
                              "credit": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "description": {
                                      "type": "string",
                                      "example": "first service description"
                                    },
                                    "quantity": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "unit": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "days": {
                                      "type": "number",
                                      "example": 30
                                    },
                                    "price": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "tax_percent": {
                                      "type": "number",
                                      "example": 0.0
                                    },
                                    "total": {
                                      "type": "number",
                                      "example": 10
                                    },
                                    "date": {
                                      "type": "string",
                                      "example": "2017-12-01"
                                    },
                                    "from": {
                                      "type": "string",
                                      "example": "2017-10-22"
                                    },
                                    "to": {
                                      "type": "string",
                                      "example": "2017-11-30"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        },
                        "custom": {
                          "type": "object",
                          "description": "Custom service charges grouped by service id.",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "debit": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "description": {
                                      "type": "string",
                                      "example": "first service description"
                                    },
                                    "quantity": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "unit": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "days": {
                                      "type": "number",
                                      "example": 30
                                    },
                                    "price": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "tax_percent": {
                                      "type": "number",
                                      "example": 0.0
                                    },
                                    "total": {
                                      "type": "number",
                                      "example": 10
                                    },
                                    "date": {
                                      "type": "string",
                                      "example": "2017-12-01"
                                    },
                                    "from": {
                                      "type": "string",
                                      "example": "2017-10-22"
                                    },
                                    "to": {
                                      "type": "string",
                                      "example": "2017-11-30"
                                    }
                                  }
                                }
                              },
                              "credit": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "description": {
                                      "type": "string",
                                      "example": "first service description"
                                    },
                                    "quantity": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "unit": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "days": {
                                      "type": "number",
                                      "example": 30
                                    },
                                    "price": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "tax_percent": {
                                      "type": "number",
                                      "example": 0.0
                                    },
                                    "total": {
                                      "type": "number",
                                      "example": 10
                                    },
                                    "date": {
                                      "type": "string",
                                      "example": "2017-12-01"
                                    },
                                    "from": {
                                      "type": "string",
                                      "example": "2017-10-22"
                                    },
                                    "to": {
                                      "type": "string",
                                      "example": "2017-11-30"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "invoice": {
                      "type": "object",
                      "description": "Invoice info. Empty when `action` is `preview`.",
                      "properties": {
                        "id": {
                          "type": "number",
                          "example": 6
                        },
                        "number": {
                          "type": "number",
                          "example": 201703000004
                        }
                      }
                    }
                  },
                  "example": {
                    "result": {
                      "internet": {
                        "5": {
                          "debit": [
                            {
                              "description": "first service description",
                              "quantity": 1,
                              "unit": 1,
                              "days": 30,
                              "price": 1,
                              "tax_percent": 0.0,
                              "total": 10,
                              "date": "2017-12-01",
                              "from": "2017-10-22",
                              "to": "2017-11-30"
                            }
                          ]
                        },
                        "10": {
                          "debit": [
                            {
                              "description": "second internet service description",
                              "quantity": 1,
                              "unit": 1,
                              "days": 30,
                              "price": 1,
                              "tax_percent": 0.0,
                              "total": 10,
                              "date": "2017-12-01",
                              "from": "2017-11-01",
                              "to": "2017-11-30"
                            }
                          ]
                        }
                      },
                      "custom": {
                        "3": {
                          "debit": [
                            {
                              "description": "description of custom service",
                              "quantity": 1,
                              "unit": 1,
                              "days": 30,
                              "price": 1,
                              "tax_percent": 0.0,
                              "total": 10,
                              "date": "2017-12-01",
                              "from": "2017-10-22",
                              "to": "2017-11-30"
                            }
                          ]
                        }
                      }
                    },
                    "invoice": {
                      "id": 6,
                      "number": 201703000004
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/to-bill-requests/{customer_id}--{action}": {
      "post": {
        "tags": [
          "Finance"
        ],
        "summary": "Start charge proforma",
        "description": "Get preview or make proforma for customer for his services",
        "operationId": "Startchargeproforma",
        "parameters": [
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the Customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "action",
            "in": "path",
            "description": "Preview|generate action.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "preview"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ToBillCreate"
              },
              "example": {
                "toBillDate": "2017-01-01",
                "transactionDate": "2017-01-01",
                "period": 1
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Explanation. According to post data if we select action \"generate\" we can generate and get info about new proforma.<br>\nResponse has two elements: \"request\" with id, number of proforma and \"result\" with info about proforma items.<br>\n\"Result\" has elements with service types (internet/voice/custom)<br>\neach of them has elements with seriviceId (5, 10 etc)<br>\neach of them has debit/credit element<br>\nand, finaly, each of them has info about proforma item (description, price, etc)<br>\nIf action was selected like \"preview\" so we can get same result but without creating proforma<br>\nand request array will be empty<br>",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Explanation. According to post data if we select action \"generate\" we can generate and get info about new proforma.<br>\nResponse has two elements: \"request\" with id, number of proforma and \"result\" with info about proforma items.<br>\n\"Result\" has elements with service types (internet/voice/custom)<br>\neach of them has elements with seriviceId (5, 10 etc)<br>\neach of them has debit/credit element<br>\nand, finaly, each of them has info about proforma item (description, price, etc)<br>\nIf action was selected like \"preview\" so we can get same result but without creating proforma<br>\nand request array will be empty<br>",
                  "properties": {
                    "result": {
                      "type": "object",
                      "description": "Charges grouped by service type (internet, voice, custom).",
                      "properties": {
                        "internet": {
                          "type": "object",
                          "description": "Internet service charges grouped by service id.",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "debit": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "description": {
                                      "type": "string",
                                      "example": "first service description"
                                    },
                                    "quantity": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "unit": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "days": {
                                      "type": "number",
                                      "example": 30
                                    },
                                    "price": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "tax_percent": {
                                      "type": "number",
                                      "example": 0.0
                                    },
                                    "total": {
                                      "type": "number",
                                      "example": 10
                                    },
                                    "date": {
                                      "type": "string",
                                      "example": "2017-12-01"
                                    },
                                    "from": {
                                      "type": "string",
                                      "example": "2017-10-22"
                                    },
                                    "to": {
                                      "type": "string",
                                      "example": "2017-11-30"
                                    }
                                  }
                                }
                              },
                              "credit": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "description": {
                                      "type": "string",
                                      "example": "first service description"
                                    },
                                    "quantity": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "unit": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "days": {
                                      "type": "number",
                                      "example": 30
                                    },
                                    "price": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "tax_percent": {
                                      "type": "number",
                                      "example": 0.0
                                    },
                                    "total": {
                                      "type": "number",
                                      "example": 10
                                    },
                                    "date": {
                                      "type": "string",
                                      "example": "2017-12-01"
                                    },
                                    "from": {
                                      "type": "string",
                                      "example": "2017-10-22"
                                    },
                                    "to": {
                                      "type": "string",
                                      "example": "2017-11-30"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        },
                        "voice": {
                          "type": "object",
                          "description": "Voice service charges grouped by service id.",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "debit": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "description": {
                                      "type": "string",
                                      "example": "first service description"
                                    },
                                    "quantity": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "unit": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "days": {
                                      "type": "number",
                                      "example": 30
                                    },
                                    "price": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "tax_percent": {
                                      "type": "number",
                                      "example": 0.0
                                    },
                                    "total": {
                                      "type": "number",
                                      "example": 10
                                    },
                                    "date": {
                                      "type": "string",
                                      "example": "2017-12-01"
                                    },
                                    "from": {
                                      "type": "string",
                                      "example": "2017-10-22"
                                    },
                                    "to": {
                                      "type": "string",
                                      "example": "2017-11-30"
                                    }
                                  }
                                }
                              },
                              "credit": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "description": {
                                      "type": "string",
                                      "example": "first service description"
                                    },
                                    "quantity": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "unit": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "days": {
                                      "type": "number",
                                      "example": 30
                                    },
                                    "price": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "tax_percent": {
                                      "type": "number",
                                      "example": 0.0
                                    },
                                    "total": {
                                      "type": "number",
                                      "example": 10
                                    },
                                    "date": {
                                      "type": "string",
                                      "example": "2017-12-01"
                                    },
                                    "from": {
                                      "type": "string",
                                      "example": "2017-10-22"
                                    },
                                    "to": {
                                      "type": "string",
                                      "example": "2017-11-30"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        },
                        "custom": {
                          "type": "object",
                          "description": "Custom service charges grouped by service id.",
                          "additionalProperties": {
                            "type": "object",
                            "properties": {
                              "debit": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "description": {
                                      "type": "string",
                                      "example": "first service description"
                                    },
                                    "quantity": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "unit": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "days": {
                                      "type": "number",
                                      "example": 30
                                    },
                                    "price": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "tax_percent": {
                                      "type": "number",
                                      "example": 0.0
                                    },
                                    "total": {
                                      "type": "number",
                                      "example": 10
                                    },
                                    "date": {
                                      "type": "string",
                                      "example": "2017-12-01"
                                    },
                                    "from": {
                                      "type": "string",
                                      "example": "2017-10-22"
                                    },
                                    "to": {
                                      "type": "string",
                                      "example": "2017-11-30"
                                    }
                                  }
                                }
                              },
                              "credit": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "description": {
                                      "type": "string",
                                      "example": "first service description"
                                    },
                                    "quantity": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "unit": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "days": {
                                      "type": "number",
                                      "example": 30
                                    },
                                    "price": {
                                      "type": "number",
                                      "example": 1
                                    },
                                    "tax_percent": {
                                      "type": "number",
                                      "example": 0.0
                                    },
                                    "total": {
                                      "type": "number",
                                      "example": 10
                                    },
                                    "date": {
                                      "type": "string",
                                      "example": "2017-12-01"
                                    },
                                    "from": {
                                      "type": "string",
                                      "example": "2017-10-22"
                                    },
                                    "to": {
                                      "type": "string",
                                      "example": "2017-11-30"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "request": {
                      "type": "object",
                      "description": "Proforma invoice info. Empty when `action` is `preview`.",
                      "properties": {
                        "id": {
                          "type": "number",
                          "example": 6
                        },
                        "number": {
                          "type": "number",
                          "example": 201703000004
                        }
                      }
                    }
                  },
                  "example": {
                    "result": {
                      "internet": {
                        "5": {
                          "debit": [
                            {
                              "description": "first service description",
                              "quantity": 1,
                              "unit": 1,
                              "days": 30,
                              "price": 1,
                              "tax_percent": 0.0,
                              "total": 10,
                              "date": "2017-12-01",
                              "from": "2017-10-22",
                              "to": "2017-11-30"
                            }
                          ]
                        },
                        "10": {
                          "debit": [
                            {
                              "description": "second internet service description",
                              "quantity": 1,
                              "unit": 1,
                              "days": 30,
                              "price": 1,
                              "tax_percent": 0.0,
                              "total": 10,
                              "date": "2017-12-01",
                              "from": "2017-11-01",
                              "to": "2017-11-30"
                            }
                          ]
                        }
                      },
                      "custom": {
                        "3": {
                          "debit": [
                            {
                              "description": "description of custom service",
                              "quantity": 1,
                              "unit": 1,
                              "days": 30,
                              "price": 1,
                              "tax_percent": 0.0,
                              "total": 10,
                              "date": "2017-12-01",
                              "from": "2017-10-22",
                              "to": "2017-11-30"
                            }
                          ]
                        }
                      }
                    },
                    "request": {
                      "id": 6,
                      "number": 201703000004
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/cancel-last-charge/{id}": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Retrieve a last charge info",
        "description": "View last charge info or cancel last charged invoice.Returns a last charge information of a desired customer",
        "operationId": "Retrievealastchargeinfo",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The Id of the desired customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ViewLastChargeResponse"
                    },
                    {
                      "example": {
                        "lastChargeExist": true,
                        "info": {
                          "date": "2016-01-01",
                          "maxPeriodTo": "2016-01-01",
                          "countTransactions": 1,
                          "totalSum": 10,
                          "emptyCharge": true,
                          "invoices": [
                            {
                              "id": 1,
                              "customer_id": 1,
                              "date_created": "2016-01-01",
                              "date_updated": "",
                              "date_till": "",
                              "date_payment": "",
                              "status": "not_paid",
                              "number": "201601010003",
                              "payment_id": 0,
                              "payd_from_deposit": 0,
                              "total": 123,
                              "due": 100
                            }
                          ],
                          "ipi_invoices": [
                            {
                              "id": 1,
                              "customer_id": 1,
                              "date_created": "2016-01-01",
                              "date_updated": "",
                              "date_till": "",
                              "date_payment": "",
                              "status": "not_paid",
                              "number": "201601010003",
                              "payment_id": 0,
                              "payd_from_deposit": 0,
                              "total": 123,
                              "due": 100
                            }
                          ],
                          "requests": [
                            {
                              "id": 1,
                              "customer_id": 1,
                              "date_created": "2016-01-01",
                              "date_updated": "",
                              "date_till": "",
                              "date_payment": "",
                              "status": "not_paid",
                              "number": "201601010003",
                              "payment_id": 0,
                              "total": 123
                            }
                          ],
                          "transactions": [
                            {
                              "type": "debit",
                              "customer_id": 1,
                              "quantity": 1,
                              "unit": "",
                              "price": 158.25,
                              "tax_percent": 19,
                              "remind_amount": 0,
                              "date": "2016-01-01",
                              "category": "1",
                              "description": "Description",
                              "period_from": "",
                              "period_to": "",
                              "service_id": null,
                              "payment_id": null,
                              "credit_note_id": 0,
                              "invoice_id": null,
                              "invoiced_by_id": null,
                              "comment": "",
                              "to_invoice": false,
                              "service_type": "internet",
                              "source": "manual",
                              "tax_id": 1,
                              "sub_account_id": 0,
                              "id": 1,
                              "total": 10
                            }
                          ],
                          "toBillRecords": [
                            {
                              "id": 1,
                              "customer_id": 1,
                              "date": "2016-01-02",
                              "real_date_time": "2016-01-02 09:48:12",
                              "transactions_id": "2,3,1",
                              "invoice_id": 43,
                              "request_id": 54,
                              "next_request_before": "2016-02-02",
                              "history_id": 1,
                              "transactions_sum": 123,
                              "max_period_to": "2016-02-02"
                            }
                          ]
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "lastChargeExist": true,
                  "info": {
                    "date": "2016-01-01",
                    "maxPeriodTo": "2016-01-01",
                    "countTransactions": 1,
                    "totalSum": 10,
                    "emptyCharge": true,
                    "invoices": [
                      {
                        "id": 1,
                        "customer_id": 1,
                        "date_created": "2016-01-01",
                        "date_updated": "",
                        "date_till": "",
                        "date_payment": "",
                        "status": "not_paid",
                        "number": "201601010003",
                        "payment_id": 0,
                        "payd_from_deposit": 0,
                        "total": 123,
                        "due": 100
                      }
                    ],
                    "ipi_invoices": [
                      {
                        "id": 1,
                        "customer_id": 1,
                        "date_created": "2016-01-01",
                        "date_updated": "",
                        "date_till": "",
                        "date_payment": "",
                        "status": "not_paid",
                        "number": "201601010003",
                        "payment_id": 0,
                        "payd_from_deposit": 0,
                        "total": 123,
                        "due": 100
                      }
                    ],
                    "requests": [
                      {
                        "id": 1,
                        "customer_id": 1,
                        "date_created": "2016-01-01",
                        "date_updated": "",
                        "date_till": "",
                        "date_payment": "",
                        "status": "not_paid",
                        "number": "201601010003",
                        "payment_id": 0,
                        "total": 123
                      }
                    ],
                    "transactions": [
                      {
                        "type": "debit",
                        "customer_id": 1,
                        "quantity": 1,
                        "unit": "",
                        "price": 158.25,
                        "tax_percent": 19,
                        "remind_amount": 0,
                        "date": "2016-01-01",
                        "category": "1",
                        "description": "Description",
                        "period_from": "",
                        "period_to": "",
                        "service_id": null,
                        "payment_id": null,
                        "credit_note_id": 0,
                        "invoice_id": null,
                        "invoiced_by_id": null,
                        "comment": "",
                        "to_invoice": false,
                        "service_type": "internet",
                        "source": "manual",
                        "tax_id": 1,
                        "sub_account_id": 0,
                        "id": 1,
                        "total": 10
                      }
                    ],
                    "toBillRecords": [
                      {
                        "id": 1,
                        "customer_id": 1,
                        "date": "2016-01-02",
                        "real_date_time": "2016-01-02 09:48:12",
                        "transactions_id": "2,3,1",
                        "invoice_id": 43,
                        "request_id": 54,
                        "next_request_before": "2016-02-02",
                        "history_id": 1,
                        "transactions_sum": 123,
                        "max_period_to": "2016-02-02"
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Finance"
        ],
        "summary": "Cancel last charge",
        "description": "View last charge info or cancel last charged invoice.Cancel a last charge of a desired customer. Also deletes invoices and transactions of a last charge.",
        "operationId": "Cancellastcharge",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The Id of the desired customer.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/bank-statements": {
      "post": {
        "tags": [
          "Finance"
        ],
        "summary": "Create a Payment Statement",
        "description": "Work with Payment statements collection.Creates a new Payment statement.",
        "operationId": "CreateaPaymentStatement",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentStatementBase"
              },
              "example": {
                "date_time": "2021-07-15 09:50:00",
                "title": "filename.csv",
                "handler": "handler",
                "payment_type": 2,
                "status": "new",
                "filename_original": "filename.csv",
                "filename_uploaded": "/var/www/splynx/uploads/statements/2021-08/2666df6a8056abc4",
                "filename_parsed": "/var/www/splynx/uploads/statements/2021-08/e89e98648573973b",
                "delimiter": "tabulator"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PaymentStatementId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "List all Payment Statements",
        "description": "Work with Payment statements collection.Returns a list of Payment statements.",
        "operationId": "ListallPaymentStatements",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentStatementsResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "date_time": "2021-07-15 09:50:00",
                      "title": "filename.csv",
                      "handler": "handler",
                      "payment_type": 2,
                      "status": "new",
                      "filename_original": "filename.csv",
                      "filename_uploaded": "/var/www/splynx/uploads/statements/2021-08/2666df6a8056abc4",
                      "filename_parsed": "/var/www/splynx/uploads/statements/2021-08/e89e98648573973b",
                      "delimiter": "tabulator",
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "date_time": "2021-07-15 09:50:00",
                    "title": "filename.csv",
                    "handler": "handler",
                    "payment_type": 2,
                    "status": "new",
                    "filename_original": "filename.csv",
                    "filename_uploaded": "/var/www/splynx/uploads/statements/2021-08/2666df6a8056abc4",
                    "filename_parsed": "/var/www/splynx/uploads/statements/2021-08/e89e98648573973b",
                    "delimiter": "tabulator",
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/bank-statements/{id}": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Retrieve a Payment Statement",
        "description": "Work with Payment statement.Retrieves the Payment statement with the given ID.",
        "operationId": "RetrieveaPaymentStatement",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The Id of the desired Payment statement.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentStatementsResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "date_time": "2021-07-15 09:50:00",
                      "title": "filename.csv",
                      "handler": "handler",
                      "payment_type": 2,
                      "status": "new",
                      "filename_original": "filename.csv",
                      "filename_uploaded": "/var/www/splynx/uploads/statements/2021-08/2666df6a8056abc4",
                      "filename_parsed": "/var/www/splynx/uploads/statements/2021-08/e89e98648573973b",
                      "delimiter": "tabulator",
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "date_time": "2021-07-15 09:50:00",
                    "title": "filename.csv",
                    "handler": "handler",
                    "payment_type": 2,
                    "status": "new",
                    "filename_original": "filename.csv",
                    "filename_uploaded": "/var/www/splynx/uploads/statements/2021-08/2666df6a8056abc4",
                    "filename_parsed": "/var/www/splynx/uploads/statements/2021-08/e89e98648573973b",
                    "delimiter": "tabulator",
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Finance"
        ],
        "summary": "Update a Payment Statement",
        "description": "Work with Payment statement.Update the Payment statement with the given ID.",
        "operationId": "UpdateaPaymentStatement",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The Id of the desired Payment statement.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "number",
                    "description": "Bank statement ID."
                  },
                  "title": {
                    "type": "string",
                    "description": "Bank statement title."
                  }
                }
              },
              "example": {
                "id": 1,
                "title": "March 2024 statement"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Finance"
        ],
        "summary": "Delete a Payment Statement",
        "description": "Work with Payment statement.Delete the Payment statement with the given ID.",
        "operationId": "DeleteaPaymentStatement",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The Id of the desired Payment statement.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/bank-statements-import": {
      "post": {
        "tags": [
          "Finance"
        ],
        "summary": "Create a Payment Statement Import",
        "description": "Work with Payment statements import collection.Creates a new Payment statement import.",
        "operationId": "CreateaPaymentStatementImport",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "data",
                  "columns"
                ],
                "properties": {
                  "data": {
                    "type": "array",
                    "description": "Array of bank statement rows. Each row is an array of values aligned with `columns`.",
                    "items": {
                      "type": "array",
                      "items": {}
                    }
                  },
                  "columns": {
                    "type": "array",
                    "description": "Names of columns in order, mapping to bank statement record fields.",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              },
              "example": {
                "data": [
                  [
                    "2017-01-01",
                    "John Doe",
                    100.0,
                    "Reference 1"
                  ],
                  [
                    "2017-01-02",
                    "Jane Doe",
                    200.0,
                    "Reference 2"
                  ]
                ],
                "columns": [
                  "date",
                  "name",
                  "amount",
                  "reference"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PaymentStatementImportId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/bank-statements-records": {
      "post": {
        "tags": [
          "Finance"
        ],
        "summary": "Create a Payment Statement Record",
        "description": "Work with Payment statements records collection.Creates a new Payment statement record.",
        "operationId": "CreateaPaymentStatementRecord",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentStatementRecordBase"
              },
              "example": {
                "bank_statements_process_id": 1,
                "datetime": "2021-07-15 09:50:00",
                "payment_date": "2021-07-15",
                "amount": "10.0000",
                "status": "new",
                "pairing_1": "1",
                "pairing_2": "202001000118",
                "pairing_3": "",
                "additional_1": "",
                "additional_2": "",
                "additional_3": "",
                "comment": "Comment",
                "customer_id": 1,
                "invoice_id": 1,
                "credit_note_id": null,
                "request_id": null,
                "payment_id": null,
                "transaction_id": null
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PaymentStatementRecordId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "List all Payment Statements Records",
        "description": "Work with Payment statements records collection.Returns a list of Payment statements records.",
        "operationId": "ListallPaymentStatementsRecords",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentStatementsRecordsResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "bank_statements_process_id": 1,
                      "datetime": "2021-07-15 09:50:00",
                      "payment_date": "2021-07-15",
                      "amount": "10.0000",
                      "status": "new",
                      "pairing_1": "1",
                      "pairing_2": "202001000118",
                      "pairing_3": "",
                      "additional_1": "",
                      "additional_2": "",
                      "additional_3": "",
                      "comment": "Comment",
                      "customer_id": 1,
                      "invoice_id": 1,
                      "credit_note_id": null,
                      "request_id": null,
                      "payment_id": null,
                      "transaction_id": null,
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "bank_statements_process_id": 1,
                    "datetime": "2021-07-15 09:50:00",
                    "payment_date": "2021-07-15",
                    "amount": "10.0000",
                    "status": "new",
                    "pairing_1": "1",
                    "pairing_2": "202001000118",
                    "pairing_3": "",
                    "additional_1": "",
                    "additional_2": "",
                    "additional_3": "",
                    "comment": "Comment",
                    "customer_id": 1,
                    "invoice_id": 1,
                    "credit_note_id": null,
                    "request_id": null,
                    "payment_id": null,
                    "transaction_id": null,
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/bank-statements-records/{id}": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Retrieve a Payment Statement Record",
        "description": "Work with Payment statement record.Retrieves the Payment statement record with the given ID.",
        "operationId": "RetrieveaPaymentStatementRecord",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The Id of the desired Payment statement record.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PaymentStatementsRecordsResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "bank_statements_process_id": 1,
                      "datetime": "2021-07-15 09:50:00",
                      "payment_date": "2021-07-15",
                      "amount": "10.0000",
                      "status": "new",
                      "pairing_1": "1",
                      "pairing_2": "202001000118",
                      "pairing_3": "",
                      "additional_1": "",
                      "additional_2": "",
                      "additional_3": "",
                      "comment": "Comment",
                      "customer_id": 1,
                      "invoice_id": 1,
                      "credit_note_id": null,
                      "request_id": null,
                      "payment_id": null,
                      "transaction_id": null,
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "bank_statements_process_id": 1,
                    "datetime": "2021-07-15 09:50:00",
                    "payment_date": "2021-07-15",
                    "amount": "10.0000",
                    "status": "new",
                    "pairing_1": "1",
                    "pairing_2": "202001000118",
                    "pairing_3": "",
                    "additional_1": "",
                    "additional_2": "",
                    "additional_3": "",
                    "comment": "Comment",
                    "customer_id": 1,
                    "invoice_id": 1,
                    "credit_note_id": null,
                    "request_id": null,
                    "payment_id": null,
                    "transaction_id": null,
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Finance"
        ],
        "summary": "Update a Payment Statement Record",
        "description": "Work with Payment statement record.Update the Payment statement record with the given ID.",
        "operationId": "UpdateaPaymentStatementRecord",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The Id of the desired Payment statement record.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "number",
                    "description": "Bank statement record ID."
                  },
                  "amount": {
                    "type": "number",
                    "description": "Updated amount."
                  }
                }
              },
              "example": {
                "id": 1,
                "amount": 150.0
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Finance"
        ],
        "summary": "Delete a Payment Statement Record",
        "description": "Work with Payment statement record.Delete the Payment statement record with the given ID.",
        "operationId": "DeleteaPaymentStatementRecord",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The Id of the desired Payment statement record.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/refill-cards": {
      "post": {
        "tags": [
          "Finance"
        ],
        "summary": "Create a Refill card",
        "description": "Create a new Refill card.",
        "operationId": "CreateaRefillcard",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "Refill card code."
                  },
                  "prefix": {
                    "type": "string",
                    "description": "Refill card prefix."
                  },
                  "price": {
                    "type": "number",
                    "description": "Refill card value."
                  },
                  "serie": {
                    "type": "string",
                    "description": "Refill card series."
                  },
                  "valid_till": {
                    "type": "string",
                    "description": "Card validity end date. Format: YYYY-MM-DD."
                  }
                }
              },
              "example": {
                "code": "ABC1234567",
                "prefix": "RC",
                "price": 10.0,
                "serie": "S1",
                "valid_till": "2026-12-31"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CardsRefillId"
                    },
                    {
                      "example": {
                        "id": 101
                      }
                    }
                  ]
                },
                "example": {
                  "id": 101
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/refill-cards/{id}": {
      "put": {
        "tags": [
          "Finance"
        ],
        "summary": "Update a Refill card",
        "description": "Update Refill card by ID.",
        "operationId": "UpdateaRefillcard",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The id of the desired Refill card.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 6
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "price": {
                    "type": "number",
                    "description": "Refill card value."
                  },
                  "valid_till": {
                    "type": "string",
                    "description": "Card validity end date. Format: YYYY-MM-DD."
                  }
                }
              },
              "example": {
                "price": 10.0,
                "valid_till": "2026-12-31"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Finance"
        ],
        "summary": "Delete a Refill Card",
        "description": "Delete the Refill card with the given ID.",
        "operationId": "DeleteaRefillCard",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The id of the desired Refill card.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 6
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/refill-cards/0": {
      "put": {
        "tags": [
          "Finance"
        ],
        "summary": "Redeem Refill card",
        "description": "Redeem Refill card by full code. Param `customer_id` is not required if you authorized as customer.",
        "operationId": "RedeemRefillcard",
        "parameters": [
          {
            "name": "redeem",
            "in": "query",
            "description": "",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean",
              "example": true
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RedeemRefillcardrequest"
              },
              "example": {
                "code": "201902-kek-Cr7KphD1qlOfBzYa",
                "customer_id": "1"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/refill-cards-series": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "List all refill cards series",
        "description": "Work with Refill cards series collection.Returns a list of Refill Cards Series.",
        "operationId": "Listallrefillcardsseries",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CardsRefillSeries"
                  },
                  "description": "",
                  "example": [
                    {
                      "serie": "201701",
                      "prefix": "SPL",
                      "amount": 10,
                      "created_at": "2017-12-12 10:51:31"
                    }
                  ]
                },
                "example": [
                  {
                    "serie": "201701",
                    "prefix": "SPL",
                    "amount": 10,
                    "created_at": "2017-12-12 10:51:31"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Finance"
        ],
        "summary": "Create a Refill Cards Serie",
        "description": "Work with Refill cards series collection.Creates a new Serie of refill cards.",
        "operationId": "CreateaRefillCardsSerie",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CardsRefillBase"
              },
              "example": {
                "prefix": "SPL",
                "quantity": 10,
                "price": 5,
                "valid_till": "2019-12-01"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CardsRefillSeriesId"
                    },
                    {
                      "example": {
                        "serie": "201702"
                      }
                    }
                  ]
                },
                "example": {
                  "serie": "201702"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/refill-cards-series/{id}": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Retrieve a Refill Serie Cards",
        "description": "Work with Refill cards series.Retrieves the Refill cards serie with the given ID (ID in this case is cards serie).",
        "operationId": "RetrieveaRefillSerieCards",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The SERIE of the desired Refill cards serie.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 201701
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CardsRefill"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "status": "Active",
                      "customer_id": 0,
                      "activated_at": "0000-00-00 00:00:00",
                      "full_code": "201701-SPL-rAnd19u8cf"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "status": "Active",
                    "customer_id": 0,
                    "activated_at": "0000-00-00 00:00:00",
                    "full_code": "201701-SPL-rAnd19u8cf"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Finance"
        ],
        "summary": "Update a Refill Cards Serie",
        "description": "Work with Refill cards series.Update the Refill cards from serie with the given ID (ID is cards serie).",
        "operationId": "UpdateaRefillCardsSerie",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The SERIE of the desired Refill cards serie.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 201701
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "prefix": {
                    "type": "string",
                    "description": "Series prefix."
                  },
                  "price": {
                    "type": "number",
                    "description": "Series default price."
                  }
                }
              },
              "example": {
                "prefix": "RC",
                "price": 10.0
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Finance"
        ],
        "summary": "Delete a Refill Cards Serie",
        "description": "Work with Refill cards series.Delete the Refill cards serie with the given ID (ID is cards serie).",
        "operationId": "DeleteaRefillCardsSerie",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The SERIE of the desired Refill cards serie.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 201701
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/portal/services/billing-info": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Get customer billing (blocking) info",
        "description": "Get customer billing infoGet customer billing (blocking) info.\n\nFor daily prepaid customers will be returned the following fields:\n\n* howManyDaysLeft\n\n* paymentPerPeriod\n\n* paymentPerDay\n\n* deposit\n\n* services_name\n\n* blocking_date\n\nFor monthly prepaid customers will be returned the following fields:\n\n* howManyMonthsLeft\n\n* howManyDaysLeft\n\n* blockInNextBillingCycle\n\n* paymentPerMonth\n\n* paymentPerDay\n\n* deposit\n\n* services_name\n\n* blocking_date\n\n* service\n\nFor recurring paid customers will be returned the following fields:\n\n* blockingEnabled\n\n* blockInNextBillingCycle\n\n* status\n\n* lowBalance\n\n* howManyDaysLeft\n\n* blocking_date\n\n* deposit\n\n* blockInNextBillingCycle\n\n* is_already_blocked\n\n* is_already_disabled",
        "operationId": "Getcustomerbilling(blocking)info1",
        "parameters": [
          {
            "name": "format_values",
            "in": "query",
            "description": "Return output values in system format.",
            "required": true,
            "schema": {
              "type": "boolean",
              "example": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/BillingInfoResponse"
                    },
                    {
                      "example": {
                        "howManyMonthsLeft": 1,
                        "howManyDaysLeft": 28,
                        "paymentPerMonth": 175.67,
                        "paymentPerDay": 6.2739,
                        "deposit": 235.09,
                        "blocking_date": "2019-03-25"
                      }
                    }
                  ]
                },
                "example": {
                  "howManyMonthsLeft": 1,
                  "howManyDaysLeft": 28,
                  "paymentPerMonth": 175.67,
                  "paymentPerDay": 6.2739,
                  "deposit": 235.09,
                  "blocking_date": "2019-03-25"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/invoice-relations": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Get all invoices relations",
        "description": "Get invoice relationsGet all invoices relations",
        "operationId": "Getallinvoicesrelations",
        "parameters": [
          {
            "name": "customer_id",
            "in": "query",
            "description": "Optional. Filter relations by customer ID.",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "invoice_id",
            "in": "query",
            "description": "Optional. Filter relations by invoice ID.",
            "required": false,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/InvoiceRelationResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "customer_id": 3,
                      "payer_id": 45,
                      "type": "payment",
                      "invoice_id": 100,
                      "transaction_id": 132,
                      "amount": 15.3
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "customer_id": 3,
                    "payer_id": 45,
                    "type": "payment",
                    "invoice_id": 100,
                    "transaction_id": 132,
                    "amount": 15.3
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/invoice-relations/{id}": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Get an invoice relation by relation ID",
        "description": "Get invoice relationsGet an invoice relation by relation ID",
        "operationId": "GetaninvoicerelationbyrelationID",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "ID of the desired invoice relation",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 5
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/InvoiceRelationResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "customer_id": 3,
                        "payer_id": 45,
                        "type": "payment",
                        "invoice_id": 100,
                        "transaction_id": 132,
                        "amount": 15.3
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "customer_id": 3,
                  "payer_id": 45,
                  "type": "payment",
                  "invoice_id": 100,
                  "transaction_id": 132,
                  "amount": 15.3
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/inventory/items": {
      "post": {
        "tags": [
          "Inventory"
        ],
        "summary": "Create a Inventory Item",
        "description": "Creates a new Inventory Item.\n\nOptional `hardware` block links the new item to a Monitoring device:\n* `hardware: { link_to_existing: <monitoring_id> }` \u2014 link to an existing device.\n* `hardware: { title, monitoring_group, ... }` \u2014 create a new Monitoring device atomically (requires the `monitoring` module).\n\nWhen `hardware` is supplied the response includes the resulting `monitoring_id`.",
        "operationId": "CreateaInventoryItem",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemCreate"
              },
              "example": {
                "product_id": 1,
                "stock_id": 1,
                "barcode": "barcode",
                "serial_number": "number",
                "notes": "note",
                "hardware": {
                  "link_to_existing": 1
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ItemId"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "monitoring_id": {
                          "type": "number",
                          "description": "ID of the linked Monitoring device. Present only when the request included a `hardware` block.",
                          "example": 1
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "monitoring_id": 1
                }
              }
            }
          },
          "409": {
            "description": "Hardware is already linked to another Inventory Item.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessagesResponse"
                },
                "example": {
                  "errors": [
                    "Hardware is already linked to another inventory item."
                  ]
                }
              }
            }
          },
          "422": {
            "description": "Monitoring module is disabled (`hardware` block requested device creation), or one of the supplied fields failed validation.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/ValidationErrorResponse"
                    },
                    {
                      "$ref": "#/components/schemas/ErrorMessagesResponse"
                    }
                  ]
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Inventory"
        ],
        "summary": "List all Inventory Items",
        "description": "Returns a list of your Inventory Items.",
        "operationId": "ListallInventoryItems",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ItemResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "notes": "note",
                      "barcode": "barcode",
                      "serial_number": "number",
                      "supplier_invoices_item_id": 1,
                      "status": "stock",
                      "mark": "new",
                      "customer_id": 1,
                      "admin_id": 1,
                      "service_id": 1,
                      "invoice_id": 1,
                      "cost_price": 1,
                      "transaction_id": 1,
                      "product_id": 1,
                      "stock_id": 1,
                      "filename_original": "test.png",
                      "filename": "6bcee1fd1062637b",
                      "file_link": "/admin/download--view?module=inventory_items&id=21&ver=6bcee1fd1062637",
                      "network_site_id": 1,
                      "linked_hardware": {
                        "id": 1,
                        "title": "AP-Tower-1",
                        "type": 1,
                        "ip": "192.168.1.100"
                      },
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "notes": "note",
                    "barcode": "barcode",
                    "serial_number": "number",
                    "supplier_invoices_item_id": 1,
                    "status": "stock",
                    "mark": "new",
                    "customer_id": 1,
                    "admin_id": 1,
                    "service_id": 1,
                    "invoice_id": 1,
                    "cost_price": 1,
                    "transaction_id": 1,
                    "product_id": 1,
                    "stock_id": 1,
                    "filename_original": "test.png",
                    "filename": "6bcee1fd1062637b",
                    "file_link": "/admin/download--view?module=inventory_items&id=21&ver=6bcee1fd1062637",
                    "network_site_id": 1,
                    "linked_hardware": {
                      "id": 1,
                      "title": "AP-Tower-1",
                      "type": 1,
                      "ip": "192.168.1.100"
                    },
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/inventory/items/{id}": {
      "get": {
        "tags": [
          "Inventory"
        ],
        "summary": "Retrieve a Inventory Item",
        "description": "Work with Inventory Items.Retrieves the Inventory Item with the given ID.",
        "operationId": "RetrieveaInventoryItem",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Inventory Item.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ItemResponse"
                    },
                    {
                      "example": {
                        "notes": "note",
                        "barcode": "barcode",
                        "serial_number": "number",
                        "supplier_invoices_item_id": 1,
                        "status": "stock",
                        "mark": "new",
                        "customer_id": 1,
                        "admin_id": 1,
                        "service_id": 1,
                        "invoice_id": 1,
                        "cost_price": 1,
                        "transaction_id": 1,
                        "product_id": 1,
                        "stock_id": 1,
                        "filename_original": "test.png",
                        "filename": "6bcee1fd1062637b",
                        "file_link": "/admin/download--view?module=inventory_items&id=21&ver=6bcee1fd1062637",
                        "network_site_id": 1,
                        "linked_hardware": {
                          "id": 1,
                          "title": "AP-Tower-1",
                          "type": 1,
                          "ip": "192.168.1.100"
                        },
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "notes": "note",
                  "barcode": "barcode",
                  "serial_number": "number",
                  "supplier_invoices_item_id": 1,
                  "status": "stock",
                  "mark": "new",
                  "customer_id": 1,
                  "admin_id": 1,
                  "service_id": 1,
                  "invoice_id": 1,
                  "cost_price": 1,
                  "transaction_id": 1,
                  "product_id": 1,
                  "stock_id": 1,
                  "filename_original": "test.png",
                  "filename": "6bcee1fd1062637b",
                  "file_link": "/admin/download--view?module=inventory_items&id=21&ver=6bcee1fd1062637",
                  "network_site_id": 1,
                  "linked_hardware": {
                    "id": 1,
                    "title": "AP-Tower-1",
                    "type": 1,
                    "ip": "192.168.1.100"
                  },
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Inventory"
        ],
        "summary": "Update a Inventory Item",
        "description": "Update the Inventory Item with the given ID. Pass `hardware_id` to link the item to a Monitoring device. Pass `unlink_device: true` to clear the current link \u2014 sending `hardware_id=0` alone leaves the existing link unchanged.",
        "operationId": "UpdateaInventoryItem",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Inventory Item.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemUpdate"
              },
              "example": {
                "notes": "note",
                "barcode": "barcode",
                "serial_number": "number",
                "supplier_invoices_item_id": 1,
                "status": "stock",
                "mark": "new",
                "customer_id": 1,
                "admin_id": 1,
                "service_id": 1,
                "invoice_id": 1,
                "cost_price": 1,
                "transaction_id": 1,
                "product_id": 1,
                "stock_id": 1,
                "filename_original": "test.png",
                "filename": "6bcee1fd1062637b",
                "file_link": "/admin/download--view?module=inventory_items&id=21&ver=6bcee1fd1062637",
                "network_site_id": 1,
                "delete_photo": true,
                "hardware_id": 1,
                "unlink_device": false
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          },
          "404": {
            "description": "Inventory Item or Monitoring device referenced by `hardware_id` does not exist.",
            "content": {}
          },
          "409": {
            "description": "Hardware referenced by `hardware_id` is already linked to another Inventory Item.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessagesResponse"
                },
                "example": {
                  "errors": [
                    "Hardware is already linked to another inventory item."
                  ]
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Inventory"
        ],
        "summary": "Delete a Inventory Item",
        "description": "Delete the Inventory Item with the given ID. Pass `delete_hardware=true` to also remove the Monitoring device linked to this item \u2014 the deletion is refused (HTTP 409) when the device is still referenced by an internet service via `services_internet.access_device`, or when the item is the last one referenced by its supplier invoice.",
        "operationId": "DeleteaInventoryItem",
        "parameters": [
          {
            "name": "delete_hardware",
            "in": "query",
            "description": "When `true`, also delete the Monitoring device linked to this Inventory Item.",
            "required": false,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "boolean",
              "example": true
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Inventory Item.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          },
          "409": {
            "description": "Cascade delete refused: the linked Monitoring device is still referenced by an internet service, or the Inventory Item is the last one on its supplier invoice.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorMessagesResponse"
                },
                "example": {
                  "errors": [
                    "Hardware has relations, so it can't be deleted."
                  ]
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/inventory/items/{id}--upload": {
      "post": {
        "tags": [
          "Inventory"
        ],
        "summary": "Upload file for Inventory Item",
        "description": "Update the Inventory Item with the given ID.Update the Inventory Item with new file upload.",
        "operationId": "UploadfileforInventoryItem",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Inventory Item.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/ItemUpdateUpload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/inventory/products": {
      "post": {
        "tags": [
          "Inventory"
        ],
        "summary": "Create a Inventory Product",
        "description": "Creates a new Inventory Product.",
        "operationId": "CreateaInventoryProduct",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductCreate"
              },
              "example": {
                "name": "Product #315955388",
                "vendor_id": 13,
                "category_id": 1,
                "rent_price": 50.5,
                "sold_price": 150.45,
                "file": "cURL file"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ProductId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Inventory"
        ],
        "summary": "List all Inventory Products",
        "description": "Returns a list of your Inventory Products.",
        "operationId": "ListallInventoryProducts",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProductResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "name": "Product #315955388",
                      "vendor_id": 13,
                      "category_id": 1,
                      "rent_price": 50.5,
                      "sold_price": 150.45,
                      "id": 1,
                      "filename_original": "test.png",
                      "filename": "6bcee1fd1062637b",
                      "file_link": "/admin/download--view?module=inventory_products&id=76&ver=02722995746c379e"
                    }
                  ]
                },
                "example": [
                  {
                    "name": "Product #315955388",
                    "vendor_id": 13,
                    "category_id": 1,
                    "rent_price": 50.5,
                    "sold_price": 150.45,
                    "id": 1,
                    "filename_original": "test.png",
                    "filename": "6bcee1fd1062637b",
                    "file_link": "/admin/download--view?module=inventory_products&id=76&ver=02722995746c379e"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/inventory/products/{id}": {
      "get": {
        "tags": [
          "Inventory"
        ],
        "summary": "Retrieve a Inventory Product",
        "description": "Work with Inventory Products.Retrieves the Inventory Product with the given ID.",
        "operationId": "RetrieveaInventoryProduct",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Inventory Product.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ProductResponse"
                    },
                    {
                      "example": {
                        "name": "Product #315955388",
                        "vendor_id": 13,
                        "category_id": 1,
                        "rent_price": 50.5,
                        "sold_price": 150.45,
                        "id": 1,
                        "filename_original": "test.png",
                        "filename": "6bcee1fd1062637b",
                        "file_link": "/admin/download--view?module=inventory_products&id=76&ver=02722995746c379e"
                      }
                    }
                  ]
                },
                "example": {
                  "name": "Product #315955388",
                  "vendor_id": 13,
                  "category_id": 1,
                  "rent_price": 50.5,
                  "sold_price": 150.45,
                  "id": 1,
                  "filename_original": "test.png",
                  "filename": "6bcee1fd1062637b",
                  "file_link": "/admin/download--view?module=inventory_products&id=76&ver=02722995746c379e"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Inventory"
        ],
        "summary": "Update a Inventory Product",
        "description": "Work with Inventory Products.Update the Inventory Product with the given ID.",
        "operationId": "UpdateaInventoryProduct",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Inventory Product.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProductUpdate"
              },
              "example": {
                "name": "Product #315955388",
                "vendor_id": 13,
                "category_id": 1,
                "rent_price": 50.5,
                "sold_price": 150.45,
                "delete_photo": true
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Inventory"
        ],
        "summary": "Delete a Inventory Product",
        "description": "Work with Inventory Products.Delete the Inventory Product with the given ID.",
        "operationId": "DeleteaInventoryProduct",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Inventory Product.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/inventory/products/{id}--upload": {
      "post": {
        "tags": [
          "Inventory"
        ],
        "summary": "Upload file for Inventory Product",
        "description": "Update the Inventory Product with the given ID.Update the Inventory Product with new file upload.",
        "operationId": "UploadfileforInventoryProduct",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Inventory Product.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/ProductUpdateUpload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/inventory/suppliers": {
      "post": {
        "tags": [
          "Inventory"
        ],
        "summary": "Create a Inventory Supplier",
        "description": "Creates a new Inventory Supplier.",
        "operationId": "CreateaInventorySupplier",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupplierBase"
              },
              "example": {
                "name": "Supplier #1812880724",
                "address": "test address 451683022",
                "contact_name": "test contact name #282951548",
                "email": "test1559922455@email.com",
                "phone": "test-phone1275935693",
                "tax_included": true
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SupplierId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Inventory"
        ],
        "summary": "List all Inventory Suppliers",
        "description": "Returns a list of your Inventory Suppliers.",
        "operationId": "ListallInventorySuppliers",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SupplierResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "name": "Supplier #1812880724",
                      "address": "test address 451683022",
                      "contact_name": "test contact name #282951548",
                      "email": "test1559922455@email.com",
                      "phone": "test-phone1275935693",
                      "tax_included": true,
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "name": "Supplier #1812880724",
                    "address": "test address 451683022",
                    "contact_name": "test contact name #282951548",
                    "email": "test1559922455@email.com",
                    "phone": "test-phone1275935693",
                    "tax_included": true,
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/inventory/suppliers/{id}": {
      "get": {
        "tags": [
          "Inventory"
        ],
        "summary": "Retrieve a Inventory Supplier",
        "description": "Work with Inventory Suppliers.Retrieves the Inventory Supplier with the given ID.",
        "operationId": "RetrieveaInventorySupplier",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Inventory Supplier.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SupplierResponse"
                    },
                    {
                      "example": {
                        "name": "Supplier #1812880724",
                        "address": "test address 451683022",
                        "contact_name": "test contact name #282951548",
                        "email": "test1559922455@email.com",
                        "phone": "test-phone1275935693",
                        "tax_included": true,
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "name": "Supplier #1812880724",
                  "address": "test address 451683022",
                  "contact_name": "test contact name #282951548",
                  "email": "test1559922455@email.com",
                  "phone": "test-phone1275935693",
                  "tax_included": true,
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Inventory"
        ],
        "summary": "Update a Inventory Supplier",
        "description": "Work with Inventory Suppliers.Update the Inventory Supplier with the given ID.",
        "operationId": "UpdateaInventorySupplier",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Inventory Supplier.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupplierBase"
              },
              "example": {
                "name": "Supplier #1812880724",
                "address": "test address 451683022",
                "contact_name": "test contact name #282951548",
                "email": "test1559922455@email.com",
                "phone": "test-phone1275935693",
                "tax_included": true
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Inventory"
        ],
        "summary": "Delete a Inventory Supplier",
        "description": "Work with Inventory Suppliers.Delete the Inventory Supplier with the given ID.",
        "operationId": "DeleteaInventorySupplier",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Inventory Supplier.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/inventory/vendors": {
      "post": {
        "tags": [
          "Inventory"
        ],
        "summary": "Create a Inventory Vendor",
        "description": "**Deprecated — moved.** Inventory vendors were merged into monitoring vendors. This endpoint has been removed; use [`/admin/config/monitoring-vendors`](#tag/config/POST/admin/config/monitoring-vendors) instead. Creates a new Inventory Vendor.",
        "operationId": "CreateaInventoryVendor",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VendorBase"
              },
              "example": {
                "name": "Vendor #1812880724"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/VendorId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": true
      },
      "get": {
        "tags": [
          "Inventory"
        ],
        "summary": "List all Inventory Vendors",
        "description": "**Deprecated — moved.** Inventory vendors were merged into monitoring vendors. This endpoint has been removed; use [`/admin/config/monitoring-vendors`](#tag/config/GET/admin/config/monitoring-vendors) instead. Returns a list of your Inventory Vendors.",
        "operationId": "ListallInventoryVendors",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VendorResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "name": "Vendor #1812880724",
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "name": "Vendor #1812880724",
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": true
      }
    },
    "/admin/inventory/vendors/{id}": {
      "get": {
        "tags": [
          "Inventory"
        ],
        "summary": "Retrieve a Inventory Vendor",
        "description": "**Deprecated — moved.** Inventory vendors were merged into monitoring vendors. This endpoint has been removed; use [`/admin/config/monitoring-vendors/{id}`](#tag/config/GET/admin/config/monitoring-vendors/{id}) instead. Work with Inventory Vendors.Retrieves the Inventory Vendor with the given ID.",
        "operationId": "RetrieveaInventoryVendor",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Inventory Vendor.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/VendorResponse"
                    },
                    {
                      "example": {
                        "name": "Vendor #1812880724",
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "name": "Vendor #1812880724",
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": true
      },
      "put": {
        "tags": [
          "Inventory"
        ],
        "summary": "Update a Inventory Vendor",
        "description": "**Deprecated — moved.** Inventory vendors were merged into monitoring vendors. This endpoint has been removed; use [`/admin/config/monitoring-vendors/{id}`](#tag/config/PUT/admin/config/monitoring-vendors/{id}) instead. Work with Inventory Vendors.Update the Inventory Vendor with the given ID.",
        "operationId": "UpdateaInventoryVendor",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Inventory Vendor.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VendorBase"
              },
              "example": {
                "name": "Vendor #1812880724"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": true
      },
      "delete": {
        "tags": [
          "Inventory"
        ],
        "summary": "Delete a Inventory Vendor",
        "description": "**Deprecated — moved.** Inventory vendors were merged into monitoring vendors. This endpoint has been removed; use [`/admin/config/monitoring-vendors/{id}`](#tag/config/DELETE/admin/config/monitoring-vendors/{id}) instead. Work with Inventory Vendors.Delete the Inventory Vendor with the given ID.",
        "operationId": "DeleteaInventoryVendor",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Inventory Vendor.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": true
      }
    },
    "/admin/inventory/supplier-invoices": {
      "post": {
        "tags": [
          "Inventory"
        ],
        "summary": "Create a Supplier Invoice",
        "description": "Creates a new Supplier Invoice.",
        "operationId": "CreateaSupplierInvoice",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupplierInvoiceCreate"
              },
              "example": {
                "supplier_id": 1,
                "original_invoice_number": "invoice number",
                "date": "2019-05-02",
                "items": [
                  {
                    "product_id": 2,
                    "quantity": 1,
                    "tax": 10,
                    "price": 100.5
                  }
                ],
                "file": "cURL file"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SupplierInvoiceId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Inventory"
        ],
        "summary": "List all Supplier Invoice",
        "description": "Returns a list of your Supplier Invoice.",
        "operationId": "ListallSupplierInvoice",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SupplierInvoiceResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "supplier_id": 1,
                      "original_invoice_number": "invoice number",
                      "date": "2019-05-02",
                      "items": [
                        {
                          "id": 1,
                          "product_id": 2,
                          "tax": 10,
                          "price": 100.5
                        }
                      ],
                      "id": 1,
                      "filename_original": "test.png",
                      "filename": "6bcee1fd1062637b",
                      "file_link": "/admin/download--view?module=inventory_supplier_invoices&id=15"
                    }
                  ]
                },
                "example": [
                  {
                    "supplier_id": 1,
                    "original_invoice_number": "invoice number",
                    "date": "2019-05-02",
                    "items": [
                      {
                        "id": 1,
                        "product_id": 2,
                        "tax": 10,
                        "price": 100.5
                      }
                    ],
                    "id": 1,
                    "filename_original": "test.png",
                    "filename": "6bcee1fd1062637b",
                    "file_link": "/admin/download--view?module=inventory_supplier_invoices&id=15"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/inventory/supplier-invoices/{id}": {
      "get": {
        "tags": [
          "Inventory"
        ],
        "summary": "Retrieve a Supplier Invoice",
        "description": "Work with Supplier Invoice.Retrieves the Supplier Invoice with the given ID.",
        "operationId": "RetrieveaSupplierInvoice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Supplier Invoice.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SupplierInvoiceResponse"
                    },
                    {
                      "example": {
                        "supplier_id": 1,
                        "original_invoice_number": "invoice number",
                        "date": "2019-05-02",
                        "items": [
                          {
                            "id": 1,
                            "product_id": 2,
                            "tax": 10,
                            "price": 100.5
                          }
                        ],
                        "id": 1,
                        "filename_original": "test.png",
                        "filename": "6bcee1fd1062637b",
                        "file_link": "/admin/download--view?module=inventory_supplier_invoices&id=15"
                      }
                    }
                  ]
                },
                "example": {
                  "supplier_id": 1,
                  "original_invoice_number": "invoice number",
                  "date": "2019-05-02",
                  "items": [
                    {
                      "id": 1,
                      "product_id": 2,
                      "tax": 10,
                      "price": 100.5
                    }
                  ],
                  "id": 1,
                  "filename_original": "test.png",
                  "filename": "6bcee1fd1062637b",
                  "file_link": "/admin/download--view?module=inventory_supplier_invoices&id=15"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Inventory"
        ],
        "summary": "Update a Supplier Invoice",
        "description": "Work with Supplier Invoice.Update the Supplier Invoice with the given ID.",
        "operationId": "UpdateaSupplierInvoice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Supplier Invoice.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupplierInvoiceBase1"
              },
              "example": {
                "supplier_id": 1,
                "original_invoice_number": "invoice number",
                "date": "2019-05-02",
                "items": [
                  {
                    "id": 1,
                    "product_id": 2,
                    "tax": 10,
                    "price": 100.5
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Inventory"
        ],
        "summary": "Delete a Supplier Invoice",
        "description": "Work with Supplier Invoice.Delete the Supplier Invoice with the given ID.",
        "operationId": "DeleteaSupplierInvoice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Supplier Invoice.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/inventory/supplier-invoices/{id}--upload": {
      "post": {
        "tags": [
          "Inventory"
        ],
        "summary": "Upload file for Supplier Invoice",
        "description": "Update the Supplier Invoice with the given ID.Update the Supplier Invoice with new file upload.",
        "operationId": "UploadfileforSupplierInvoice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Supplier Invoice.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/SupplierInvoiceUpdateUpload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/inventory/items-rent": {
      "post": {
        "tags": [
          "Inventory"
        ],
        "summary": "Rent item",
        "description": "Rent item.Rent inventory item.",
        "operationId": "Rentitem",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemRentObject"
              },
              "example": {
                "id": 1,
                "price": 15,
                "tariff_id": 1,
                "service_data": {
                  "customer_id": 1,
                  "tariff_id": 1,
                  "status": "active",
                  "description": "Some Description",
                  "quantity": 1,
                  "unit": 0,
                  "unit_price": 0,
                  "start_date": "2016-01-01",
                  "end_date": "0000-00-00",
                  "discount": "",
                  "discount_type": "percent",
                  "discount_value": 0,
                  "discount_start_date": "",
                  "discount_end_date": "",
                  "discount_text": "",
                  "status_new": "stopped",
                  "bundle_service_id": 0,
                  "parent_id": 1,
                  "on_approve": "0",
                  "period": "-1"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/inventory/items-sell": {
      "post": {
        "tags": [
          "Inventory"
        ],
        "summary": "Sell item",
        "description": "Sell item.Sell inventory item.",
        "operationId": "Sellitem",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ItemSellObject"
              },
              "example": {
                "customer_id": 1,
                "date_created": "2016-01-01",
                "date_updated": "",
                "date_till": "",
                "date_payment": "",
                "status": "not_paid",
                "number": "201601010003",
                "payment_id": 0,
                "payd_from_deposit": 0,
                "create_invoice": 1,
                "items": [
                  {
                    "item_id": 1,
                    "description": "Desc of item",
                    "quantity": 1,
                    "unit": 0,
                    "price": 123,
                    "tax_percent": 0,
                    "period_from": "2016-01-01",
                    "period_to": "2016-01-02",
                    "categoryIdForTransaction": 1
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ItemSellResponse"
                    },
                    {
                      "example": {
                        "invoice": {
                          "customer_id": 1,
                          "date_created": "2016-01-01",
                          "date_updated": "",
                          "date_till": "",
                          "use_transactions": "1",
                          "note": "",
                          "memo": "",
                          "date_payment": "",
                          "status": "not_paid",
                          "number": "201601010003",
                          "payment_id": 0,
                          "type": "one_time",
                          "payd_from_deposit": 0,
                          "is_sent": "0",
                          "items": [
                            {
                              "description": "Desc of item",
                              "quantity": 1,
                              "unit": 0,
                              "price": 123,
                              "tax": 0,
                              "period_from": "2016-01-01",
                              "period_to": "2016-01-02",
                              "categoryIdForTransaction": 1,
                              "sub_account_id": 0
                            }
                          ],
                          "id": 1,
                          "real_create_datetime": "2024-05-27 15:02:57",
                          "total": 10,
                          "due": 0,
                          "added_by": "admin",
                          "added_by_id": 1
                        },
                        "transactions": [
                          {
                            "type": "debit",
                            "customer_id": 1,
                            "quantity": 1,
                            "unit": "",
                            "price": 158.25,
                            "tax_percent": 19,
                            "remind_amount": 0,
                            "date": "2016-01-01",
                            "category": "1",
                            "description": "Description",
                            "period_from": "",
                            "period_to": "",
                            "service_id": null,
                            "payment_id": null,
                            "credit_note_id": 0,
                            "invoice_id": null,
                            "invoiced_by_id": null,
                            "comment": "",
                            "to_invoice": false,
                            "service_type": "internet",
                            "source": "manual",
                            "tax_id": 1,
                            "sub_account_id": 0,
                            "id": 1,
                            "total": 10
                          }
                        ]
                      }
                    }
                  ]
                },
                "example": {
                  "invoice": {
                    "customer_id": 1,
                    "date_created": "2016-01-01",
                    "date_updated": "",
                    "date_till": "",
                    "use_transactions": "1",
                    "note": "",
                    "memo": "",
                    "date_payment": "",
                    "status": "not_paid",
                    "number": "201601010003",
                    "payment_id": 0,
                    "type": "one_time",
                    "payd_from_deposit": 0,
                    "is_sent": "0",
                    "items": [
                      {
                        "description": "Desc of item",
                        "quantity": 1,
                        "unit": 0,
                        "price": 123,
                        "tax": 0,
                        "period_from": "2016-01-01",
                        "period_to": "2016-01-02",
                        "categoryIdForTransaction": 1,
                        "sub_account_id": 0
                      }
                    ],
                    "id": 1,
                    "real_create_datetime": "2024-05-27 15:02:57",
                    "total": 10,
                    "due": 0,
                    "added_by": "admin",
                    "added_by_id": 1
                  },
                  "transactions": [
                    {
                      "type": "debit",
                      "customer_id": 1,
                      "quantity": 1,
                      "unit": "",
                      "price": 158.25,
                      "tax_percent": 19,
                      "remind_amount": 0,
                      "date": "2016-01-01",
                      "category": "1",
                      "description": "Description",
                      "period_from": "",
                      "period_to": "",
                      "service_id": null,
                      "payment_id": null,
                      "credit_note_id": 0,
                      "invoice_id": null,
                      "invoiced_by_id": null,
                      "comment": "",
                      "to_invoice": false,
                      "service_type": "internet",
                      "source": "manual",
                      "tax_id": 1,
                      "sub_account_id": 0,
                      "id": 1,
                      "total": 10
                    }
                  ]
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/acs-devices": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "List all ACS Devices",
        "description": "Returns a list of your ACS devices.",
        "operationId": "ListallACSDevices",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ACSDeviceResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "customer_id": 1,
                      "internet_service_id": 10,
                      "voice_service_id": 11,
                      "recurring_service_id": 12,
                      "provisioned": "no",
                      "type": 1,
                      "group": 3,
                      "device_id": "E48D8C-CHR-000000",
                      "prefix": "device-prefix",
                      "product_class": "WR1300",
                      "manufacturer": "TP-Link",
                      "oui": "F4A454",
                      "serial_number": "000000",
                      "software_version": "1.14.18-20220627-154554",
                      "hardware_version": "1.56.123",
                      "uptime": 2,
                      "last_inform": "2023-07-12 13:13:43",
                      "registered": "2023-07-12 13:13:32",
                      "auto_provisioning": "0",
                      "model_name": "WR1300",
                      "last_updated": "2023-07-12 13:13:43",
                      "status": "null",
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "customer_id": 1,
                    "internet_service_id": 10,
                    "voice_service_id": 11,
                    "recurring_service_id": 12,
                    "provisioned": "no",
                    "type": 1,
                    "group": 3,
                    "device_id": "E48D8C-CHR-000000",
                    "prefix": "device-prefix",
                    "product_class": "WR1300",
                    "manufacturer": "TP-Link",
                    "oui": "F4A454",
                    "serial_number": "000000",
                    "software_version": "1.14.18-20220627-154554",
                    "hardware_version": "1.56.123",
                    "uptime": 2,
                    "last_inform": "2023-07-12 13:13:43",
                    "registered": "2023-07-12 13:13:32",
                    "auto_provisioning": "0",
                    "model_name": "WR1300",
                    "last_updated": "2023-07-12 13:13:43",
                    "status": "null",
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/acs-devices/{id}": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "Retrieve an ACS Device",
        "description": "Work with ACS Devices.Retrieves the ACS Device with the given ID.",
        "operationId": "RetrieveanACSDevice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired ACS Device.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ACSDeviceResponse"
                    },
                    {
                      "example": {
                        "customer_id": 1,
                        "internet_service_id": 10,
                        "voice_service_id": 11,
                        "recurring_service_id": 12,
                        "provisioned": "no",
                        "type": 1,
                        "group": 3,
                        "device_id": "E48D8C-CHR-000000",
                        "prefix": "device-prefix",
                        "product_class": "WR1300",
                        "manufacturer": "TP-Link",
                        "oui": "F4A454",
                        "serial_number": "000000",
                        "software_version": "1.14.18-20220627-154554",
                        "hardware_version": "1.56.123",
                        "uptime": 2,
                        "last_inform": "2023-07-12 13:13:43",
                        "registered": "2023-07-12 13:13:32",
                        "auto_provisioning": "0",
                        "model_name": "WR1300",
                        "last_updated": "2023-07-12 13:13:43",
                        "status": "null",
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "customer_id": 1,
                  "internet_service_id": 10,
                  "voice_service_id": 11,
                  "recurring_service_id": 12,
                  "provisioned": "no",
                  "type": 1,
                  "group": 3,
                  "device_id": "E48D8C-CHR-000000",
                  "prefix": "device-prefix",
                  "product_class": "WR1300",
                  "manufacturer": "TP-Link",
                  "oui": "F4A454",
                  "serial_number": "000000",
                  "software_version": "1.14.18-20220627-154554",
                  "hardware_version": "1.56.123",
                  "uptime": 2,
                  "last_inform": "2023-07-12 13:13:43",
                  "registered": "2023-07-12 13:13:32",
                  "auto_provisioning": "0",
                  "model_name": "WR1300",
                  "last_updated": "2023-07-12 13:13:43",
                  "status": "null",
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Networking"
        ],
        "summary": "Update an ACS Device",
        "description": "Work with ACS Devices.Update the ACS Device with the given ID.",
        "operationId": "UpdateanACSDevice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired ACS Device.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ACSDeviceUpdate"
              },
              "example": {
                "customer_id": 1,
                "internet_service_id": 10,
                "voice_service_id": 11,
                "recurring_service_id": 12,
                "provisioned": "no",
                "type": 1,
                "group": 3
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Networking"
        ],
        "summary": "Delete an ACS Device",
        "description": "Work with ACS Devices.Delete the ACS Device with the given ID.",
        "operationId": "DeleteanACSDevice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired ACS Device.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/acs-devices/{id}--provisioning": {
      "put": {
        "tags": [
          "Networking"
        ],
        "summary": "Run provisioning",
        "description": "Work with ACS Devices.Run provisioning on ACS Device.",
        "operationId": "Runprovisioning",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired ACS Device.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/acs-devices/{id}--force-provisioning": {
      "put": {
        "tags": [
          "Networking"
        ],
        "summary": "Force provisioning",
        "description": "Work with ACS Devices. Run provisioning on ACS Device and triggering a Connection Request to the CPE to force provisioning.",
        "operationId": "ForceProvisioningACSDevice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired ACS Device.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Provisioning has been queued successfully. If the body contains a `message` field, it means the connection request to the device failed, but provisioning flags were saved \u2014 the device will be provisioned on the next inform.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "example": "Provisioning queued, but the immediate connection request failed. The device will be provisioned on the next inform."
                    }
                  }
                }
              }
            }
          },
          "406": {
            "description": "Connection request failed \u2014 provisioning was not queued.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "example": [
                        "Connection request failed"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/acs-devices/{id}--connection-request": {
      "put": {
        "tags": [
          "Networking"
        ],
        "summary": "Connection request",
        "description": "Work with ACS Devices. Triggering a Connection Request to the CPE to force a TR-069 session with GenieACS",
        "operationId": "ConnectionRequestACSDevice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired ACS Device.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Device responded to connection request.",
            "headers": {},
            "content": {}
          },
          "406": {
            "description": "Device is unreachable \u2014 connection request failed.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "example": [
                        "Connection request failed"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/acs-devices/{id}--reboot": {
      "put": {
        "tags": [
          "Networking"
        ],
        "summary": "Reboot ACS device",
        "description": "Work with ACS Devices.Send a reboot command to the ACS device via TR-069.\n\n#### Possible errors\n\n* `NOT_FOUND` - Device not found.\n\n* `UNPROCESSABLE_ENTITY` - ACS is not enabled globally.",
        "operationId": "RebootACSDevice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired ACS Device.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/acs-devices/{id}--factory-reset": {
      "put": {
        "tags": [
          "Networking"
        ],
        "summary": "Factory reset ACS device",
        "description": "Work with ACS Devices.Send a factory reset command to the ACS device via TR-069. Resets the device to factory defaults and marks it as not provisioned.\n\n#### Possible errors\n\n* `NOT_FOUND` - Device not found.\n\n* `UNPROCESSABLE_ENTITY` - ACS is not enabled globally.",
        "operationId": "FactoryResetACSDevice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired ACS Device.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/acs-devices/{id}--send-file": {
      "put": {
        "tags": [
          "Networking"
        ],
        "summary": "Send file to ACS device",
        "description": "Work with ACS Devices.Push a previously uploaded file (firmware or config) to the ACS device via TR-069 Download RPC.\n\n#### Possible errors\n\n* `NOT_FOUND` - Device not found.\n\n* `BAD_REQUEST` - `file_id` is missing.\n\n* `UNPROCESSABLE_ENTITY` - ACS is not enabled globally.",
        "operationId": "SendFileToACSDevice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired ACS Device.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false,
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "file_id"
                ],
                "properties": {
                  "file_id": {
                    "type": "string",
                    "description": "MongoDB ObjectId of the ACS file to send (from `POST /admin/networking/acs-files`).",
                    "example": "64f1a2b3c4d5e6f7a8b9c0d1"
                  }
                }
              },
              "example": {
                "file_id": "64f1a2b3c4d5e6f7a8b9c0d1"
              }
            }
          },
          "required": true
        }
      }
    },
    "/admin/networking/acs-files": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "List ACS files",
        "description": "Returns a list of ACS device firmware/config files stored in MongoDB. Optionally filter by `oui` and/or `product_class` via the `main_attributes` query parameter.",
        "operationId": "ListACSFiles",
        "parameters": [
          {
            "name": "main_attributes[oui]",
            "in": "query",
            "description": "Filter by OUI (Organizationally Unique Identifier), e.g. `000C42`. Optional.",
            "required": false,
            "schema": {
              "type": "string",
              "example": "000C42"
            }
          },
          {
            "name": "main_attributes[product_class]",
            "in": "query",
            "description": "Filter by device product class, e.g. `CHR`. Optional.",
            "required": false,
            "schema": {
              "type": "string",
              "example": "CHR"
            }
          },
          {
            "name": "main_attributes[file_type]",
            "in": "query",
            "description": "Filter by file type. Standard values: `1 Firmware Upgrade Image`, `2 Web Content`, `3 Vendor Configuration File`, `4 Tone File`, `5 Ringer File`, `X MIKROTIK Factory Configuration File`. Custom types from server config are also valid. Optional.",
            "required": false,
            "schema": {
              "type": "string",
              "example": "1 Firmware Upgrade Image"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ACSFileResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": "64f1a2b3c4d5e6f7a8b9c0d1",
                      "oui": "E48D8C",
                      "product_class": "CHR",
                      "file_type": "1 Firmware Upgrade Image",
                      "version": "7.10.2",
                      "length": 10485760
                    }
                  ]
                },
                "example": [
                  {
                    "id": "64f1a2b3c4d5e6f7a8b9c0d1",
                    "oui": "E48D8C",
                    "product_class": "CHR",
                    "file_type": "1 Firmware Upgrade Image",
                    "version": "7.10.2",
                    "length": 10485760
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Networking"
        ],
        "summary": "Upload ACS file",
        "description": "Upload a firmware or config file for ACS device provisioning. The file is stored in MongoDB and associated with a specific device OUI and product class.\n\nRequest must use `Content-Type: multipart/form-data`.\n\n#### Possible errors\n\n* `BAD_REQUEST` - `oui`, `product_class`, or `file_type` is missing, or no file was uploaded.\n\n* `UNPROCESSABLE_ENTITY` - ACS is not enabled globally.",
        "operationId": "UploadACSFile",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "required": [
                  "oui",
                  "product_class",
                  "file_type",
                  "file"
                ],
                "properties": {
                  "oui": {
                    "type": "string",
                    "description": "Device OUI (Organizationally Unique Identifier).",
                    "example": "E48D8C"
                  },
                  "product_class": {
                    "type": "string",
                    "description": "Device product class.",
                    "example": "CHR"
                  },
                  "file": {
                    "type": "string",
                    "format": "binary",
                    "description": "The file to upload."
                  },
                  "filename": {
                    "type": "string",
                    "description": "Override filename. If not provided, the original uploaded filename is used.",
                    "example": "routeros-7.10.2.npk"
                  },
                  "file_type": {
                    "type": "string",
                    "description": "TR-069 file type. Standard values are listed in the enum. Custom types configured in `config/acs_file_types.php` on the server are also accepted.",
                    "enum": [
                      "1 Firmware Upgrade Image",
                      "2 Web Content",
                      "3 Vendor Configuration File",
                      "4 Tone File",
                      "5 Ringer File",
                      "X MIKROTIK Factory Configuration File"
                    ],
                    "example": "1 Firmware Upgrade Image"
                  },
                  "version": {
                    "type": "string",
                    "description": "File/firmware version string.",
                    "example": "7.10.2"
                  },
                  "confirm": {
                    "type": "string",
                    "description": "Optional confirmation flag.",
                    "example": "1"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "MongoDB ObjectId of the created file.",
                      "example": "64f1a2b3c4d5e6f7a8b9c0d1"
                    }
                  },
                  "example": {
                    "id": "64f1a2b3c4d5e6f7a8b9c0d1"
                  }
                },
                "example": {
                  "id": "64f1a2b3c4d5e6f7a8b9c0d1"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/routers": {
      "post": {
        "tags": [
          "Networking"
        ],
        "summary": "Create a Router",
        "description": "Creates a new Router.",
        "operationId": "CreateaRouter",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RouterBase"
              },
              "example": {
                "title": "Alpha",
                "model": "Mega router",
                "partners_ids": [
                  "1"
                ],
                "location_id": 1,
                "address": "Big street 11-321",
                "ip": "192.168.1.100",
                "gps": "45.83,126.62;45.85,126.63;45.85,126.60;45.84,126.60;45.83950371555224,126.62528514862058;",
                "gps_point": "45.83,126.62",
                "authorization_method": "none",
                "accounting_method": "none",
                "nas_type": "1",
                "nas_ip": "192.168.1.100",
                "radius_secret": "",
                "status": "null",
                "pool_ids": [
                  "1"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/RouterId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "List all Routers",
        "description": "Returns a list of your Routers.",
        "operationId": "ListallRouters",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RouterResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "title": "Alpha",
                      "model": "Mega router",
                      "partners_ids": [
                        "1"
                      ],
                      "location_id": 1,
                      "address": "Big street 11-321",
                      "ip": "192.168.1.100",
                      "gps": "45.83,126.62;45.85,126.63;45.85,126.60;45.84,126.60;45.83950371555224,126.62528514862058;",
                      "gps_point": "45.83,126.62",
                      "authorization_method": "none",
                      "accounting_method": "none",
                      "nas_type": "1",
                      "nas_ip": "192.168.1.100",
                      "radius_secret": "",
                      "status": "null",
                      "pool_ids": [
                        "1"
                      ],
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "title": "Alpha",
                    "model": "Mega router",
                    "partners_ids": [
                      "1"
                    ],
                    "location_id": 1,
                    "address": "Big street 11-321",
                    "ip": "192.168.1.100",
                    "gps": "45.83,126.62;45.85,126.63;45.85,126.60;45.84,126.60;45.83950371555224,126.62528514862058;",
                    "gps_point": "45.83,126.62",
                    "authorization_method": "none",
                    "accounting_method": "none",
                    "nas_type": "1",
                    "nas_ip": "192.168.1.100",
                    "radius_secret": "",
                    "status": "null",
                    "pool_ids": [
                      "1"
                    ],
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/routers/{id}": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "Retrieve a Router",
        "description": "Work with Routers.Retrieves the Router with the given ID.",
        "operationId": "RetrieveaRouter",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Router.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/RouterResponse"
                    },
                    {
                      "example": {
                        "title": "Alpha",
                        "model": "Mega router",
                        "partners_ids": [
                          "1"
                        ],
                        "location_id": 1,
                        "address": "Big street 11-321",
                        "ip": "192.168.1.100",
                        "gps": "45.83,126.62;45.85,126.63;45.85,126.60;45.84,126.60;45.83950371555224,126.62528514862058;",
                        "gps_point": "45.83,126.62",
                        "authorization_method": "none",
                        "accounting_method": "none",
                        "nas_type": "1",
                        "nas_ip": "192.168.1.100",
                        "radius_secret": "",
                        "status": "null",
                        "pool_ids": [
                          "1"
                        ],
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "title": "Alpha",
                  "model": "Mega router",
                  "partners_ids": [
                    "1"
                  ],
                  "location_id": 1,
                  "address": "Big street 11-321",
                  "ip": "192.168.1.100",
                  "gps": "45.83,126.62;45.85,126.63;45.85,126.60;45.84,126.60;45.83950371555224,126.62528514862058;",
                  "gps_point": "45.83,126.62",
                  "authorization_method": "none",
                  "accounting_method": "none",
                  "nas_type": "1",
                  "nas_ip": "192.168.1.100",
                  "radius_secret": "",
                  "status": "null",
                  "pool_ids": [
                    "1"
                  ],
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Networking"
        ],
        "summary": "Update a Router",
        "description": "Work with Routers.Update the Router with the given ID.",
        "operationId": "UpdateaRouter",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Router.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  }
                },
                "example": {
                  "title": "Omega"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Networking"
        ],
        "summary": "Delete a Router",
        "description": "Work with Routers.Delete the Router with the given ID.",
        "operationId": "DeleteaRouter",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Router.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/routers-sectors": {
      "post": {
        "tags": [
          "Networking"
        ],
        "summary": "Create a Router Sector",
        "description": "Creates a new Router Sector.",
        "operationId": "CreateaRouterSector",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoutersSectorsBase"
              },
              "example": {
                "router_id": 1,
                "title": "Limit 2/1",
                "speed_down": 2048,
                "speed_up": 1024,
                "limit_at": 95
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/RouterSectorId"
                    },
                    {
                      "example": {
                        "id": 2
                      }
                    }
                  ]
                },
                "example": {
                  "id": 2
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "List all Routers Sectors",
        "description": "Returns a list of your Routers Sectors.",
        "operationId": "ListallRoutersSectors",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RouterSectorResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "router_id": 1,
                      "title": "Limit 2/1",
                      "speed_down": 2048,
                      "speed_up": 1024,
                      "limit_at": 95,
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "router_id": 1,
                    "title": "Limit 2/1",
                    "speed_down": 2048,
                    "speed_up": 1024,
                    "limit_at": 95,
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/routers-sectors/{id}": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "Retrieve a Router Sector",
        "description": "Work with Routers Sectors.Retrieves the Router Sector with the given ID.",
        "operationId": "RetrieveaRouterSector",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Router Sector.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/RouterSectorResponse"
                    },
                    {
                      "example": {
                        "router_id": 1,
                        "title": "Limit 2/1",
                        "speed_down": 2048,
                        "speed_up": 1024,
                        "limit_at": 95,
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "router_id": 1,
                  "title": "Limit 2/1",
                  "speed_down": 2048,
                  "speed_up": 1024,
                  "limit_at": 95,
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Networking"
        ],
        "summary": "Update a Router Sector",
        "description": "Work with Routers Sectors.Update the Router Sector with the given ID.",
        "operationId": "UpdateaRouterSector",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Router Sector.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateaRouterSectorrequest"
              },
              "example": {
                "title": "Limit 4/1",
                "speed_down": 4096,
                "priority": 2
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Networking"
        ],
        "summary": "Delete a Router Sector",
        "description": "Work with Routers Sectors.Delete the Router Sector with the given ID.",
        "operationId": "DeleteaRouterSector",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Router Sector.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/mikrotik-sectors/{router_id}": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "List Mikrotik Sectors",
        "description": "Work with Mikrotik Sectors.Returns a list of your Mikrotik Sectors by Router ID.",
        "operationId": "ListMikrotikSectors",
        "parameters": [
          {
            "name": "router_id",
            "in": "path",
            "description": "The ID of the desired Mikrotik Router. **Beware: this is Router ID!!!**",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RouterSectorResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "router_id": 1,
                      "title": "Limit 2/1",
                      "speed_down": 2048,
                      "speed_up": 1024,
                      "limit_at": 95,
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "router_id": 1,
                    "title": "Limit 2/1",
                    "speed_down": 2048,
                    "speed_up": 1024,
                    "limit_at": 95,
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/voice-devices": {
      "post": {
        "tags": [
          "Networking"
        ],
        "summary": "Create a Voice device",
        "description": "Creates a new Voice device.",
        "operationId": "CreateaVoicedevice",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VoicedeviceBase"
              },
              "example": {
                "title": "Alpha",
                "model": "Mega Voice device",
                "partners_ids": [
                  "1"
                ],
                "location_id": 1,
                "address": "Big street 11-321",
                "ip": "192.168.1.100"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/VoicedeviceId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "List all Voice devices",
        "description": "Returns a list of your Voice devices.",
        "operationId": "ListallVoicedevices",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VoicedeviceResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "title": "Alpha",
                      "model": "Mega Voice device",
                      "partners_ids": [
                        "1"
                      ],
                      "location_id": 1,
                      "address": "Big street 11-321",
                      "ip": "192.168.1.100",
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "title": "Alpha",
                    "model": "Mega Voice device",
                    "partners_ids": [
                      "1"
                    ],
                    "location_id": 1,
                    "address": "Big street 11-321",
                    "ip": "192.168.1.100",
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/voice-devices/{id}": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "Retrieve a Voice device",
        "description": "Work with Voice devices.Retrieves the Voice device with the given ID.",
        "operationId": "RetrieveaVoicedevice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Voice device.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/VoicedeviceResponse"
                    },
                    {
                      "example": {
                        "title": "Alpha",
                        "model": "Mega Voice device",
                        "partners_ids": [
                          "1"
                        ],
                        "location_id": 1,
                        "address": "Big street 11-321",
                        "ip": "192.168.1.100",
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "title": "Alpha",
                  "model": "Mega Voice device",
                  "partners_ids": [
                    "1"
                  ],
                  "location_id": 1,
                  "address": "Big street 11-321",
                  "ip": "192.168.1.100",
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Networking"
        ],
        "summary": "Update a Voice device",
        "description": "Work with Voice devices.Update the Voice device with the given ID.",
        "operationId": "UpdateaVoicedevice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Voice device.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  }
                },
                "example": {
                  "title": "Omega"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Networking"
        ],
        "summary": "Delete a Voice device",
        "description": "Work with Voice devices.Delete the Voice device with the given ID.",
        "operationId": "DeleteaVoicedevice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Voice device.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/monitoring-snmp-oid": {
      "post": {
        "tags": [
          "Networking"
        ],
        "summary": "Create a SNMP OID monitoring",
        "description": "Creates a new SNMP OID monitoring.",
        "operationId": "CreateaSNMPOIDmonitoring",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SNMPOIDmonitoringBase"
              },
              "example": {
                "monitoring_id": 1,
                "title": "Interface",
                "oid": "1.3.6.1.2.1.31.1.1.1.1.1",
                "active": "1",
                "check_every": "1"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SNMPOIDmonitoringId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "List all SNMP OID monitoring",
        "description": "Returns a list of your SNMP OID monitoring.",
        "operationId": "ListallSNMPOIDmonitoring",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SNMPOIDmonitoringResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "monitoring_id": 1,
                      "title": "Interface",
                      "oid": "1.3.6.1.2.1.31.1.1.1.1.1",
                      "active": "1",
                      "check_every": "1",
                      "result_0": "ether1",
                      "result_1": "``",
                      "result_2": "``",
                      "result_3": "``",
                      "result_4": "``",
                      "result_5": "``",
                      "last_check": 1752129469,
                      "last_status": "null",
                      "rrd_dst": "NONE",
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "monitoring_id": 1,
                    "title": "Interface",
                    "oid": "1.3.6.1.2.1.31.1.1.1.1.1",
                    "active": "1",
                    "check_every": "1",
                    "result_0": "ether1",
                    "result_1": "``",
                    "result_2": "``",
                    "result_3": "``",
                    "result_4": "``",
                    "result_5": "``",
                    "last_check": 1752129469,
                    "last_status": "null",
                    "rrd_dst": "NONE",
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/monitoring-snmp-oid/{id}": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "Retrieve a SNMP OID monitoring",
        "description": "Retrieves the SNMP OID monitoring with the given ID.",
        "operationId": "RetrieveaSNMPOIDmonitoring",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "SNMP OID monitoring ID",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SNMPOIDmonitoringResponse"
                    },
                    {
                      "example": {
                        "monitoring_id": 1,
                        "title": "Interface",
                        "oid": "1.3.6.1.2.1.31.1.1.1.1.1",
                        "active": "1",
                        "check_every": "1",
                        "result_0": "ether1",
                        "result_1": "``",
                        "result_2": "``",
                        "result_3": "``",
                        "result_4": "``",
                        "result_5": "``",
                        "last_check": 1752129469,
                        "last_status": "null",
                        "rrd_dst": "NONE",
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "monitoring_id": 1,
                  "title": "Interface",
                  "oid": "1.3.6.1.2.1.31.1.1.1.1.1",
                  "active": "1",
                  "check_every": "1",
                  "result_0": "ether1",
                  "result_1": "``",
                  "result_2": "``",
                  "result_3": "``",
                  "result_4": "``",
                  "result_5": "``",
                  "last_check": 1752129469,
                  "last_status": "null",
                  "rrd_dst": "NONE",
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Networking"
        ],
        "summary": "Update a SNMP OID monitoring",
        "description": "Update the SNMP OID monitoring with the given ID.",
        "operationId": "UpdateaSNMPOIDmonitoring",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "SNMP OID monitoring ID",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  }
                },
                "example": {
                  "title": "Interface"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Networking"
        ],
        "summary": "Delete a SNMP OID monitoring",
        "description": "Delete the SNMP OID monitoring with the given ID.",
        "operationId": "DeleteaSNMPOIDmonitoring",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "SNMP OID monitoring ID",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/monitoring-vendors": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all monitoring vendors",
        "description": "Returns the list of monitoring vendors (the Vendors block on `/admin/config/networking/monitoring`). Supports the standard Splynx list query parameters (`search[main_attributes][...]`, `order`, `limit`, `offset`).",
        "operationId": "Listallmonitoringvendors",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MonitoringvendorResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 9,
                      "title": "Mikrotik"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 9,
                    "title": "Mikrotik"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Config"
        ],
        "summary": "Create a monitoring vendor",
        "description": "Creates a new monitoring vendor (a Vendor in the Vendors block on `/admin/config/networking/monitoring`).",
        "operationId": "Createamonitoringvendor",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MonitoringvendorRequest"
              },
              "example": {
                "title": "Mikrotik"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/MonitoringvendorId"
                    },
                    {
                      "example": {
                        "id": 9
                      }
                    }
                  ]
                },
                "example": {
                  "id": 9
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/monitoring-vendors/{id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve a monitoring vendor",
        "description": "Returns a single monitoring vendor by ID. Returns 404 when no vendor with the given ID exists.",
        "operationId": "Retrieveamonitoringvendor",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Monitoring vendor ID",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 9
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/MonitoringvendorResponse"
                    },
                    {
                      "example": {
                        "id": 9,
                        "title": "Mikrotik"
                      }
                    }
                  ]
                },
                "example": {
                  "id": 9,
                  "title": "Mikrotik"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Config"
        ],
        "summary": "Update a monitoring vendor",
        "description": "Updates the monitoring vendor with the given ID.",
        "operationId": "Updateamonitoringvendor",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Monitoring vendor ID",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 9
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MonitoringvendorRequest"
              },
              "example": {
                "title": "Mikrotik"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Config"
        ],
        "summary": "Delete a monitoring vendor",
        "description": "Deletes the monitoring vendor with the given ID.",
        "operationId": "Deleteamonitoringvendor",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Monitoring vendor ID",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 9
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/monitoring-types": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all monitoring device types",
        "description": "Returns the list of monitoring device types (the Device types block on `/admin/config/networking/monitoring`). Supports the standard Splynx list query parameters (`search[main_attributes][...]`, `order`, `limit`, `offset`).",
        "operationId": "Listallmonitoringdevicetypes",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MonitoringtypeResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 4,
                      "title": "Router"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 4,
                    "title": "Router"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/monitoring-types/{id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve a monitoring device type",
        "description": "Returns a single monitoring device type by ID. Returns 404 when no device type with the given ID exists.",
        "operationId": "Retrieveamonitoringdevicetype",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Monitoring device type ID",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 4
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/MonitoringtypeResponse"
                    },
                    {
                      "example": {
                        "id": 4,
                        "title": "Router"
                      }
                    }
                  ]
                },
                "example": {
                  "id": 4,
                  "title": "Router"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/monitoring-groups": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all monitoring groups",
        "description": "Returns the list of monitoring groups (the Groups block on `/admin/config/networking/monitoring`). Supports the standard Splynx list query parameters (`search[main_attributes][...]`, `order`, `limit`, `offset`).",
        "operationId": "Listallmonitoringgroups",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MonitoringgroupResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 2,
                      "title": "Core devices",
                      "delay_timer": 5,
                      "panel_notifications": true,
                      "email_notifications": true,
                      "email_notification_subject": "[Splynx] Monitoring alert",
                      "email_notifications_template_id": 1,
                      "notifications_admins": [1, 2],
                      "sms_notifications": false,
                      "sms_notifications_template_id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "id": 2,
                    "title": "Core devices",
                    "delay_timer": 5,
                    "panel_notifications": true,
                    "email_notifications": true,
                    "email_notification_subject": "[Splynx] Monitoring alert",
                    "email_notifications_template_id": 1,
                    "notifications_admins": [1, 2],
                    "sms_notifications": false,
                    "sms_notifications_template_id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/monitoring-groups/{id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve a monitoring group",
        "description": "Returns a single monitoring group by ID. Returns 404 when no group with the given ID exists.",
        "operationId": "Retrieveamonitoringgroup",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Monitoring group ID",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 2
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/MonitoringgroupResponse"
                    },
                    {
                      "example": {
                        "id": 2,
                        "title": "Core devices",
                        "delay_timer": 5,
                        "panel_notifications": true,
                        "email_notifications": true,
                        "email_notification_subject": "[Splynx] Monitoring alert",
                        "email_notifications_template_id": 1,
                        "notifications_admins": [1, 2],
                        "sms_notifications": false,
                        "sms_notifications_template_id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 2,
                  "title": "Core devices",
                  "delay_timer": 5,
                  "panel_notifications": true,
                  "email_notifications": true,
                  "email_notification_subject": "[Splynx] Monitoring alert",
                  "email_notifications_template_id": 1,
                  "notifications_admins": [1, 2],
                  "sms_notifications": false,
                  "sms_notifications_template_id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/ipv4": {
      "post": {
        "tags": [
          "Networking"
        ],
        "summary": "Create a IPv4 network",
        "description": "Creates a new IPv4 network.",
        "operationId": "CreateaIPv4network",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IPv4networkBase"
              },
              "example": {
                "network": "10.0.0.0",
                "mask": 24,
                "title": "Aplha",
                "comment": "First network",
                "location_id": 1,
                "network_category": 1,
                "network_type": "endnet",
                "type_of_usage": "pool",
                "parent": 1
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/IPv4networkId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "List all IPv4 networks",
        "description": "Returns a list of your IPv4 networks.",
        "operationId": "ListallIPv4networks",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IPv4networkResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "network": "10.0.0.0",
                      "mask": 24,
                      "title": "Aplha",
                      "comment": "First network",
                      "location_id": 1,
                      "network_category": 1,
                      "network_type": "endnet",
                      "type_of_usage": "pool",
                      "parent": 1,
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "network": "10.0.0.0",
                    "mask": 24,
                    "title": "Aplha",
                    "comment": "First network",
                    "location_id": 1,
                    "network_category": 1,
                    "network_type": "endnet",
                    "type_of_usage": "pool",
                    "parent": 1,
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/ipv4/{id}": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "Retrieve a IPv4 network",
        "description": "Work with IPv4 networks.Retrieves the IPv4 network with the given ID.",
        "operationId": "RetrieveaIPv4network",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired IPv4 network.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/IPv4networkResponse"
                    },
                    {
                      "example": {
                        "network": "10.0.0.0",
                        "mask": 24,
                        "title": "Aplha",
                        "comment": "First network",
                        "location_id": 1,
                        "network_category": 1,
                        "network_type": "endnet",
                        "type_of_usage": "pool",
                        "parent": 1,
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "network": "10.0.0.0",
                  "mask": 24,
                  "title": "Aplha",
                  "comment": "First network",
                  "location_id": 1,
                  "network_category": 1,
                  "network_type": "endnet",
                  "type_of_usage": "pool",
                  "parent": 1,
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Networking"
        ],
        "summary": "Update a IPv4 network",
        "description": "Work with IPv4 networks.Update the IPv4 network with the given ID.",
        "operationId": "UpdateaIPv4network",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired IPv4 network.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  }
                },
                "example": {
                  "title": "Omega"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Networking"
        ],
        "summary": "Delete a IPv4 network",
        "description": "Work with IPv4 networks.Delete the IPv4 network with the given ID.",
        "operationId": "DeleteaIPv4network",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired IPv4 network.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/ipv4-ip/{network}": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "List all IPs by IPv4 network id",
        "description": "Returns a list of IPs in IPv4 network.",
        "operationId": "ListallIPsbyIPv4networkid",
        "parameters": [
          {
            "name": "network",
            "in": "path",
            "description": "The ID of the desired IPv4 network.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IPv4IPResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "ipv4_networks_id": 1,
                      "ip": "10.0.0.0",
                      "hostname": "host",
                      "location_id": 1,
                      "title": "Alpha and Omega",
                      "comment": "First IP",
                      "host_category": 1,
                      "is_used": 1,
                      "status": 0,
                      "last_check": 0,
                      "customer_id": 1,
                      "card_id": 0,
                      "module": "",
                      "module_item_id": 0,
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "ipv4_networks_id": 1,
                    "ip": "10.0.0.0",
                    "hostname": "host",
                    "location_id": 1,
                    "title": "Alpha and Omega",
                    "comment": "First IP",
                    "host_category": 1,
                    "is_used": 1,
                    "status": 0,
                    "last_check": 0,
                    "customer_id": 1,
                    "card_id": 0,
                    "module": "",
                    "module_item_id": 0,
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/ipv4-ip": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "Search IPs by params (example)",
        "description": "Returns a list of IPs by params.<br>Highly recommended to use `ipv4_networks_id` param for search<br>(GET params example: `?main_attributes[ipv4_networks_id]=1`).<br>More details about search by params you can find [here](/#introduction/search,-order,-limit,-and-offset).",
        "operationId": "SearchIPsbyparams(example)",
        "parameters": [
          {
            "name": "is_used",
            "in": "query",
            "description": "Example of param for search (Search all free IPs).",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 0
            }
          },
          {
            "name": "network_id",
            "in": "query",
            "description": "Example of param for search (Search IPs in specific network by id).",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "main_attributes[is_used]",
            "in": "query",
            "description": "",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "{is_used}"
            }
          },
          {
            "name": "main_attributes[ipv4_networks_id]",
            "in": "query",
            "description": "",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "{network_id}"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IPv4IPResponseFree"
                  },
                  "description": "",
                  "example": [
                    {
                      "ipv4_networks_id": 1,
                      "ip": "10.0.0.1",
                      "hostname": "host",
                      "location_id": 1,
                      "title": "Alpha and Beta",
                      "comment": "Second IP",
                      "host_category": 1,
                      "is_used": 0,
                      "status": 0,
                      "last_check": 0,
                      "customer_id": 0,
                      "card_id": 0,
                      "module": "",
                      "module_item_id": 0,
                      "id": 2
                    }
                  ]
                },
                "example": [
                  {
                    "ipv4_networks_id": 1,
                    "ip": "10.0.0.1",
                    "hostname": "host",
                    "location_id": 1,
                    "title": "Alpha and Beta",
                    "comment": "Second IP",
                    "host_category": 1,
                    "is_used": 0,
                    "status": 0,
                    "last_check": 0,
                    "customer_id": 0,
                    "card_id": 0,
                    "module": "",
                    "module_item_id": 0,
                    "id": 2
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/ipv4-ip/{network}--{ip}": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "Retrieve a IPv4 IP",
        "description": "Work with IPv4 IP.Retrieves the IPv4 IP with the given ID.",
        "operationId": "RetrieveaIPv4IP",
        "parameters": [
          {
            "name": "network",
            "in": "path",
            "description": "The ID of the desired IPv4 network.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "ip",
            "in": "path",
            "description": "The ID of the IPv4 IP.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/IPv4IPResponse"
                    },
                    {
                      "example": {
                        "ipv4_networks_id": 1,
                        "ip": "10.0.0.0",
                        "hostname": "host",
                        "location_id": 1,
                        "title": "Alpha and Omega",
                        "comment": "First IP",
                        "host_category": 1,
                        "is_used": 1,
                        "status": 0,
                        "last_check": 0,
                        "customer_id": 1,
                        "card_id": 0,
                        "module": "",
                        "module_item_id": 0,
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "ipv4_networks_id": 1,
                  "ip": "10.0.0.0",
                  "hostname": "host",
                  "location_id": 1,
                  "title": "Alpha and Omega",
                  "comment": "First IP",
                  "host_category": 1,
                  "is_used": 1,
                  "status": 0,
                  "last_check": 0,
                  "customer_id": 1,
                  "card_id": 0,
                  "module": "",
                  "module_item_id": 0,
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Networking"
        ],
        "summary": "Update a IPv4 IP",
        "description": "Work with IPv4 IP.Update the IPv4 IP with the given ID.",
        "operationId": "UpdateaIPv4IP",
        "parameters": [
          {
            "name": "network",
            "in": "path",
            "description": "The ID of the desired IPv4 network.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "ip",
            "in": "path",
            "description": "The ID of the IPv4 IP.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateaIPv4IPrequest"
              },
              "example": {
                "title": "Used by John Doe",
                "host_category": 1,
                "customer_id": 1,
                "is_used": 1
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/ipv6": {
      "post": {
        "tags": [
          "Networking"
        ],
        "summary": "Create a IPv6 network",
        "description": "Creates a new IPv6 network.",
        "operationId": "CreateaIPv6network",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IPv6networkBase"
              },
              "example": {
                "network": "2001:db8::",
                "prefix": 32,
                "title": "Aplha",
                "comment": "First network",
                "location_id": 1,
                "network_category": 1,
                "network_type": "endnet",
                "type_of_usage": "static",
                "parent": 1,
                "range_from": "2001:db8::1",
                "range_to": "2001:db8::ffff"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/IPv6networkId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "List all IPv6 networks",
        "description": "Returns a list of your IPv6 networks.",
        "operationId": "ListallIPv6networks",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IPv6networkResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "network": "2001:db8::",
                      "prefix": 32,
                      "title": "Aplha",
                      "comment": "First network",
                      "location_id": 1,
                      "network_category": 1,
                      "network_type": "endnet",
                      "type_of_usage": "static",
                      "parent": 1,
                      "range_from": "2001:db8::1",
                      "range_to": "2001:db8::ffff",
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "network": "2001:db8::",
                    "prefix": 32,
                    "title": "Aplha",
                    "comment": "First network",
                    "location_id": 1,
                    "network_category": 1,
                    "network_type": "endnet",
                    "type_of_usage": "static",
                    "parent": 1,
                    "range_from": "2001:db8::1",
                    "range_to": "2001:db8::ffff",
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/ipv6/{id}": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "Retrieve a IPv6 network",
        "description": "Work with IPv6 networks.Retrieves the IPv6 network with the given ID.",
        "operationId": "RetrieveaIPv6network",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired IPv6 network.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/IPv6networkResponse"
                    },
                    {
                      "example": {
                        "network": "2001:db8::",
                        "prefix": 32,
                        "title": "Aplha",
                        "comment": "First network",
                        "location_id": 1,
                        "network_category": 1,
                        "network_type": "endnet",
                        "type_of_usage": "static",
                        "parent": 1,
                        "range_from": "2001:db8::1",
                        "range_to": "2001:db8::ffff",
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "network": "2001:db8::",
                  "prefix": 32,
                  "title": "Aplha",
                  "comment": "First network",
                  "location_id": 1,
                  "network_category": 1,
                  "network_type": "endnet",
                  "type_of_usage": "static",
                  "parent": 1,
                  "range_from": "2001:db8::1",
                  "range_to": "2001:db8::ffff",
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Networking"
        ],
        "summary": "Update a IPv6 network",
        "description": "Work with IPv6 networks.Update the IPv6 network with the given ID.",
        "operationId": "UpdateaIPv6network",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired IPv6 network.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  }
                },
                "example": {
                  "title": "Omega"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Networking"
        ],
        "summary": "Delete a IPv6 network",
        "description": "Work with IPv6 networks.Delete the IPv6 network with the given ID.",
        "operationId": "DeleteaIPv6network",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired IPv6 network.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/ipv6-ip/{network}": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "List all Networks (IP) by IPv6 network id",
        "description": "Returns a list of IPv6 networks in IPv6 network.",
        "operationId": "ListallNetworks(IP)byIPv6networkid",
        "parameters": [
          {
            "name": "network",
            "in": "path",
            "description": "The ID of the desired IPv6 network.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IPv6IPResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "ipv6_networks_id": 1,
                      "ip": "2001:db8::",
                      "ip_end": "2001:db8:ffff:ffff:ffff:ffff:ffff:ffff",
                      "prefix": 64,
                      "location_id": 1,
                      "title": "Aplha and Omega",
                      "comment": "First IP",
                      "host_category": 1,
                      "is_used": 1,
                      "customer_id": 1,
                      "service_id": 1,
                      "card_id": 0,
                      "module": "",
                      "module_item_id": 0,
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "ipv6_networks_id": 1,
                    "ip": "2001:db8::",
                    "ip_end": "2001:db8:ffff:ffff:ffff:ffff:ffff:ffff",
                    "prefix": 64,
                    "location_id": 1,
                    "title": "Aplha and Omega",
                    "comment": "First IP",
                    "host_category": 1,
                    "is_used": 1,
                    "customer_id": 1,
                    "service_id": 1,
                    "card_id": 0,
                    "module": "",
                    "module_item_id": 0,
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Networking"
        ],
        "summary": "Use a IPv6 IP",
        "description": "Use new IPv6 IP on network",
        "operationId": "UseaIPv6IP",
        "parameters": [
          {
            "name": "network",
            "in": "path",
            "description": "The ID of the desired IPv6 network.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UseaIPv6IPrequest"
              },
              "example": {
                "ipv6_networks_id": "1",
                "ip": "2001:db8:0:a::",
                "prefix": 64,
                "title": "Used by John Doe",
                "host_category": 1,
                "customer_id": 1,
                "is_used": 1
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/ipv6-ip": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "IPv6 IP search_Search IPs by params (example)",
        "description": "Returns a list of IPs by params.<br>Highly recommended to use `ipv6_networks_id` param for search<br>(GET params example: `?main_attributes[ipv6_networks_id]=1`).<br>More details about search by params you can find [here](/#introduction/search,-order,-limit,-and-offset).",
        "operationId": "IPv6IPsearch_SearchIPsbyparams(example)",
        "parameters": [
          {
            "name": "comment",
            "in": "query",
            "description": "Example of param for search (Search all IPs by comment).",
            "required": true,
            "schema": {
              "type": "string",
              "example": "First IP"
            }
          },
          {
            "name": "network_id",
            "in": "query",
            "description": "Example of param for search (Search IPs in specific network by id).",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "main_attributes[comment]",
            "in": "query",
            "description": "",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "{comment}"
            }
          },
          {
            "name": "main_attributes[ipv6_networks_id]",
            "in": "query",
            "description": "",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "{network_id}"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/IPv6IPResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "ipv6_networks_id": 1,
                      "ip": "2001:db8::",
                      "ip_end": "2001:db8:ffff:ffff:ffff:ffff:ffff:ffff",
                      "prefix": 64,
                      "location_id": 1,
                      "title": "Aplha and Omega",
                      "comment": "First IP",
                      "host_category": 1,
                      "is_used": 1,
                      "customer_id": 1,
                      "service_id": 1,
                      "card_id": 0,
                      "module": "",
                      "module_item_id": 0,
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "ipv6_networks_id": 1,
                    "ip": "2001:db8::",
                    "ip_end": "2001:db8:ffff:ffff:ffff:ffff:ffff:ffff",
                    "prefix": 64,
                    "location_id": 1,
                    "title": "Aplha and Omega",
                    "comment": "First IP",
                    "host_category": 1,
                    "is_used": 1,
                    "customer_id": 1,
                    "service_id": 1,
                    "card_id": 0,
                    "module": "",
                    "module_item_id": 0,
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/ipv6-ip/{network}--{free}--{prefix}": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "List free Networks (IP) by IPv6 network id",
        "description": "Returns one free IPv6 networks in IPv6 network.",
        "operationId": "ListfreeNetworks(IP)byIPv6networkid",
        "parameters": [
          {
            "name": "network",
            "in": "path",
            "description": "The ID of the desired IPv6 network.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "free",
            "in": "path",
            "description": "Indicate that we need free IP (example: 1--free)",
            "required": true,
            "schema": {
              "type": "string",
              "example": "free"
            }
          },
          {
            "name": "prefix",
            "in": "path",
            "description": "Prefix what you want to get free (example: 1--free-50)",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 32
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/IPv6IPResponse"
                    },
                    {
                      "example": {
                        "ipv6_networks_id": 1,
                        "ip": "2001:db8::",
                        "ip_end": "2001:db8:ffff:ffff:ffff:ffff:ffff:ffff",
                        "prefix": 64,
                        "location_id": 1,
                        "title": "Aplha and Omega",
                        "comment": "First IP",
                        "host_category": 1,
                        "is_used": 1,
                        "customer_id": 1,
                        "service_id": 1,
                        "card_id": 0,
                        "module": "",
                        "module_item_id": 0,
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "ipv6_networks_id": 1,
                  "ip": "2001:db8::",
                  "ip_end": "2001:db8:ffff:ffff:ffff:ffff:ffff:ffff",
                  "prefix": 64,
                  "location_id": 1,
                  "title": "Aplha and Omega",
                  "comment": "First IP",
                  "host_category": 1,
                  "is_used": 1,
                  "customer_id": 1,
                  "service_id": 1,
                  "card_id": 0,
                  "module": "",
                  "module_item_id": 0,
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/ipv6-ip/{network}--{ip}": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "Retrieve a IPv6 IP",
        "description": "Work with IPv6 IP.Retrieves the IPv6 IP with the given ID.",
        "operationId": "RetrieveaIPv6IP",
        "parameters": [
          {
            "name": "network",
            "in": "path",
            "description": "The ID of the desired IPv6 network.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "ip",
            "in": "path",
            "description": "The ID of the IPv6 IP.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/IPv6IPResponse"
                    },
                    {
                      "example": {
                        "ipv6_networks_id": 1,
                        "ip": "2001:db8::",
                        "ip_end": "2001:db8:ffff:ffff:ffff:ffff:ffff:ffff",
                        "prefix": 64,
                        "location_id": 1,
                        "title": "Aplha and Omega",
                        "comment": "First IP",
                        "host_category": 1,
                        "is_used": 1,
                        "customer_id": 1,
                        "service_id": 1,
                        "card_id": 0,
                        "module": "",
                        "module_item_id": 0,
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "ipv6_networks_id": 1,
                  "ip": "2001:db8::",
                  "ip_end": "2001:db8:ffff:ffff:ffff:ffff:ffff:ffff",
                  "prefix": 64,
                  "location_id": 1,
                  "title": "Aplha and Omega",
                  "comment": "First IP",
                  "host_category": 1,
                  "is_used": 1,
                  "customer_id": 1,
                  "service_id": 1,
                  "card_id": 0,
                  "module": "",
                  "module_item_id": 0,
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Networking"
        ],
        "summary": "Update a IPv6 IP",
        "description": "Work with IPv6 IP.Update the IPv6 IP with the given ID.",
        "operationId": "UpdateaIPv6IP",
        "parameters": [
          {
            "name": "network",
            "in": "path",
            "description": "The ID of the desired IPv6 network.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "ip",
            "in": "path",
            "description": "The ID of the IPv6 IP.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateaIPv6IPrequest"
              },
              "example": {
                "title": "Used by John Doe",
                "host_category": 1,
                "customer_id": 1,
                "is_used": 1
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Networking"
        ],
        "summary": "Delete a IPv6 IP",
        "description": "Work with IPv6 IP.Delete (Un Use) the IPv6 IP (Network) with the given ID.",
        "operationId": "DeleteaIPv6IP",
        "parameters": [
          {
            "name": "network",
            "in": "path",
            "description": "The ID of the desired IPv6 network.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "ip",
            "in": "path",
            "description": "The ID of the IPv6 IP.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/monitoring": {
      "post": {
        "tags": [
          "Networking"
        ],
        "summary": "Create a Monitoring",
        "description": "Creates a new Monitoring.",
        "operationId": "CreateaMonitoring",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MonitoringBase"
              },
              "example": {
                "title": "Alpha",
                "network_site_id": 0,
                "parent_id": 0,
                "producer": 1,
                "model": "Mega monitoring",
                "ip": "192.168.1.100",
                "snmp_port": 161,
                "is_ping": true,
                "active": true,
                "snmp_community": "public",
                "snmp_version": 1,
                "type": 1,
                "monitoring_group": 1,
                "partners_ids": [
                  "1"
                ],
                "location_id": 1,
                "address": "Big street 11-321",
                "send_notifications": true,
                "gps": "45.83,126.62",
                "gps_area": "45.83,126.62;45.85,126.63;45.85,126.60;45.84,126.60;45.83950371555224,126.62528514862058;",
                "delay_timer": 0,
                "snmp_time": 0,
                "snmp_uptime": 0,
                "snmp_status": 9,
                "snmp_status_1": 9,
                "snmp_status_2": 9,
                "snmp_status_3": 9,
                "snmp_status_4": 9,
                "snmp_status_5": 9,
                "snmp_state": "up",
                "ping_state": "up",
                "access_device": 1,
                "versions": [
                  1,
                  2
                ],
                "inventory_item_id": 0
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/MonitoringId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "List all Monitoring",
        "description": "Returns a list of your Monitoring.",
        "operationId": "ListallMonitoring",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MonitoringResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "title": "Alpha",
                      "network_site_id": 0,
                      "parent_id": 0,
                      "producer": 1,
                      "model": "Mega monitoring",
                      "ip": "192.168.1.100",
                      "snmp_port": 161,
                      "is_ping": true,
                      "active": true,
                      "snmp_community": "public",
                      "snmp_version": 1,
                      "type": 1,
                      "monitoring_group": 1,
                      "partners_ids": [
                        "1"
                      ],
                      "location_id": 1,
                      "address": "Big street 11-321",
                      "send_notifications": true,
                      "gps": "45.83,126.62",
                      "gps_area": "45.83,126.62;45.85,126.63;45.85,126.60;45.84,126.60;45.83950371555224,126.62528514862058;",
                      "delay_timer": 0,
                      "snmp_time": 0,
                      "snmp_uptime": 0,
                      "snmp_status": 9,
                      "snmp_status_1": 9,
                      "snmp_status_2": 9,
                      "snmp_status_3": 9,
                      "snmp_status_4": 9,
                      "snmp_status_5": 9,
                      "snmp_state": "up",
                      "ping_state": "up",
                      "access_device": 1,
                      "versions": [
                        1,
                        2
                      ],
                      "inventory_item_id": 0,
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "title": "Alpha",
                    "network_site_id": 0,
                    "parent_id": 0,
                    "producer": 1,
                    "model": "Mega monitoring",
                    "ip": "192.168.1.100",
                    "snmp_port": 161,
                    "is_ping": true,
                    "active": true,
                    "snmp_community": "public",
                    "snmp_version": 1,
                    "type": 1,
                    "monitoring_group": 1,
                    "partners_ids": [
                      "1"
                    ],
                    "location_id": 1,
                    "address": "Big street 11-321",
                    "send_notifications": true,
                    "gps": "45.83,126.62",
                    "gps_area": "45.83,126.62;45.85,126.63;45.85,126.60;45.84,126.60;45.83950371555224,126.62528514862058;",
                    "delay_timer": 0,
                    "snmp_time": 0,
                    "snmp_uptime": 0,
                    "snmp_status": 9,
                    "snmp_status_1": 9,
                    "snmp_status_2": 9,
                    "snmp_status_3": 9,
                    "snmp_status_4": 9,
                    "snmp_status_5": 9,
                    "snmp_state": "up",
                    "ping_state": "up",
                    "access_device": 1,
                    "versions": [
                      1,
                      2
                    ],
                    "inventory_item_id": 0,
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/monitoring/{id}": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "Retrieve a Monitoring",
        "description": "Work with Monitoring.Retrieves the Monitoring with the given ID.",
        "operationId": "RetrieveaMonitoring",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Monitoring.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/MonitoringResponse"
                    },
                    {
                      "example": {
                        "title": "Alpha",
                        "network_site_id": 0,
                        "parent_id": 0,
                        "producer": 1,
                        "model": "Mega monitoring",
                        "ip": "192.168.1.100",
                        "snmp_port": 161,
                        "is_ping": true,
                        "active": true,
                        "snmp_community": "public",
                        "snmp_version": 1,
                        "type": 1,
                        "monitoring_group": 1,
                        "partners_ids": [
                          "1"
                        ],
                        "location_id": 1,
                        "address": "Big street 11-321",
                        "send_notifications": true,
                        "gps": "45.83,126.62",
                        "gps_area": "45.83,126.62;45.85,126.63;45.85,126.60;45.84,126.60;45.83950371555224,126.62528514862058;",
                        "delay_timer": 0,
                        "snmp_time": 0,
                        "snmp_uptime": 0,
                        "snmp_status": 9,
                        "snmp_status_1": 9,
                        "snmp_status_2": 9,
                        "snmp_status_3": 9,
                        "snmp_status_4": 9,
                        "snmp_status_5": 9,
                        "snmp_state": "up",
                        "ping_state": "up",
                        "access_device": 1,
                        "versions": [
                          1,
                          2
                        ],
                        "inventory_item_id": 0,
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "title": "Alpha",
                  "network_site_id": 0,
                  "parent_id": 0,
                  "producer": 1,
                  "model": "Mega monitoring",
                  "ip": "192.168.1.100",
                  "snmp_port": 161,
                  "is_ping": true,
                  "active": true,
                  "snmp_community": "public",
                  "snmp_version": 1,
                  "type": 1,
                  "monitoring_group": 1,
                  "partners_ids": [
                    "1"
                  ],
                  "location_id": 1,
                  "address": "Big street 11-321",
                  "send_notifications": true,
                  "gps": "45.83,126.62",
                  "gps_area": "45.83,126.62;45.85,126.63;45.85,126.60;45.84,126.60;45.83950371555224,126.62528514862058;",
                  "delay_timer": 0,
                  "snmp_time": 0,
                  "snmp_uptime": 0,
                  "snmp_status": 9,
                  "snmp_status_1": 9,
                  "snmp_status_2": 9,
                  "snmp_status_3": 9,
                  "snmp_status_4": 9,
                  "snmp_status_5": 9,
                  "snmp_state": "up",
                  "ping_state": "up",
                  "access_device": 1,
                  "versions": [
                    1,
                    2
                  ],
                  "inventory_item_id": 0,
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Networking"
        ],
        "summary": "Update a Monitoring",
        "description": "Work with Monitoring.Update the Monitoring with the given ID.",
        "operationId": "UpdateaMonitoring",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Monitoring.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  }
                },
                "example": {
                  "title": "Omega"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Networking"
        ],
        "summary": "Delete a Monitoring",
        "description": "Work with Monitoring.Delete the Monitoring with the given ID.",
        "operationId": "DeleteaMonitoring",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Monitoring.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/traffic-accounting/{id}": {
      "put": {
        "tags": [
          "Networking"
        ],
        "summary": "Add Traffic accounting",
        "description": "Work with Traffic accounting.Add data usage to traffic accounting with the given service ID. (download & upload is required)",
        "operationId": "AddTrafficaccounting",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired internet service.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddTrafficaccountingrequest"
              },
              "example": {
                "download": 5000000,
                "upload": 480000,
                "time": 300
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/routers-mikrotik/{id}": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "Retrieve a Mikrotik",
        "description": "Get Mikrotik.Retrieves the Mikrotik with the given ID.",
        "operationId": "RetrieveaMikrotik",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID if of the desired Mikrotik.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/MikrotikResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "api_login": "admin",
                        "api_password": "password",
                        "api_port": 80,
                        "api_enable": true,
                        "api_status": "ok",
                        "shaper": true,
                        "shaper_id": 1,
                        "shaping_type": "simple",
                        "disabled_to_al": false,
                        "wireless_al": false,
                        "last_status": "2017-01-01 00:00:00",
                        "cpu_usage": 0,
                        "platform": "MikroTik",
                        "board_name": "mikrotik",
                        "version": "6.0.0 (stable)",
                        "connection_error": 0,
                        "last_api_error": false,
                        "is_used": true,
                        "pid": 1,
                        "used_date_time": "2017-01-01 00:00:00",
                        "change_status": true,
                        "change_authorization": false,
                        "change_shaping": true,
                        "last_connect": "2017-01-01 00:00:00",
                        "last_accounting": "2017-01-01 00:00:00",
                        "push_firewall_filter_rules": 1,
                        "update_firewall_filter_rules": 1,
                        "ipv6": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "api_login": "admin",
                  "api_password": "password",
                  "api_port": 80,
                  "api_enable": true,
                  "api_status": "ok",
                  "shaper": true,
                  "shaper_id": 1,
                  "shaping_type": "simple",
                  "disabled_to_al": false,
                  "wireless_al": false,
                  "last_status": "2017-01-01 00:00:00",
                  "cpu_usage": 0,
                  "platform": "MikroTik",
                  "board_name": "mikrotik",
                  "version": "6.0.0 (stable)",
                  "connection_error": 0,
                  "last_api_error": false,
                  "is_used": true,
                  "pid": 1,
                  "used_date_time": "2017-01-01 00:00:00",
                  "change_status": true,
                  "change_authorization": false,
                  "change_shaping": true,
                  "last_connect": "2017-01-01 00:00:00",
                  "last_accounting": "2017-01-01 00:00:00",
                  "push_firewall_filter_rules": 1,
                  "update_firewall_filter_rules": 1,
                  "ipv6": 1
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/cpe": {
      "post": {
        "tags": [
          "Networking"
        ],
        "summary": "Create a Cpe",
        "description": "Creates a new Cpe.",
        "operationId": "CreateaCpe",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CpeBase"
              },
              "example": {
                "customer_id": 76,
                "title": "Office router",
                "host": "10.0.1.1",
                "api_login": "api_user",
                "api_password": "api_password",
                "api_port": "8728",
                "status": "error_connection",
                "change_status": 1,
                "last_status": "2017-01-01 00:00:00",
                "last_update": "2017-01-01 00:00:00",
                "last_connect": "2017-01-01 00:00:00",
                "type": "TypeCpe",
                "signal": "-48",
                "gps": "50.11,8.7253",
                "service_id": 10,
                "qos": 1,
                "used_date_time": "2017-01-01 00:00:00",
                "cpe_wireless": "json string",
                "cpe_wireless_interfaces": "json string",
                "cpe_status": "json string",
                "cpe_interfaces": "json string",
                "connection_error": 9
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CpeId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "List all Cpe",
        "description": "Returns a list of your Cpes.",
        "operationId": "ListallCpe",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CpeResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "customer_id": 76,
                      "title": "Office router",
                      "host": "10.0.1.1",
                      "api_login": "api_user",
                      "api_password": "api_password",
                      "api_port": "8728",
                      "status": "error_connection",
                      "change_status": 1,
                      "last_status": "2017-01-01 00:00:00",
                      "last_update": "2017-01-01 00:00:00",
                      "last_connect": "2017-01-01 00:00:00",
                      "type": "TypeCpe",
                      "signal": "-48",
                      "gps": "50.11,8.7253",
                      "service_id": 10,
                      "qos": 1,
                      "used_date_time": "2017-01-01 00:00:00",
                      "cpe_wireless": "json string",
                      "cpe_wireless_interfaces": "json string",
                      "cpe_status": "json string",
                      "cpe_interfaces": "json string",
                      "connection_error": 9,
                      "id": 1,
                      "customer_name": "null",
                      "customer_login": "null",
                      "partner_id": "null",
                      "location_id": "null",
                      "dhcp": "null",
                      "is_changed": 0,
                      "is_used": 0,
                      "qos_target": "self"
                    }
                  ]
                },
                "example": [
                  {
                    "customer_id": 76,
                    "title": "Office router",
                    "host": "10.0.1.1",
                    "api_login": "api_user",
                    "api_password": "api_password",
                    "api_port": "8728",
                    "status": "error_connection",
                    "change_status": 1,
                    "last_status": "2017-01-01 00:00:00",
                    "last_update": "2017-01-01 00:00:00",
                    "last_connect": "2017-01-01 00:00:00",
                    "type": "TypeCpe",
                    "signal": "-48",
                    "gps": "50.11,8.7253",
                    "service_id": 10,
                    "qos": 1,
                    "used_date_time": "2017-01-01 00:00:00",
                    "cpe_wireless": "json string",
                    "cpe_wireless_interfaces": "json string",
                    "cpe_status": "json string",
                    "cpe_interfaces": "json string",
                    "connection_error": 9,
                    "id": 1,
                    "customer_name": "null",
                    "customer_login": "null",
                    "partner_id": "null",
                    "location_id": "null",
                    "dhcp": "null",
                    "is_changed": 0,
                    "is_used": 0,
                    "qos_target": "self"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/cpe/{id}": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "Retrieve a Cpe",
        "description": "Work with Cpe.Retrieves the Cpe with the given ID.",
        "operationId": "RetrieveaCpe",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID ofthe desired Cpe.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CpeResponse"
                    },
                    {
                      "example": {
                        "customer_id": 76,
                        "title": "Office router",
                        "host": "10.0.1.1",
                        "api_login": "api_user",
                        "api_password": "api_password",
                        "api_port": "8728",
                        "status": "error_connection",
                        "change_status": 1,
                        "last_status": "2017-01-01 00:00:00",
                        "last_update": "2017-01-01 00:00:00",
                        "last_connect": "2017-01-01 00:00:00",
                        "type": "TypeCpe",
                        "signal": "-48",
                        "gps": "50.11,8.7253",
                        "service_id": 10,
                        "qos": 1,
                        "used_date_time": "2017-01-01 00:00:00",
                        "cpe_wireless": "json string",
                        "cpe_wireless_interfaces": "json string",
                        "cpe_status": "json string",
                        "cpe_interfaces": "json string",
                        "connection_error": 9,
                        "id": 1,
                        "customer_name": "null",
                        "customer_login": "null",
                        "partner_id": "null",
                        "location_id": "null",
                        "dhcp": "null",
                        "is_changed": 0,
                        "is_used": 0,
                        "qos_target": "self"
                      }
                    }
                  ]
                },
                "example": {
                  "customer_id": 76,
                  "title": "Office router",
                  "host": "10.0.1.1",
                  "api_login": "api_user",
                  "api_password": "api_password",
                  "api_port": "8728",
                  "status": "error_connection",
                  "change_status": 1,
                  "last_status": "2017-01-01 00:00:00",
                  "last_update": "2017-01-01 00:00:00",
                  "last_connect": "2017-01-01 00:00:00",
                  "type": "TypeCpe",
                  "signal": "-48",
                  "gps": "50.11,8.7253",
                  "service_id": 10,
                  "qos": 1,
                  "used_date_time": "2017-01-01 00:00:00",
                  "cpe_wireless": "json string",
                  "cpe_wireless_interfaces": "json string",
                  "cpe_status": "json string",
                  "cpe_interfaces": "json string",
                  "connection_error": 9,
                  "id": 1,
                  "customer_name": "null",
                  "customer_login": "null",
                  "partner_id": "null",
                  "location_id": "null",
                  "dhcp": "null",
                  "is_changed": 0,
                  "is_used": 0,
                  "qos_target": "self"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Networking"
        ],
        "summary": "Update a Cpe",
        "description": "Work with Cpe.Update the Cpe with the given ID.",
        "operationId": "UpdateaCpe",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID ofthe desired Cpe.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  }
                },
                "example": {
                  "title": "Public router"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Networking"
        ],
        "summary": "Delete a Cpe",
        "description": "Work with Cpe.Delete the Cpe with the given ID.",
        "operationId": "DeleteaCpe",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID ofthe desired Cpe.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/cpe-ap": {
      "post": {
        "tags": [
          "Networking"
        ],
        "summary": "Create a CpeAp",
        "description": "Creates a new CpeAp.",
        "operationId": "CreateaCpeAp",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CpeApBase"
              },
              "example": {
                "cpe_id": 1,
                "name": "cpeap 1",
                "mode": "ap-bridge",
                "interface": "wlan1",
                "protocol": "802.11",
                "frequency": "auto",
                "band": "2ghz-b/g/n",
                "channel_width": "20/40mhz-Ce",
                "country": "czech republic",
                "security": "wpa_wpa2",
                "encryption": "aes_ccm",
                "password": "cpeap_password",
                "enabled": 1,
                "master": "cpeap master"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CpeApId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "List all CpeAp",
        "description": "Returns a list of your CpeAps.",
        "operationId": "ListallCpeAp",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CpeApResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "cpe_id": 1,
                      "name": "cpeap 1",
                      "mode": "ap-bridge",
                      "interface": "wlan1",
                      "protocol": "802.11",
                      "frequency": "auto",
                      "band": "2ghz-b/g/n",
                      "channel_width": "20/40mhz-Ce",
                      "country": "czech republic",
                      "security": "wpa_wpa2",
                      "encryption": "aes_ccm",
                      "password": "cpeap_password",
                      "enabled": 1,
                      "master": "cpeap master",
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "cpe_id": 1,
                    "name": "cpeap 1",
                    "mode": "ap-bridge",
                    "interface": "wlan1",
                    "protocol": "802.11",
                    "frequency": "auto",
                    "band": "2ghz-b/g/n",
                    "channel_width": "20/40mhz-Ce",
                    "country": "czech republic",
                    "security": "wpa_wpa2",
                    "encryption": "aes_ccm",
                    "password": "cpeap_password",
                    "enabled": 1,
                    "master": "cpeap master",
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/cpe-ap/{id}": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "Retrieve a CpeAp",
        "description": "Work with CpeAp.Retrieves the CpeAp with the given ID.",
        "operationId": "RetrieveaCpeAp",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID ofthe desired CpeAp.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CpeApResponse"
                    },
                    {
                      "example": {
                        "cpe_id": 1,
                        "name": "cpeap 1",
                        "mode": "ap-bridge",
                        "interface": "wlan1",
                        "protocol": "802.11",
                        "frequency": "auto",
                        "band": "2ghz-b/g/n",
                        "channel_width": "20/40mhz-Ce",
                        "country": "czech republic",
                        "security": "wpa_wpa2",
                        "encryption": "aes_ccm",
                        "password": "cpeap_password",
                        "enabled": 1,
                        "master": "cpeap master",
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "cpe_id": 1,
                  "name": "cpeap 1",
                  "mode": "ap-bridge",
                  "interface": "wlan1",
                  "protocol": "802.11",
                  "frequency": "auto",
                  "band": "2ghz-b/g/n",
                  "channel_width": "20/40mhz-Ce",
                  "country": "czech republic",
                  "security": "wpa_wpa2",
                  "encryption": "aes_ccm",
                  "password": "cpeap_password",
                  "enabled": 1,
                  "master": "cpeap master",
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Networking"
        ],
        "summary": "Update a CpeAp",
        "description": "Work with CpeAp.Update the CpeAp with the given ID.",
        "operationId": "UpdateaCpeAp",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID ofthe desired CpeAp.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  }
                },
                "example": {
                  "name": "Public router"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Networking"
        ],
        "summary": "Delete a CpeAp",
        "description": "Work with CpeAp.Delete the CpeAp with the given ID.",
        "operationId": "DeleteaCpeAp",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID ofthe desired CpeAp.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/cpe-qos": {
      "post": {
        "tags": [
          "Networking"
        ],
        "summary": "Create a CpeQos",
        "description": "Creates a new CpeQos.",
        "operationId": "CreateaCpeQos",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CpeQosBase"
              },
              "example": {
                "cpe_id": 4,
                "title": "cpeQos 1",
                "speed_in": 500,
                "speed_out": 300,
                "limit_at": 56,
                "priority": 3,
                "dst": "10.24.50.20"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CpeQosId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "List all CpeQos",
        "description": "Returns a list of your CpeQos.",
        "operationId": "ListallCpeQos",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CpeQosResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "cpe_id": 4,
                      "title": "cpeQos 1",
                      "speed_in": 500,
                      "speed_out": 300,
                      "limit_at": 56,
                      "priority": 3,
                      "dst": "10.24.50.20",
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "cpe_id": 4,
                    "title": "cpeQos 1",
                    "speed_in": 500,
                    "speed_out": 300,
                    "limit_at": 56,
                    "priority": 3,
                    "dst": "10.24.50.20",
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/cpe-qos/{id}": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "Retrieve a CpeQos",
        "description": "Work with CpeQos.Retrieves the CpeQos with the given ID.",
        "operationId": "RetrieveaCpeQos",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID ofthe desired CpeQos.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CpeQosResponse"
                    },
                    {
                      "example": {
                        "cpe_id": 4,
                        "title": "cpeQos 1",
                        "speed_in": 500,
                        "speed_out": 300,
                        "limit_at": 56,
                        "priority": 3,
                        "dst": "10.24.50.20",
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "cpe_id": 4,
                  "title": "cpeQos 1",
                  "speed_in": 500,
                  "speed_out": 300,
                  "limit_at": 56,
                  "priority": 3,
                  "dst": "10.24.50.20",
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Networking"
        ],
        "summary": "Update a CpeQos",
        "description": "Work with CpeQos.Update the CpeQos with the given ID.",
        "operationId": "UpdateaCpeQos",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID ofthe desired CpeQos.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  }
                },
                "example": {
                  "title": "Public router"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Networking"
        ],
        "summary": "Delete a CpeQos",
        "description": "Work with CpeQos.Delete the CpeQos with the given ID.",
        "operationId": "DeleteaCpeQos",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID ofthe desired CpeQos.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/cpe-dhcp/{id}": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "Retrieve a CpeDhcp",
        "description": "Work with CpeDhcp.Retrieves the CpeDhcp with the given ID.",
        "operationId": "RetrieveaCpeDhcp",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID ofthe desired CpeDhcp.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CpeDhcpResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "name": "cpedhcp 1",
                        "enabled": 1,
                        "interface": "wlan",
                        "lease_time": 10,
                        "network": "12.42.142.29",
                        "gateway": "15.32.15.241",
                        "pool_from": "14.144.41.152",
                        "pool_to": "52.14.16.145",
                        "dns_servers": "25.15.15.74,135.21.45.124",
                        "wins_server": "25.15.15.74,135.21.45.124"
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "name": "cpedhcp 1",
                  "enabled": 1,
                  "interface": "wlan",
                  "lease_time": 10,
                  "network": "12.42.142.29",
                  "gateway": "15.32.15.241",
                  "pool_from": "14.144.41.152",
                  "pool_to": "52.14.16.145",
                  "dns_servers": "25.15.15.74,135.21.45.124",
                  "wins_server": "25.15.15.74,135.21.45.124"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Networking"
        ],
        "summary": "Update a CpeDhcp",
        "description": "Work with CpeDhcp.Update the CpeDhcp with the given ID.",
        "operationId": "UpdateaCpeDhcp",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID ofthe desired CpeDhcp.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  }
                },
                "example": {
                  "name": "Public router"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/network-sites": {
      "post": {
        "tags": [
          "Networking"
        ],
        "summary": "Create Network site",
        "description": "Creates new Network site.",
        "operationId": "CreateNetworksite",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NetworksiteBase"
              },
              "example": {
                "title": "Alpha",
                "description": "Description",
                "address": "Big street 11-321",
                "gps": "50.10676296991858,14.445095658302305",
                "location_id": 1,
                "partners_ids": [
                  1,
                  2
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/NetworksiteId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "List all Network sites",
        "description": "Returns a list of your Network sites.",
        "operationId": "ListallNetworksites",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NetworksiteResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "title": "Alpha",
                      "description": "Description",
                      "address": "Big street 11-321",
                      "gps": "50.10676296991858,14.445095658302305",
                      "location_id": 1,
                      "partners_ids": [
                        1,
                        2
                      ],
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "title": "Alpha",
                    "description": "Description",
                    "address": "Big street 11-321",
                    "gps": "50.10676296991858,14.445095658302305",
                    "location_id": 1,
                    "partners_ids": [
                      1,
                      2
                    ],
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/network-sites/{id}": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "Retrieve Network site",
        "description": "Work with Network site.Retrieves the Network site with the given ID.",
        "operationId": "RetrieveNetworksite",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Network site.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/NetworksiteResponse"
                    },
                    {
                      "example": {
                        "title": "Alpha",
                        "description": "Description",
                        "address": "Big street 11-321",
                        "gps": "50.10676296991858,14.445095658302305",
                        "location_id": 1,
                        "partners_ids": [
                          1,
                          2
                        ],
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "title": "Alpha",
                  "description": "Description",
                  "address": "Big street 11-321",
                  "gps": "50.10676296991858,14.445095658302305",
                  "location_id": 1,
                  "partners_ids": [
                    1,
                    2
                  ],
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Networking"
        ],
        "summary": "Update Network site",
        "description": "Work with Network site.Update the Network site with the given ID.",
        "operationId": "UpdateNetworksite",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Network site.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateNetworksiterequest"
              },
              "example": {
                "title": "Network site 1",
                "description": "Network site description",
                "address": "Big street 11-321",
                "gps": "50.10676296991858,14.445095658302305",
                "location_id": "1"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Networking"
        ],
        "summary": "Delete Network site",
        "description": "Work with Network site.Delete the Network site with the given ID.",
        "operationId": "DeleteNetworksite",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Network site.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/network-site-photos": {
      "post": {
        "tags": [
          "Networking"
        ],
        "summary": "Upload a Network site photo",
        "description": "Uploads a photo for a Network site. Request must use `Content-Type: multipart/form-data` with two fields: `network_site_id` (integer, required) and `files` (the image file). Allowed file types: `image/png`, `image/gif`, `image/jpeg`, `image/heic`, `image/heif`. Access is partner-scoped — admins or API keys scoped to a single partner cannot upload to a multi-partner shared site.",
        "operationId": "UploadaNetworksitephoto",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "required": [
                  "network_site_id",
                  "files"
                ],
                "properties": {
                  "network_site_id": {
                    "type": "number",
                    "description": "ID of the Network site the photo is attached to.",
                    "example": 1
                  },
                  "files": {
                    "type": "string",
                    "format": "binary",
                    "description": "Image file to upload (PNG / GIF / JPEG / HEIC / HEIF)."
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/NetworksitephotoId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "List all Network site photos",
        "description": "Returns the list of Network site photos. The list is automatically scoped to the Network sites assigned to the requesting admin's partner — admins of one partner never see photos of Network sites that do not belong to their partner.<br>Use `network_site_id` to filter photos by a specific Network site<br>(GET params example: `?main_attributes[network_site_id]=5`).<br>More details about search by params you can find [here](/#introduction/search,-order,-limit,-and-offset).",
        "operationId": "ListallNetworksitephotos",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NetworksitephotoResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "network_site_id": 5,
                      "filename_original": "tower.png",
                      "filename_uploaded": "5f8a9c2b1d3e.png",
                      "created_at": "2026-05-12 14:54:15",
                      "updated_at": "2026-05-12 14:54:15",
                      "download_link": "https://yourdomain.splynx.com/files?id=a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6&type=network_sites_photos",
                      "thumbnail_link": "https://yourdomain.splynx.com/files--thumbnail?id=a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6&type=network_sites_photos",
                      "size": 245678
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "network_site_id": 5,
                    "filename_original": "tower.png",
                    "filename_uploaded": "5f8a9c2b1d3e.png",
                    "created_at": "2026-05-12 14:54:15",
                    "updated_at": "2026-05-12 14:54:15",
                    "download_link": "https://yourdomain.splynx.com/files?id=a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6&type=network_sites_photos",
                    "thumbnail_link": "https://yourdomain.splynx.com/files--thumbnail?id=a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6&type=network_sites_photos",
                    "size": 245678
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/network-site-photos/{id}": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "Retrieve a Network site photo",
        "description": "Returns a single Network site photo by ID. Returns `404` when no photo with the given ID exists. The response contains metadata and two public download URLs: `download_link` for the original image binary and `thumbnail_link` for the thumbnail (or `null` when no thumbnail has been generated).",
        "operationId": "RetrieveaNetworksitephoto",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Network site photo ID",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/NetworksitephotoResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "network_site_id": 5,
                        "filename_original": "tower.png",
                        "filename_uploaded": "5f8a9c2b1d3e.png",
                        "created_at": "2026-05-12 14:54:15",
                        "updated_at": "2026-05-12 14:54:15",
                        "download_link": "https://yourdomain.splynx.com/files?id=a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6&type=network_sites_photos",
                        "thumbnail_link": "https://yourdomain.splynx.com/files--thumbnail?id=a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6&type=network_sites_photos",
                        "size": 245678
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "network_site_id": 5,
                  "filename_original": "tower.png",
                  "filename_uploaded": "5f8a9c2b1d3e.png",
                  "created_at": "2026-05-12 14:54:15",
                  "updated_at": "2026-05-12 14:54:15",
                  "download_link": "https://yourdomain.splynx.com/files?id=a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6&type=network_sites_photos",
                  "thumbnail_link": "https://yourdomain.splynx.com/files--thumbnail?id=a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6&type=network_sites_photos",
                  "size": 245678
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Networking"
        ],
        "summary": "Delete a Network site photo",
        "description": "Deletes the Network site photo with the given ID and removes the underlying file. Access is partner-scoped — admins or API keys scoped to a single partner cannot delete photos of a multi-partner shared site.",
        "operationId": "DeleteaNetworksitephoto",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Network site photo ID",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/network-sites-documents": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "List Network site documents",
        "description": "List documents of a network site. Partner-scoped. Supports `order`, `limit`, `offset` and `search` filters.",
        "operationId": "ListNetworkSiteDocuments",
        "parameters": [
          {
            "name": "network_site_id",
            "in": "query",
            "description": "ID of the parent network site whose documents are returned.",
            "required": true,
            "schema": {
              "type": "integer",
              "example": 1
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "Map of `column => direction` (case-insensitive). Unknown columns or directions are silently dropped.\n- Columns: `id`, `hash_id`, `title`, `description`, `filename_original`, `thumbnail`, `created_at`, `updated_at`.\n- Directions: `ASC`, `DESC`.\n\nExample: `order[id]=DESC`.",
            "required": false,
            "schema": {
              "type": "object",
              "example": {
                "id": "DESC"
              }
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Max documents to return. Negative values clamped to 0.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "example": 20
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "Documents to skip. Negative values clamped to 0; out-of-range offset returns an empty list.",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0,
              "example": 0
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "Filter by attribute values nested under `main_attributes`. Supports standard API v2 operators (`LIKE`, `IN`, etc.).\n- Searchable: `title`, `description` (other keys silently dropped).\n- `network_site_id` cannot be widened via `search` — the controller always enforces the query-parameter value.\n\nExample: `search[main_attributes][title][0]=LIKE&search[main_attributes][title][1]=%25foo%25` (encode `%` as `%25`).",
            "required": false,
            "schema": {
              "type": "object",
              "example": {
                "main_attributes": {
                  "title": [
                    "LIKE",
                    "%blueprint%"
                  ]
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NetworkSiteDocumentResponse"
                  }
                },
                "example": [
                  {
                    "id": 10,
                    "type": "networking_network_sites_documents",
                    "hash_id": "c325fc52f5c4fe31f0940384599aafb2",
                    "filename_original": "site_blueprint.pdf",
                    "filename_uploaded": "c0adc27c4f4b1dfe",
                    "download_link": "/admin/download?module=networking_network_sites_documents&id=10",
                    "has_thumbnail": false,
                    "size": 228,
                    "thumbnail_link": ""
                  }
                ]
              }
            }
          },
          "422": {
            "description": "Validation error:\n- Missing — `network_site_id is required.`\n- Non-integer — `network_site_id must be an integer.`\n- Non-existent — `Invalid network site id #{id}!`"
          },
          "405": {
            "description": "Cross-partner access — admin/API key of another partner."
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Networking"
        ],
        "summary": "Add Network site document(s)",
        "description": "Upload document(s) to a network site. Two modes — multipart (default) and chunked (when the `Content-Range` header is set).\n\n**Common rules**\n- Allowed extensions: `doc`, `docx`, `txt`, `pdf`, `rtf`.\n- Max size: 50 MB per file.\n\n**Multipart**\n- Body: `files[]` + `network_site_id`.\n- All-or-nothing: if any file fails MIME/size validation, nothing is committed.\n\n**Chunked** (`Content-Range: bytes {start}-{end}/{total}`)\n- Body per chunk: `file` (chunk bytes) + `hash` (session id, same across all chunks of one file). `network_site_id` only on the first chunk; subsequent chunks load it from the session.\n- Chunks must arrive in order: first chunk `start = 0`, each next chunk `start = size of assembled file on disk`. Out-of-order chunks abort the upload and clean up the session.\n- Upfront `total > 50 MB` is rejected before the first byte is written.\n- The final chunk runs full MIME/size re-validation on the assembled file.\n- Intermediate chunks → `200 {\"result\": true}`; final chunk → `201` with one `NetworkSiteDocumentResponse`.",
        "operationId": "AddNetworkSiteDocument",
        "parameters": [
          {
            "name": "Content-Range",
            "in": "header",
            "description": "Set to switch to chunked mode. Format: `bytes {start}-{end}/{total}`. Malformed values → `422`.",
            "required": false,
            "schema": {
              "type": "string",
              "example": "bytes 0-1048575/3145529"
            }
          }
        ],
        "requestBody": {
          "description": "Form fields:\n- Multipart: `network_site_id` + `files[]`.\n- Chunked: `network_site_id` (first chunk only) + `file` + `hash` + `Content-Range` header.",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/NetworkSiteDocumentAdd"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Chunked: intermediate chunk acknowledged.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "boolean",
                      "example": true
                    }
                  }
                },
                "example": {
                  "result": true
                }
              }
            }
          },
          "201": {
            "description": "Multipart → `{\"files\": [...]}`. Chunked (final chunk) → single document object.",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "files": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/NetworkSiteDocumentResponse"
                          }
                        }
                      }
                    },
                    {
                      "$ref": "#/components/schemas/NetworkSiteDocumentResponse"
                    }
                  ]
                },
                "example": {
                  "files": [
                    {
                      "id": 10,
                      "type": "networking_network_sites_documents",
                      "hash_id": "c325fc52f5c4fe31f0940384599aafb2",
                      "filename_original": "site_blueprint.pdf",
                      "filename_uploaded": "c0adc27c4f4b1dfe",
                      "download_link": "/admin/download?module=networking_network_sites_documents&id=10",
                      "has_thumbnail": false,
                      "size": 228,
                      "thumbnail_link": ""
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Chunked: upload session points to a deleted document (orphan session row is purged)."
          },
          "422": {
            "description": "Validation error. Possible reasons:\n- Either mode: missing `network_site_id` (`network_site_id is required.`); non-integer `network_site_id` (`network_site_id must be an integer.`); non-existent `network_site_id` (`Invalid network site id #{id}!`); invalid MIME / oversize file.\n- Multipart only: empty `files[]` (`File(s) must be set`).\n- Chunked only: missing `hash` (`Hash is required for chunked upload`); malformed `Content-Range`; `total > 50 MB`; out-of-order chunk (`Chunk out of order: expected start {expected}, got {got}.`)."
          },
          "405": {
            "description": "Cross-partner access — admin/API key of another partner."
          }
        },
        "deprecated": false
      }
    },
    "/admin/networking/network-sites-documents/{id}": {
      "get": {
        "tags": [
          "Networking"
        ],
        "summary": "Retrieve Network site document",
        "description": "Retrieve a single network site document by ID. Partner-scoped.",
        "operationId": "RetrieveNetworkSiteDocument",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Document primary key.",
            "required": true,
            "schema": {
              "type": "integer",
              "example": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkSiteDocumentResponse"
                },
                "example": {
                  "id": 10,
                  "type": "networking_network_sites_documents",
                  "hash_id": "c325fc52f5c4fe31f0940384599aafb2",
                  "filename_original": "site_blueprint.pdf",
                  "filename_uploaded": "c0adc27c4f4b1dfe",
                  "download_link": "/admin/download?module=networking_network_sites_documents&id=10",
                  "has_thumbnail": false,
                  "size": 228,
                  "thumbnail_link": ""
                }
              }
            }
          },
          "404": {
            "description": "Document with the given ID does not exist."
          },
          "405": {
            "description": "Cross-partner access — admin/API key of another partner."
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Networking"
        ],
        "summary": "Delete Network site document",
        "description": "Delete a network site document by ID. Partner-scoped.",
        "operationId": "DeleteNetworkSiteDocument",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Document primary key.",
            "required": true,
            "schema": {
              "type": "integer",
              "example": 10
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Deleted (empty body)."
          },
          "404": {
            "description": "Document with the given ID does not exist."
          },
          "405": {
            "description": "Cross-partner access — admin/API key of another partner."
          }
        },
        "deprecated": false
      }
    },
    "/admin/support/tickets": {
      "post": {
        "tags": [
          "Support"
        ],
        "summary": "Create a Ticket",
        "description": "Creates a new Ticket.",
        "operationId": "CreateaTicket",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/TicketBaseCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TicketId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Support"
        ],
        "summary": "List all Tickets",
        "description": "Returns a list of your Tickets.",
        "operationId": "ListallTickets",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TicketResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "customer_id": 1,
                      "incoming_customer_id": 2,
                      "reporter_id": 1,
                      "reporter_type": "admin",
                      "hidden": false,
                      "assign_to": 0,
                      "status_id": 1,
                      "group_id": 3,
                      "type_id": 2,
                      "task_id": 1,
                      "subject": "Ticket subject",
                      "priority": "medium",
                      "star": false,
                      "unread_by_customer": false,
                      "unread_by_admin": false,
                      "closed": false,
                      "created_at": "2018-11-09 10:28:34",
                      "updated_at": "2018-12-12 14:22:49",
                      "source": "administration",
                      "trash": 0,
                      "shareable": 1,
                      "note": "Note message",
                      "watching": 1,
                      "related_account_id": 0,
                      "related_account_type": "none",
                      "hidden_from_related_account": 0,
                      "unread_by_related_account": 1,
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "customer_id": 1,
                    "incoming_customer_id": 2,
                    "reporter_id": 1,
                    "reporter_type": "admin",
                    "hidden": false,
                    "assign_to": 0,
                    "status_id": 1,
                    "group_id": 3,
                    "type_id": 2,
                    "task_id": 1,
                    "subject": "Ticket subject",
                    "priority": "medium",
                    "star": false,
                    "unread_by_customer": false,
                    "unread_by_admin": false,
                    "closed": false,
                    "created_at": "2018-11-09 10:28:34",
                    "updated_at": "2018-12-12 14:22:49",
                    "source": "administration",
                    "trash": 0,
                    "shareable": 1,
                    "note": "Note message",
                    "watching": 1,
                    "related_account_id": 0,
                    "related_account_type": "none",
                    "hidden_from_related_account": 0,
                    "unread_by_related_account": 1,
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/support/tickets/{id}": {
      "get": {
        "tags": [
          "Support"
        ],
        "summary": "Retrieve a Ticket",
        "description": "Work with Tickets.Retrieves the Ticket with the given ID.",
        "operationId": "RetrieveaTicket",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Ticket.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TicketResponse"
                    },
                    {
                      "example": {
                        "customer_id": 1,
                        "incoming_customer_id": 2,
                        "reporter_id": 1,
                        "reporter_type": "admin",
                        "hidden": false,
                        "assign_to": 0,
                        "status_id": 1,
                        "group_id": 3,
                        "type_id": 2,
                        "task_id": 1,
                        "subject": "Ticket subject",
                        "priority": "medium",
                        "star": false,
                        "unread_by_customer": false,
                        "unread_by_admin": false,
                        "closed": false,
                        "created_at": "2018-11-09 10:28:34",
                        "updated_at": "2018-12-12 14:22:49",
                        "source": "administration",
                        "trash": 0,
                        "shareable": 1,
                        "note": "Note message",
                        "watching": 1,
                        "related_account_id": 0,
                        "related_account_type": "none",
                        "hidden_from_related_account": 0,
                        "unread_by_related_account": 1,
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "customer_id": 1,
                  "incoming_customer_id": 2,
                  "reporter_id": 1,
                  "reporter_type": "admin",
                  "hidden": false,
                  "assign_to": 0,
                  "status_id": 1,
                  "group_id": 3,
                  "type_id": 2,
                  "task_id": 1,
                  "subject": "Ticket subject",
                  "priority": "medium",
                  "star": false,
                  "unread_by_customer": false,
                  "unread_by_admin": false,
                  "closed": false,
                  "created_at": "2018-11-09 10:28:34",
                  "updated_at": "2018-12-12 14:22:49",
                  "source": "administration",
                  "trash": 0,
                  "shareable": 1,
                  "note": "Note message",
                  "watching": 1,
                  "related_account_id": 0,
                  "related_account_type": "none",
                  "hidden_from_related_account": 0,
                  "unread_by_related_account": 1,
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Support"
        ],
        "summary": "Update a Ticket",
        "description": "Work with Tickets. Update the Ticket with the given ID.",
        "operationId": "UpdateaTicket",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Ticket.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateaTicketrequest"
              },
              "examples": {
                "renameSubject": {
                  "summary": "Update subject",
                  "value": {
                    "subject": "Better subject"
                  }
                },
                "closeWithoutNotification": {
                  "summary": "Close ticket without notifying customer/admin",
                  "value": {
                    "status": "closed",
                    "preventNotification": true
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Support"
        ],
        "summary": "Delete a Ticket",
        "description": "Work with Tickets.Delete the Ticket with the given ID.",
        "operationId": "DeleteaTicket",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Ticket.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/support/ticket-messages": {
      "post": {
        "tags": [
          "Support"
        ],
        "summary": "Create a Ticket message",
        "description": "Creates a new Ticket message.",
        "operationId": "CreateaTicketmessage",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/TicketMessageBase"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TicketMessageId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Support"
        ],
        "summary": "List all Tickets messages",
        "description": "Returns a list of your Tickets messages.",
        "operationId": "ListallTicketsmessages",
        "parameters": [
          {
            "name": "files_with_content",
            "in": "query",
            "description": "Get files with content",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TicketMessageResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "ticket_id": 1,
                      "customer_id": 2,
                      "incoming_customer_id": 0,
                      "admin_id": 1,
                      "api_id": 0,
                      "source": "administration",
                      "date": "2021-01-10",
                      "time": "14:35:22",
                      "message": "Message content",
                      "rawMessage": "<i>Message content</i>",
                      "files": [
                        {
                          "id": 199,
                          "type": "ticket_attachment",
                          "filename_original": "ticket_file.txt",
                          "filename_uploaded": "/var/www/splynx/uploads/ticket_attachment/2018-12/bf932f8491852129",
                          "content_type": "text/plain",
                          "content": "bHNmamFsc2tkamZsa2FqZGZsYWoK",
                          "download_link": "https://yourdomain/a",
                          "has_thumbnail": true,
                          "thumbnail_link": "https://yourdomain/b"
                        }
                      ],
                      "is_merged": false,
                      "can_be_deleted": true,
                      "hide_for_customer": false,
                      "mail_to": "client@example.com",
                      "smsTo": [
                        "+120501234567",
                        "+120501234568"
                      ],
                      "mail_cc": "",
                      "mail_bcc": "",
                      "author_type": "admin",
                      "id": 1,
                      "message_type": "message",
                      "author_name": "John Doe"
                    }
                  ]
                },
                "example": [
                  {
                    "ticket_id": 1,
                    "customer_id": 2,
                    "incoming_customer_id": 0,
                    "admin_id": 1,
                    "api_id": 0,
                    "source": "administration",
                    "date": "2021-01-10",
                    "time": "14:35:22",
                    "message": "Message content",
                    "rawMessage": "<i>Message content</i>",
                    "files": [
                      {
                        "id": 199,
                        "type": "ticket_attachment",
                        "filename_original": "ticket_file.txt",
                        "filename_uploaded": "/var/www/splynx/uploads/ticket_attachment/2018-12/bf932f8491852129",
                        "content_type": "text/plain",
                        "content": "bHNmamFsc2tkamZsa2FqZGZsYWoK",
                        "download_link": "https://yourdomain/a",
                        "has_thumbnail": true,
                        "thumbnail_link": "https://yourdomain/b"
                      }
                    ],
                    "is_merged": false,
                    "can_be_deleted": true,
                    "hide_for_customer": false,
                    "mail_to": "client@example.com",
                    "smsTo": [
                      "+120501234567",
                      "+120501234568"
                    ],
                    "mail_cc": "",
                    "mail_bcc": "",
                    "author_type": "admin",
                    "id": 1,
                    "message_type": "message",
                    "author_name": "John Doe"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/support/ticket-messages/{id}": {
      "get": {
        "tags": [
          "Support"
        ],
        "summary": "Retrieve a Ticket message",
        "description": "Work with Tickets messages.Retrieves the Ticket message with the given ID.",
        "operationId": "RetrieveaTicketmessage",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Ticket message.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "files_with_content",
            "in": "query",
            "description": "Get files with content",
            "required": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TicketMessageResponse"
                    },
                    {
                      "example": {
                        "ticket_id": 1,
                        "customer_id": 2,
                        "incoming_customer_id": 0,
                        "admin_id": 1,
                        "api_id": 0,
                        "source": "administration",
                        "date": "2021-01-10",
                        "time": "14:35:22",
                        "message": "Message content",
                        "rawMessage": "<i>Message content</i>",
                        "files": [
                          {
                            "id": 199,
                            "type": "ticket_attachment",
                            "filename_original": "ticket_file.txt",
                            "filename_uploaded": "/var/www/splynx/uploads/ticket_attachment/2018-12/bf932f8491852129",
                            "content_type": "text/plain",
                            "content": "bHNmamFsc2tkamZsa2FqZGZsYWoK",
                            "download_link": "https://yourdomain/a",
                            "has_thumbnail": true,
                            "thumbnail_link": "https://yourdomain/b"
                          }
                        ],
                        "is_merged": false,
                        "can_be_deleted": true,
                        "hide_for_customer": false,
                        "mail_to": "client@example.com",
                        "smsTo": [
                          "+120501234567",
                          "+120501234568"
                        ],
                        "mail_cc": "",
                        "mail_bcc": "",
                        "author_type": "admin",
                        "id": 1,
                        "message_type": "message",
                        "author_name": "John Doe"
                      }
                    }
                  ]
                },
                "example": {
                  "ticket_id": 1,
                  "customer_id": 2,
                  "incoming_customer_id": 0,
                  "admin_id": 1,
                  "api_id": 0,
                  "source": "administration",
                  "date": "2021-01-10",
                  "time": "14:35:22",
                  "message": "Message content",
                  "rawMessage": "<i>Message content</i>",
                  "files": [
                    {
                      "id": 199,
                      "type": "ticket_attachment",
                      "filename_original": "ticket_file.txt",
                      "filename_uploaded": "/var/www/splynx/uploads/ticket_attachment/2018-12/bf932f8491852129",
                      "content_type": "text/plain",
                      "content": "bHNmamFsc2tkamZsa2FqZGZsYWoK",
                      "download_link": "https://yourdomain/a",
                      "has_thumbnail": true,
                      "thumbnail_link": "https://yourdomain/b"
                    }
                  ],
                  "is_merged": false,
                  "can_be_deleted": true,
                  "hide_for_customer": false,
                  "mail_to": "client@example.com",
                  "smsTo": [
                    "+120501234567",
                    "+120501234568"
                  ],
                  "mail_cc": "",
                  "mail_bcc": "",
                  "author_type": "admin",
                  "id": 1,
                  "message_type": "message",
                  "author_name": "John Doe"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Support"
        ],
        "summary": "Update a Ticket message",
        "description": "Work with Tickets messages.Update the Ticket message with the given ID.",
        "operationId": "UpdateaTicketmessage",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Ticket message.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateaTicketmessagerequest"
              },
              "example": {
                "message": "Better message"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Support"
        ],
        "summary": "Delete a Ticket message",
        "description": "Work with Tickets messages.Delete the Ticket message with the given ID.",
        "operationId": "DeleteaTicketmessage",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Ticket message.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/support/tickets-statuses": {
      "get": {
        "tags": [
          "Support"
        ],
        "summary": "List all Tickets statuses",
        "description": "Returns a list of your Tickets statuses.",
        "operationId": "ListallTicketsstatuses",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TicketStatusResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "title_for_agent": "ticket_agent_status",
                      "title_for_customer": "ticket_customer_status",
                      "label": "success",
                      "mark": [
                        "open",
                        "unresolved",
                        "closed"
                      ],
                      "icon": "fa-tasks",
                      "view_on_dashboard": true,
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "title_for_agent": "ticket_agent_status",
                    "title_for_customer": "ticket_customer_status",
                    "label": "success",
                    "mark": [
                      "open",
                      "unresolved",
                      "closed"
                    ],
                    "icon": "fa-tasks",
                    "view_on_dashboard": true,
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/support/tickets-statuses/{id}": {
      "get": {
        "tags": [
          "Support"
        ],
        "summary": "Retrieve a Ticket Status",
        "description": "Work with Tickets status.Retrieves the Ticket status with the given ID.",
        "operationId": "RetrieveaTicketStatus",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Ticket status.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TicketStatusResponse"
                    },
                    {
                      "example": {
                        "title_for_agent": "ticket_agent_status",
                        "title_for_customer": "ticket_customer_status",
                        "label": "success",
                        "mark": [
                          "open",
                          "unresolved",
                          "closed"
                        ],
                        "icon": "fa-tasks",
                        "view_on_dashboard": true,
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "title_for_agent": "ticket_agent_status",
                  "title_for_customer": "ticket_customer_status",
                  "label": "success",
                  "mark": [
                    "open",
                    "unresolved",
                    "closed"
                  ],
                  "icon": "fa-tasks",
                  "view_on_dashboard": true,
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/support/tickets-groups": {
      "get": {
        "tags": [
          "Support"
        ],
        "summary": "List all Tickets groups",
        "description": "Returns a list of your Tickets groups.",
        "operationId": "ListallTicketsgroups",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TicketGroupResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 32,
                      "title": "Alpha",
                      "description": "Description",
                      "agent_ids": [
                        "1",
                        "2"
                      ]
                    }
                  ]
                },
                "example": [
                  {
                    "id": 32,
                    "title": "Alpha",
                    "description": "Description",
                    "agent_ids": [
                      "1",
                      "2"
                    ]
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/support/tickets-groups/{id}": {
      "get": {
        "tags": [
          "Support"
        ],
        "summary": "Retrieve a Ticket Group",
        "description": "Work with Tickets group.Retrieves the Ticket group with the given ID.",
        "operationId": "RetrieveaTicketGroup",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Ticket group.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TicketGroupResponse"
                    },
                    {
                      "example": {
                        "id": 32,
                        "title": "Alpha",
                        "description": "Description",
                        "agent_ids": [
                          "1",
                          "2"
                        ]
                      }
                    }
                  ]
                },
                "example": {
                  "id": 32,
                  "title": "Alpha",
                  "description": "Description",
                  "agent_ids": [
                    "1",
                    "2"
                  ]
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/support/tickets-types": {
      "get": {
        "tags": [
          "Support"
        ],
        "summary": "List all Tickets types",
        "description": "Returns a list of your Tickets types.",
        "operationId": "ListallTicketstypes",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TicketTypeResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 32,
                      "title": "Alpha",
                      "background_color": "null"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 32,
                    "title": "Alpha",
                    "background_color": "null"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/support/tickets-types/{id}": {
      "get": {
        "tags": [
          "Support"
        ],
        "summary": "Retrieve a Ticket Type",
        "description": "Work with Tickets type.Retrieves the Ticket type with the given ID.",
        "operationId": "RetrieveaTicketType",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Ticket type.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TicketTypeResponse"
                    },
                    {
                      "example": {
                        "id": 32,
                        "title": "Alpha",
                        "background_color": "null"
                      }
                    }
                  ]
                },
                "example": {
                  "id": 32,
                  "title": "Alpha",
                  "background_color": "null"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/support/ticket-attachments": {
      "get": {
        "tags": [
          "Support"
        ],
        "summary": "List all Tickets attachments",
        "description": "Work with Ticket Attachments.Returns a list of your Tickets attachments.",
        "operationId": "ListallTicketsattachments",
        "parameters": [
          {
            "name": "with_content",
            "in": "query",
            "description": "If 1 then attachments will be returned with content",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TicketAttachmentResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 32,
                      "type": "ticket_attachment",
                      "filename_original": "rates.csv",
                      "filename_uploaded": "0d76e3bfce7f60fb",
                      "message_id": 123,
                      "content_type": "text/plain",
                      "content": "VBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlIC9QYWdlC...",
                      "download_link": "https://yourdomain/a",
                      "has_thumbnail": true,
                      "thumbnail_link": "https://yourdomain/b"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 32,
                    "type": "ticket_attachment",
                    "filename_original": "rates.csv",
                    "filename_uploaded": "0d76e3bfce7f60fb",
                    "message_id": 123,
                    "content_type": "text/plain",
                    "content": "VBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlIC9QYWdlC...",
                    "download_link": "https://yourdomain/a",
                    "has_thumbnail": true,
                    "thumbnail_link": "https://yourdomain/b"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Support"
        ],
        "summary": "Create a Ticket attachment",
        "description": "Work with Ticket Attachments.Creates a new Ticket attachment.",
        "operationId": "CreateaTicketattachment",
        "parameters": [
          {
            "name": "with_content",
            "in": "query",
            "description": "If 1 then attachments will be returned with content",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "message_id",
            "in": "query",
            "description": "ID of the Ticket message",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 11
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/TicketAttachmentCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CreateaTicketattachmentresponse"
                    },
                    {
                      "example": {
                        "attachments": [
                          293,
                          294
                        ]
                      }
                    }
                  ]
                },
                "example": {
                  "attachments": [
                    293,
                    294
                  ]
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/support/ticket-attachments/{id}": {
      "get": {
        "tags": [
          "Support"
        ],
        "summary": "Reatrieve a Ticket attachment",
        "description": "Work with Ticket Attachments.Retrieves the Ticket attachment with the given ID.",
        "operationId": "ReatrieveaTicketattachment",
        "parameters": [
          {
            "name": "with_content",
            "in": "query",
            "description": "If 1 then attachments will be returned with content",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID of the desired attachment",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 234
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TicketAttachmentResponse"
                    },
                    {
                      "example": {
                        "id": 32,
                        "type": "ticket_attachment",
                        "filename_original": "rates.csv",
                        "filename_uploaded": "0d76e3bfce7f60fb",
                        "message_id": 123,
                        "content_type": "text/plain",
                        "content": "VBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlIC9QYWdlC...",
                        "download_link": "https://yourdomain/a",
                        "has_thumbnail": true,
                        "thumbnail_link": "https://yourdomain/b"
                      }
                    }
                  ]
                },
                "example": {
                  "id": 32,
                  "type": "ticket_attachment",
                  "filename_original": "rates.csv",
                  "filename_uploaded": "0d76e3bfce7f60fb",
                  "message_id": 123,
                  "content_type": "text/plain",
                  "content": "VBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlIC9QYWdlC...",
                  "download_link": "https://yourdomain/a",
                  "has_thumbnail": true,
                  "thumbnail_link": "https://yourdomain/b"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Support"
        ],
        "summary": "Delete a Ticket attachment",
        "description": "Work with Ticket Attachments.Delete the Ticket attachment with the given ID.",
        "operationId": "DeleteaTicketattachment",
        "parameters": [
          {
            "name": "with_content",
            "in": "query",
            "description": "If 1 then attachments will be returned with content",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "ID of the Ticket attachment",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 243
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/support/ticket-feedbacks": {
      "get": {
        "tags": [
          "Support"
        ],
        "summary": "List all ticket feedbacks",
        "description": "Returns a list of your ticket feedbacks.",
        "operationId": "Listallticketfeedbacks",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TicketfeedbacksResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "ticket_id": 1,
                      "form": 1,
                      "content": 0,
                      "feedback": 0,
                      "timing": 0,
                      "archived": 0,
                      "comment": "new item"
                    }
                  ]
                },
                "example": [
                  {
                    "ticket_id": 1,
                    "form": 1,
                    "content": 0,
                    "feedback": 0,
                    "timing": 0,
                    "archived": 0,
                    "comment": "new item"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Support"
        ],
        "summary": "Create ticket feedbacks",
        "description": "Create ticket feedbacks.",
        "operationId": "Createticketfeedbacks",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TicketfeedbacksResponse"
                },
                "description": "",
                "example": [
                  {
                    "ticket_id": 1,
                    "form": 1,
                    "content": 0,
                    "feedback": 0,
                    "timing": 0,
                    "archived": 0,
                    "comment": "new item"
                  }
                ]
              },
              "example": [
                {
                  "ticket_id": 1,
                  "form": 1,
                  "content": 0,
                  "feedback": 0,
                  "timing": 0,
                  "archived": 0,
                  "comment": "new item"
                }
              ]
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TicketfeedbacksResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "ticket_id": 1,
                      "form": 1,
                      "content": 0,
                      "feedback": 0,
                      "timing": 0,
                      "archived": 0,
                      "comment": "new item"
                    }
                  ]
                },
                "example": [
                  {
                    "ticket_id": 1,
                    "form": 1,
                    "content": 0,
                    "feedback": 0,
                    "timing": 0,
                    "archived": 0,
                    "comment": "new item"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/support/ticket-feedbacks/{id}": {
      "get": {
        "tags": [
          "Support"
        ],
        "summary": "Retrieve a ticket feedbacks",
        "description": "Work with ticket feedbacks.Retrieves the ticket feedbacks with the given ID.",
        "operationId": "Retrieveaticketfeedbacks",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired ticket feedbacks.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TicketfeedbacksResponse"
                    },
                    {
                      "example": {
                        "ticket_id": 1,
                        "form": 1,
                        "content": 0,
                        "feedback": 0,
                        "timing": 0,
                        "archived": 0,
                        "comment": "new item"
                      }
                    }
                  ]
                },
                "example": {
                  "ticket_id": 1,
                  "form": 1,
                  "content": 0,
                  "feedback": 0,
                  "timing": 0,
                  "archived": 0,
                  "comment": "new item"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Support"
        ],
        "summary": "Update a ticket feedbacks",
        "description": "Work with ticket feedbacks.Update the ticket feedbacks with the given ID.",
        "operationId": "Updateaticketfeedbacks",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired ticket feedbacks.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Updateaticketfeedbacksrequest"
              },
              "example": {
                "comment": "new text"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Support"
        ],
        "summary": "Delete a ticket feedbacks",
        "description": "Work with ticket feedbacks.Delete the ticket feedbacks  with the given ID.",
        "operationId": "Deleteaticketfeedbacks",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired ticket feedbacks.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/scheduling/projects": {
      "post": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Create Project",
        "description": "Create a new Project.",
        "operationId": "CreateProject",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectBase"
              },
              "example": {
                "title": "Scheduling project 1",
                "description": "My new project",
                "type_id": 1,
                "lead_id": 1,
                "category_id": 1,
                "workflow_id": 1,
                "is_archive": 0,
                "partner_ids": [
                  1,
                  2
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ProjectId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Scheduling"
        ],
        "summary": "List all Projects",
        "description": "Return a list of your Projects.",
        "operationId": "ListallProjects",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProjectsResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "title": "Scheduling project 1",
                      "description": "My new project",
                      "type_id": 1,
                      "lead_id": 1,
                      "category_id": 1,
                      "workflow_id": 1,
                      "is_archive": 0,
                      "partner_ids": [
                        1,
                        2
                      ],
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "title": "Scheduling project 1",
                    "description": "My new project",
                    "type_id": 1,
                    "lead_id": 1,
                    "category_id": 1,
                    "workflow_id": 1,
                    "is_archive": 0,
                    "partner_ids": [
                      1,
                      2
                    ],
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/scheduling/projects/{id}": {
      "get": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Retrieve Project",
        "description": "Work with a Project.Retrieve a Project with the given ID.",
        "operationId": "RetrieveProject",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Project.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ProjectsResponse"
                    },
                    {
                      "example": {
                        "title": "Scheduling project 1",
                        "description": "My new project",
                        "type_id": 1,
                        "lead_id": 1,
                        "category_id": 1,
                        "workflow_id": 1,
                        "is_archive": 0,
                        "partner_ids": [
                          1,
                          2
                        ],
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "title": "Scheduling project 1",
                  "description": "My new project",
                  "type_id": 1,
                  "lead_id": 1,
                  "category_id": 1,
                  "workflow_id": 1,
                  "is_archive": 0,
                  "partner_ids": [
                    1,
                    2
                  ],
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Update Project",
        "description": "Work with a Project.Update a Project with the given ID.",
        "operationId": "UpdateProject",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Project.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProjectrequest"
              },
              "example": {
                "title": "Scheduling project 2"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Delete Project",
        "description": "Work with a Project.Delete a Project with the given ID.",
        "operationId": "DeleteProject",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Project.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/scheduling/tasks": {
      "post": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Create Task",
        "description": "Create a new Task.",
        "operationId": "CreateTask",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TaskBase"
              },
              "example": {
                "title": "Scheduling task 1",
                "description": "My new project",
                "reporter_id": 1,
                "address": "3rd Street 2345",
                "gps": "50.10676296991858,14.445095658302305",
                "related_customer_id": 1,
                "related_lead_id": 0,
                "resolved_at": "2019-05-16 20:00:55",
                "partner_id": 1,
                "project_id": 1,
                "location_id": 1,
                "related_to_id": 1,
                "related_service_id": 1,
                "related_service_type": "internet",
                "created_at": "2019-05-16 17:00:55",
                "updated_at": "2019-05-16 20:00:55",
                "priority": "priority_medium",
                "assigned_to": "assigned_to_anyone",
                "assignee": 1,
                "assigned_at": "2024-11-04 16:33:18",
                "is_scheduled": true,
                "scheduled_from": "2019-05-16 18:00:55",
                "formatted_duration": "1h 25m",
                "checklist_template_id": 1,
                "workflow_status_id": 1,
                "is_archived": 0,
                "createdFromTicket": true,
                "task_labels": [
                  1,
                  2
                ],
                "related_ticket_info": {
                  "ticket_id": 1,
                  "ticket_subject": "Ticket subject"
                },
                "travel_time_to": 0,
                "travel_time_from": 0,
                "closed": 0,
                "notification_send_interval": 0,
                "notification_enabled": "1",
                "remaining": 0,
                "last_status_changed": "2024-04-15 11:06:45",
                "watchers": [
                  10,
                  11
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TaskId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Scheduling"
        ],
        "summary": "List all Tasks",
        "description": "Return a list of your Tasks.",
        "operationId": "ListallTasks",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TasksResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "title": "Scheduling task 1",
                      "description": "My new project",
                      "reporter_id": 1,
                      "address": "3rd Street 2345",
                      "gps": "50.10676296991858,14.445095658302305",
                      "related_customer_id": 1,
                      "related_lead_id": 0,
                      "resolved_at": "2019-05-16 20:00:55",
                      "partner_id": 1,
                      "project_id": 1,
                      "location_id": 1,
                      "related_to_id": 1,
                      "related_service_id": 1,
                      "related_service_type": "internet",
                      "created_at": "2019-05-16 17:00:55",
                      "updated_at": "2019-05-16 20:00:55",
                      "priority": "priority_medium",
                      "assigned_to": "assigned_to_anyone",
                      "assignee": 1,
                      "assigned_at": "2024-11-04 16:33:18",
                      "is_scheduled": true,
                      "scheduled_from": "2019-05-16 18:00:55",
                      "formatted_duration": "1h 25m",
                      "checklist_template_id": 1,
                      "workflow_status_id": 1,
                      "is_archived": 0,
                      "createdFromTicket": true,
                      "task_labels": [
                        1,
                        2
                      ],
                      "related_ticket_info": {
                        "ticket_id": 1,
                        "ticket_subject": "Ticket subject"
                      },
                      "travel_time_to": 0,
                      "travel_time_from": 0,
                      "closed": 0,
                      "notification_send_interval": 0,
                      "notification_enabled": "1",
                      "remaining": 0,
                      "last_status_changed": "2024-04-15 11:06:45",
                      "watchers": [
                        10,
                        11
                      ],
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "title": "Scheduling task 1",
                    "description": "My new project",
                    "reporter_id": 1,
                    "address": "3rd Street 2345",
                    "gps": "50.10676296991858,14.445095658302305",
                    "related_customer_id": 1,
                    "related_lead_id": 0,
                    "resolved_at": "2019-05-16 20:00:55",
                    "partner_id": 1,
                    "project_id": 1,
                    "location_id": 1,
                    "related_to_id": 1,
                    "related_service_id": 1,
                    "related_service_type": "internet",
                    "created_at": "2019-05-16 17:00:55",
                    "updated_at": "2019-05-16 20:00:55",
                    "priority": "priority_medium",
                    "assigned_to": "assigned_to_anyone",
                    "assignee": 1,
                    "assigned_at": "2024-11-04 16:33:18",
                    "is_scheduled": true,
                    "scheduled_from": "2019-05-16 18:00:55",
                    "formatted_duration": "1h 25m",
                    "checklist_template_id": 1,
                    "workflow_status_id": 1,
                    "is_archived": 0,
                    "createdFromTicket": true,
                    "task_labels": [
                      1,
                      2
                    ],
                    "related_ticket_info": {
                      "ticket_id": 1,
                      "ticket_subject": "Ticket subject"
                    },
                    "travel_time_to": 0,
                    "travel_time_from": 0,
                    "closed": 0,
                    "notification_send_interval": 0,
                    "notification_enabled": "1",
                    "remaining": 0,
                    "last_status_changed": "2024-04-15 11:06:45",
                    "watchers": [
                      10,
                      11
                    ],
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/scheduling/tasks/{id}": {
      "get": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Retrieve Task",
        "description": "Work with a Task.Retrieve a Task with the given ID.\n\nFor `File`-type additional fields, the response includes the object `additional_attributes.<field_name>` with `api_url`, `web_url`, `filename` and `download_link`. `download_link` is an absolute URL signed by `hash`+`time` query parameters and can be opened directly to fetch the file without a session/access token (useful for previews on mobile clients).\n\nFile uploads into `File`-type additional fields are done via a separate `POST /admin/scheduling/tasks/{id}--upload` request with `multipart/form-data`, because PUT does not support file uploads in PHP.",
        "operationId": "RetrieveTask",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Task.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TasksResponse"
                    },
                    {
                      "example": {
                        "title": "Scheduling task 1",
                        "description": "My new project",
                        "reporter_id": 1,
                        "address": "3rd Street 2345",
                        "gps": "50.10676296991858,14.445095658302305",
                        "related_customer_id": 1,
                        "related_lead_id": 0,
                        "resolved_at": "2019-05-16 20:00:55",
                        "partner_id": 1,
                        "project_id": 1,
                        "location_id": 1,
                        "related_to_id": 1,
                        "related_service_id": 1,
                        "related_service_type": "internet",
                        "created_at": "2019-05-16 17:00:55",
                        "updated_at": "2019-05-16 20:00:55",
                        "priority": "priority_medium",
                        "assigned_to": "assigned_to_anyone",
                        "assignee": 1,
                        "assigned_at": "2024-11-04 16:33:18",
                        "is_scheduled": true,
                        "scheduled_from": "2019-05-16 18:00:55",
                        "formatted_duration": "1h 25m",
                        "checklist_template_id": 1,
                        "workflow_status_id": 1,
                        "is_archived": 0,
                        "createdFromTicket": true,
                        "task_labels": [
                          1,
                          2
                        ],
                        "related_ticket_info": {
                          "ticket_id": 1,
                          "ticket_subject": "Ticket subject"
                        },
                        "travel_time_to": 0,
                        "travel_time_from": 0,
                        "closed": 0,
                        "notification_send_interval": 0,
                        "notification_enabled": "1",
                        "remaining": 0,
                        "last_status_changed": "2024-04-15 11:06:45",
                        "watchers": [
                          10,
                          11
                        ],
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "title": "Scheduling task 1",
                  "description": "My new project",
                  "reporter_id": 1,
                  "address": "3rd Street 2345",
                  "gps": "50.10676296991858,14.445095658302305",
                  "related_customer_id": 1,
                  "related_lead_id": 0,
                  "resolved_at": "2019-05-16 20:00:55",
                  "partner_id": 1,
                  "project_id": 1,
                  "location_id": 1,
                  "related_to_id": 1,
                  "related_service_id": 1,
                  "related_service_type": "internet",
                  "created_at": "2019-05-16 17:00:55",
                  "updated_at": "2019-05-16 20:00:55",
                  "priority": "priority_medium",
                  "assigned_to": "assigned_to_anyone",
                  "assignee": 1,
                  "assigned_at": "2024-11-04 16:33:18",
                  "is_scheduled": true,
                  "scheduled_from": "2019-05-16 18:00:55",
                  "formatted_duration": "1h 25m",
                  "checklist_template_id": 1,
                  "workflow_status_id": 1,
                  "is_archived": 0,
                  "createdFromTicket": true,
                  "task_labels": [
                    1,
                    2
                  ],
                  "related_ticket_info": {
                    "ticket_id": 1,
                    "ticket_subject": "Ticket subject"
                  },
                  "travel_time_to": 0,
                  "travel_time_from": 0,
                  "closed": 0,
                  "notification_send_interval": 0,
                  "notification_enabled": "1",
                  "remaining": 0,
                  "last_status_changed": "2024-04-15 11:06:45",
                  "watchers": [
                    10,
                    11
                  ],
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Update Task",
        "description": "Work with a Task.Update a Task with the given ID.",
        "operationId": "UpdateTask",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Task.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTaskrequest"
              },
              "example": {
                "title": "Scheduling task 2"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Delete Task",
        "description": "Work with a Task.Delete a Task with the given ID.",
        "operationId": "DeleteTask",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Task.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/scheduling/tasks/{id}--upload": {
      "post": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Upload file for Task additional File field",
        "description": "Work with a Task.\nUpload a file into a `File`-type additional field of a Task.\n\nThis endpoint exists because PUT requests do not support file uploads in PHP, so file uploads to additional fields require a separate `POST {id}--upload` request with `multipart/form-data`.\n\nThe form-data field name must follow the format `additional_attributes[<field_name>]`, where `<field_name>` is the technical name of the configured `File`-type additional field.\n\nFile constraints: max 50 MB, extension validated against the allowed file types (see [Allowed files types](#description/allowed-files-types)).\n\nAfter a successful upload, the file value can be retrieved via GET on the same Task — the `additional_attributes.<field_name>` object will contain `api_url`, `web_url`, `filename` and `download_link`. `download_link` is an absolute URL with `hash` and `time` query parameters that authenticate the download for a limited time, so it can be opened directly without a session cookie or access token (useful for previews on mobile clients).",
        "operationId": "UploadTaskAdditionalFieldFile",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Task.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "Multipart form-data with the file under key `additional_attributes[<field_name>]`.",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/TaskAdditionalFieldFileUpload"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/scheduling/related-tasks": {
      "get": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Retrieve Related task",
        "description": "Work with Related tasks.Retrieve a related task with the given ID.",
        "operationId": "RetrieveRelatedtask",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "The ID of the desired task.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RelatedTasks"
                  },
                  "description": "",
                  "example": [
                    {
                      "from_id": 9,
                      "to_id": 12
                    }
                  ]
                },
                "example": [
                  {
                    "from_id": 9,
                    "to_id": 12
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Create Related task",
        "description": "Work with Related tasks.Create a related task with the given ID.",
        "operationId": "CreateRelatedtask",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RelatedTasks"
              },
              "example": {
                "from_id": 9,
                "to_id": 12
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Delete Related task",
        "description": "Work with Related tasks.Delete a related task with the given ID.",
        "operationId": "DeleteRelatedtask",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Content-Type",
            "in": "header",
            "description": "",
            "required": true,
            "schema": {
              "enum": [
                "application/json"
              ],
              "type": "string",
              "example": "application/json"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false,
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "from_id",
                  "to_id"
                ],
                "properties": {
                  "from_id": {
                    "type": "number",
                    "description": "Source task ID."
                  },
                  "to_id": {
                    "type": "number",
                    "description": "Target task ID."
                  }
                }
              },
              "example": {
                "from_id": 1,
                "to_id": 2
              }
            }
          },
          "required": true
        }
      }
    },
    "/admin/scheduling/tasks-checklist/{task_id}": {
      "get": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Get Task Checklist",
        "description": "For getting checklists for few tasks you can use next request\nExample:\n\n```#!php\n<?php\n\n// for geting checklists for few tasks\n$params = [\n    'main_attributes' => [\n        'task_id' => ['IN', [1,2], // Tasks IDs\n    ],\n];\n\n// for geting checklists for all tasks\n$params = [\n    'main_attributes' => [\n    ],\n    // You can also set the limit and offset\n    'limit' => 10,\n    'offset' => 0,\n];\n\n$apiUrl = 'admin/scheduling/tasks-checklist' . '?' . http_build_query($params);\n\n```Get Task Checklist items with the given task ID.",
        "operationId": "GetTaskChecklist",
        "parameters": [
          {
            "name": "task_id",
            "in": "path",
            "description": "The ID of the desired Task.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "checked",
            "in": "query",
            "description": "Optional. Filter by checked state of items.",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Optional. Filter to a specific checklist item ID.",
            "required": false,
            "schema": {
              "type": "number"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TasksChecklistItem"
                  },
                  "description": "",
                  "example": [
                    {
                      "checklist_template_item": {
                        "id": 1,
                        "checklist_template_id": 1,
                        "name": "Prepare materials / tools"
                      },
                      "tasks_item_status": {
                        "task_id": 1,
                        "checklist_template_item_id": 1,
                        "checked": true
                      }
                    }
                  ]
                },
                "example": [
                  {
                    "checklist_template_item": {
                      "id": 1,
                      "checklist_template_id": 1,
                      "name": "Prepare materials / tools"
                    },
                    "tasks_item_status": {
                      "task_id": 1,
                      "checklist_template_item_id": 1,
                      "checked": true
                    }
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Update Task Checklist item",
        "description": "For getting checklists for few tasks you can use next request\nExample:\n\n```#!php\n<?php\n\n// for geting checklists for few tasks\n$params = [\n    'main_attributes' => [\n        'task_id' => ['IN', [1,2], // Tasks IDs\n    ],\n];\n\n// for geting checklists for all tasks\n$params = [\n    'main_attributes' => [\n    ],\n    // You can also set the limit and offset\n    'limit' => 10,\n    'offset' => 0,\n];\n\n$apiUrl = 'admin/scheduling/tasks-checklist' . '?' . http_build_query($params);\n\n```Update a task checklist item.",
        "operationId": "UpdateTaskChecklistitem",
        "parameters": [
          {
            "name": "task_id",
            "in": "path",
            "description": "The ID of the desired Task.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChecklistRequest"
              },
              "example": {
                "id": 1,
                "checked": true
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/scheduling/tasks-checklist": {
      "post": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Add Task checklist item",
        "description": "Adds checklist items to a task. Supports two modes:\n- **Single-item mode** \u2014 provide `name` in the request body to append one new checklist item. The response body is `{\"id\": <new_item_id>}`.\n- **Template mode** \u2014 provide `checklist_template_id` in the request body to copy items from an existing checklist template. Use `action` to control whether items are appended (`add`, default) or whether the existing checklist is replaced entirely (`replace`). The response contains the full resulting list of items under `data.items`.\n\nStandard Splynx partner-access restrictions apply: the admin must have write access to the target task's partner.",
        "operationId": "AddTaskchecklistitem",
        "parameters": [],
        "requestBody": {
          "description": "Either single-item mode (task_id + name) or template mode (task_id + checklist_template_id, optionally action).",
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "title": "Single-item mode \u2014 add one checklist item",
                    "type": "object",
                    "description": "Append a single checklist item to the task. Provide `task_id` together with `name`.",
                    "required": [
                      "task_id",
                      "name"
                    ],
                    "properties": {
                      "task_id": {
                        "type": "number",
                        "description": "ID of the task to add the checklist item to.",
                        "example": 1
                      },
                      "name": {
                        "type": "string",
                        "description": "Name of the new checklist item.",
                        "example": "New task checklist item"
                      }
                    },
                    "example": {
                      "task_id": 1,
                      "name": "New task checklist item"
                    }
                  },
                  {
                    "title": "Template mode \u2014 copy items from a checklist template",
                    "type": "object",
                    "description": "Copy all items from an existing checklist template into the task's checklist. Use `action` to control whether items are appended (`add`, default) or the whole checklist is replaced (`replace`).\n\nIf this body is sent together with a `name` field, `name` is ignored \u2014 the presence of `checklist_template_id` always triggers template mode.\n\nThe example shown below omits `action` \u2014 this is the default `add` behaviour, so template items are appended to the existing checklist. To replace the existing checklist with the template's items instead, send `action: \"replace\"`:\n```json\n{\"task_id\": 1, \"checklist_template_id\": 5, \"action\": \"replace\"}\n```",
                    "required": [
                      "task_id",
                      "checklist_template_id"
                    ],
                    "properties": {
                      "task_id": {
                        "type": "number",
                        "description": "ID of the task to apply the checklist template to.",
                        "example": 1
                      },
                      "checklist_template_id": {
                        "type": "number",
                        "description": "ID of the checklist template to copy items from.",
                        "example": 5
                      },
                      "action": {
                        "type": "string",
                        "enum": [
                          "add",
                          "replace"
                        ],
                        "default": "add",
                        "description": "`add` appends template items to the existing checklist; `replace` replaces the existing checklist with the template's items. Any unrecognised value is treated as `add`. When omitted entirely, the server behaves as if `add` was sent.",
                        "example": "add"
                      }
                    },
                    "example": {
                      "task_id": 1,
                      "checklist_template_id": 5
                    }
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created. Body depends on the mode used: single-item mode returns `{id}`, template mode returns the full checklist envelope.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "title": "Single-item mode \u2014 returns the created item ID",
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "number",
                          "description": "ID of new task checklist item",
                          "example": 1
                        }
                      }
                    },
                    {
                      "title": "Template mode \u2014 returns the updated checklist",
                      "type": "object",
                      "description": "Response body returned when the request uses template mode (i.e. `checklist_template_id` is set).",
                      "properties": {
                        "result": {
                          "type": "boolean",
                          "description": "Always true for success responses.",
                          "example": true
                        },
                        "message": {
                          "type": "string",
                          "description": "Localised status message. `\"Success!\"` when `action` is `add` (default); `\"Saved!\"` when `action` is `replace`.",
                          "example": "Success!"
                        },
                        "data": {
                          "type": "object",
                          "properties": {
                            "items": {
                              "type": "array",
                              "description": "Current checklist items for the task after the template was applied.",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "type": "number",
                                    "example": 12
                                  },
                                  "name": {
                                    "type": "string",
                                    "example": "Check signal level"
                                  },
                                  "checked": {
                                    "type": "boolean",
                                    "example": false
                                  }
                                }
                              }
                            }
                          }
                        }
                      },
                      "example": {
                        "result": true,
                        "message": "Success!",
                        "data": {
                          "items": [
                            {
                              "id": 1,
                              "name": "Check signal level",
                              "checked": false
                            },
                            {
                              "id": 2,
                              "name": "Test speed",
                              "checked": false
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "422": {
            "description": "Validation error. Possible scenarios:\n- `task_id` is missing.\n- Neither `name` nor `checklist_template_id` is provided.\n\nSingle-item mode errors are returned by the generic model-validation pipeline, so the `field` value is `task` (the attribute used internally) rather than the name of the missing request parameter.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidationErrorResponse"
                },
                "example": [
                  {
                    "field": "task",
                    "is_additional_attribute": false,
                    "message": "Task id must be set"
                  }
                ]
              }
            }
          },
          "500": {
            "description": "Template-mode failure. Returned when the request uses template mode (i.e. `checklist_template_id` is set) and the operation cannot complete. Possible scenarios:\n- The provided `checklist_template_id` does not match any existing template.\n- Failed to persist the new checklist items (e.g. a model-level validation error while copying items).",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "boolean",
                      "description": "Always `false` for error responses.",
                      "example": false
                    },
                    "message": {
                      "type": "array",
                      "description": "List of human-readable error messages.",
                      "items": {
                        "type": "string"
                      },
                      "example": [
                        "Checklist with id: 999 has not found"
                      ]
                    }
                  }
                },
                "example": {
                  "result": false,
                  "message": [
                    "Checklist with id: 999 has not found"
                  ]
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/scheduling/tasks-checklist/{task_id}--{item_id}": {
      "delete": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Delete Task checklist item",
        "description": "For getting checklists for few tasks you can use next request\nExample:\n\n```#!php\n<?php\n\n// for geting checklists for few tasks\n$params = [\n    'main_attributes' => [\n        'task_id' => ['IN', [1,2], // Tasks IDs\n    ],\n];\n\n// for geting checklists for all tasks\n$params = [\n    'main_attributes' => [\n    ],\n    // You can also set the limit and offset\n    'limit' => 10,\n    'offset' => 0,\n];\n\n$apiUrl = 'admin/scheduling/tasks-checklist' . '?' . http_build_query($params);\n\n```Delete a task checklist item with the given ID and task id.",
        "operationId": "DeleteTaskchecklistitem",
        "parameters": [
          {
            "name": "task_id",
            "in": "path",
            "description": "The ID of the desired Task.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "item_id",
            "in": "path",
            "description": "The ID of the desired Task checklist item.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 148
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/scheduling/tasks-worklogs": {
      "post": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Add Task Worklog",
        "description": "Add a worklog for the task",
        "operationId": "AddTaskWorklog",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorklogBase"
              },
              "example": {
                "task_id": 1,
                "user_id": 1,
                "created_at": "2019-06-18 12:32:59",
                "started_at": "2019-06-18 12:32:59",
                "stopped_at": "2019-06-18 12:32:59",
                "is_manual": false,
                "time_spent": 900,
                "description": "Worklogs description"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/WorklogId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/scheduling/tasks-worklogs/{id}": {
      "get": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Retrieve Task Worklog",
        "description": "Work with a task worklog.Retrieve a task worklog with the given ID.",
        "operationId": "RetrieveTaskWorklog",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Tasks Worklog.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/WorklogResponse"
                    },
                    {
                      "example": {
                        "task_id": 1,
                        "user_id": 1,
                        "created_at": "2019-06-18 12:32:59",
                        "started_at": "2019-06-18 12:32:59",
                        "stopped_at": "2019-06-18 12:32:59",
                        "is_manual": false,
                        "time_spent": 900,
                        "description": "Worklogs description",
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "task_id": 1,
                  "user_id": 1,
                  "created_at": "2019-06-18 12:32:59",
                  "started_at": "2019-06-18 12:32:59",
                  "stopped_at": "2019-06-18 12:32:59",
                  "is_manual": false,
                  "time_spent": 900,
                  "description": "Worklogs description",
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Update Task Worklog",
        "description": "Work with a task worklog.Update a task worklog with the given ID.",
        "operationId": "UpdateTaskWorklog",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Tasks Worklog.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateTaskWorklogrequest"
              },
              "example": {
                "time_spent": 10000
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Delete Task Worklog",
        "description": "Work with a task worklog.Delete a task worklog with the given ID.",
        "operationId": "DeleteTaskWorklog",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Tasks Worklog.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/scheduling/task-timer/{id}": {
      "put": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Start, pause or stop task timer",
        "description": "Work with task timer with the given ID.",
        "operationId": "Start,pauseorstoptasktimer",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Task",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Tasktimer"
              },
              "example": {
                "action": "start",
                "admin_id": 1
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/scheduling/tasks-comments": {
      "post": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Add Task Comment",
        "description": "Add a comment for the task",
        "operationId": "AddTaskComment",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/CommentCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CommentId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/scheduling/tasks-comments/{id}": {
      "get": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Retrieve Task Comment",
        "description": "Work with a Task Comment.Retrieve a Task Comment with the given ID.",
        "operationId": "RetrieveTaskComment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Task Comment.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TaskCommentResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "task_id": 1,
                        "user_id": 1,
                        "created_at": "2019-06-18 12:32:59",
                        "comment": "Some text",
                        "is_pinned": 0,
                        "files": [
                          {
                            "id": 7,
                            "hash_id": "hash_id",
                            "type": "scheduling_task_comment_attachment",
                            "filename_original": "image.png",
                            "filename_uploaded": "uploaded/file/name",
                            "download_link": "https://your.splynx.domain/files?id={hash_id}&type=files_upload",
                            "download_api_link": "admin/config/download/scheduling_task_comment_attachment--{id}",
                            "download_all_api_link": "admin/config/download/scheduling_task_comment_attachment--{task_id}--all",
                            "task_id": 5,
                            "comment_id": 1,
                            "has_thumbnail": true,
                            "thumbnail_link": "your.splynx.domen/files--thumbnail?id={hash_id}&type=files_upload"
                          }
                        ],
                        "is_edited": "0",
                        "admin_name": "Splynx admin",
                        "pinned_datetime": "2025-09-01 12:56:39"
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "task_id": 1,
                  "user_id": 1,
                  "created_at": "2019-06-18 12:32:59",
                  "comment": "Some text",
                  "is_pinned": 0,
                  "files": [
                    {
                      "id": 7,
                      "hash_id": "hash_id",
                      "type": "scheduling_task_comment_attachment",
                      "filename_original": "image.png",
                      "filename_uploaded": "uploaded/file/name",
                      "download_link": "https://your.splynx.domain/files?id={hash_id}&type=files_upload",
                      "download_api_link": "admin/config/download/scheduling_task_comment_attachment--{id}",
                      "download_all_api_link": "admin/config/download/scheduling_task_comment_attachment--{task_id}--all",
                      "task_id": 5,
                      "comment_id": 1,
                      "has_thumbnail": true,
                      "thumbnail_link": "your.splynx.domen/files--thumbnail?id={hash_id}&type=files_upload"
                    }
                  ],
                  "is_edited": "0",
                  "admin_name": "Splynx admin",
                  "pinned_datetime": "2025-09-01 12:56:39"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Update a Task Comment",
        "description": "Work with a Task Comment.Update the Task Comment with the given ID.",
        "operationId": "UpdateaTaskComment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Task Comment.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateaTaskCommentrequest"
              },
              "example": {
                "comment": "Some text"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Delete Task Comment",
        "description": "Work with a Task Comment.Delete a Task Comment with the given ID.",
        "operationId": "DeleteTaskComment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Task Comment.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/scheduling/tasks-comment-toggle-pin/{id}": {
      "post": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Toggle pin for Task Comment",
        "description": "Work with a Task Comment.Toggle pin for Task Comment with the given ID.",
        "operationId": "TogglepinforTaskComment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Task Comment.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TogglepinforTaskCommentresponse"
                    },
                    {
                      "example": {
                        "is_pinned": true
                      }
                    }
                  ]
                },
                "example": {
                  "is_pinned": true
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/scheduling/tasks-comments/{id}--upload": {
      "post": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Create Task Comment Attachment",
        "description": "Work with a Task Comment.Creates a new attachments to task comment",
        "operationId": "CreateTaskCommentAttachment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Task Comment.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/TaskCommentAttachmentCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/scheduling/tasks-attachments": {
      "post": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Add Task Attachment",
        "description": "For getting all Tasks Attachments you can use next request\nExample:\n\n```#!php\n<?php\n\n$params = [\n    'main_attributes' => [\n        'task_id' => 1,\n    ]\n];\n\n$apiUrl = 'admin/scheduling/tasks-attachments' . '?' . http_build_query($params);\n\n```Add an attachment for the task",
        "operationId": "AddTaskAttachment",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/Attachmentadd"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Attachmentsresponse"
                    },
                    {
                      "example": {
                        "files": [
                          1,
                          2
                        ]
                      }
                    }
                  ]
                },
                "example": {
                  "files": [
                    1,
                    2
                  ]
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/download/scheduling_task_comment_attachment--{task_id}--all": {
      "get": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Download All Task Attachments",
        "description": "For getting all Tasks Attachments you can use next request\nExample:\n\n```#!php\n<?php\n\n$params = [\n    'main_attributes' => [\n        'task_id' => 1,\n    ]\n];\n\n$apiUrl = 'admin/scheduling/tasks-attachments' . '?' . http_build_query($params);\n\n```Download all Task Attachments as an archive with the given Task ID.",
        "operationId": "DownloadAllTaskAttachments",
        "parameters": [
          {
            "name": "task_id",
            "in": "path",
            "description": "The ID of the desired Task.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/AttachmentArchiveResponse"
                    },
                    {
                      "example": {
                        "name": "scheduling_task_comment_attachment_26.zip",
                        "content_type": "application/zip",
                        "content": "VBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlIC9QYWdlC..."
                      }
                    }
                  ]
                },
                "example": {
                  "name": "scheduling_task_comment_attachment_26.zip",
                  "content_type": "application/zip",
                  "content": "VBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlIC9QYWdlC..."
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/scheduling/tasks-attachments/{id}": {
      "get": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Retrieve Task Attachment",
        "description": "Work with a Task Attachment.Retrieve a Task Attachment with the given ID.",
        "operationId": "RetrieveTaskAttachment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Tasks Attachment.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TasksAttachmentResponse"
                    },
                    {
                      "example": {
                        "id": 7,
                        "hash_id": "hash_id",
                        "type": "scheduling_task_comment_attachment",
                        "filename_original": "image.png",
                        "filename_uploaded": "uploaded/file/name",
                        "download_link": "https://your.splynx.domain/files?id={hash_id}&type=files_upload",
                        "download_api_link": "admin/config/download/scheduling_task_comment_attachment--{id}",
                        "download_all_api_link": "admin/config/download/scheduling_task_comment_attachment--{task_id}--all",
                        "task_id": 5,
                        "comment_id": 1,
                        "has_thumbnail": true,
                        "thumbnail_link": "your.splynx.domen/files--thumbnail?id={hash_id}&type=files_upload",
                        "size": "1048576"
                      }
                    }
                  ]
                },
                "example": {
                  "id": 7,
                  "hash_id": "hash_id",
                  "type": "scheduling_task_comment_attachment",
                  "filename_original": "image.png",
                  "filename_uploaded": "uploaded/file/name",
                  "download_link": "https://your.splynx.domain/files?id={hash_id}&type=files_upload",
                  "download_api_link": "admin/config/download/scheduling_task_comment_attachment--{id}",
                  "download_all_api_link": "admin/config/download/scheduling_task_comment_attachment--{task_id}--all",
                  "task_id": 5,
                  "comment_id": 1,
                  "has_thumbnail": true,
                  "thumbnail_link": "your.splynx.domen/files--thumbnail?id={hash_id}&type=files_upload",
                  "size": "1048576"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Delete Task Attachment",
        "description": "Work with a Task Attachment.Delete a Task Attachment with the given ID.",
        "operationId": "DeleteTaskAttachment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Tasks Attachment.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/download/scheduling_task_comment_attachment--{id}": {
      "get": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Download Task Attachment",
        "description": "Work with a Task Attachment.Download a Task Attachment with the given ID.",
        "operationId": "DownloadTaskAttachment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Tasks Attachment.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/AttachmentContentResponse"
                    },
                    {
                      "example": {
                        "name": "file_name.png",
                        "content_type": "image/png",
                        "content": "VBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlIC9QYWdlC..."
                      }
                    }
                  ]
                },
                "example": {
                  "name": "file_name.png",
                  "content_type": "image/png",
                  "content": "VBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlIC9QYWdlC..."
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/scheduling/tasks-activity": {
      "get": {
        "tags": [
          "Scheduling"
        ],
        "summary": "List activity for all tasks",
        "description": "Returns a list of activities for all tasks. By default limit 10 items for every task.",
        "operationId": "Listactivityforalltasks",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TasksActivityResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "task_id": 1,
                      "activity_items_count": 20,
                      "activity_items": [
                        {
                          "model": "models\\admin\\scheduling\\task\\SchedulingTaskComment",
                          "action": "create",
                          "source": "api",
                          "autor_name": "Splynx test API key",
                          "autor_id": 2,
                          "date": "2019-06-19",
                          "time": "16:52:16",
                          "attributes_for_content": {
                            "files": [
                              {
                                "id": 7,
                                "hash_id": "hash_id",
                                "type": "scheduling_task_comment_attachment",
                                "filename_original": "image.png",
                                "filename_uploaded": "uploaded/file/name",
                                "download_link": "https://your.splynx.domain/files?id={hash_id}&type=files_upload",
                                "download_api_link": "admin/config/download/scheduling_task_comment_attachment--{id}",
                                "download_all_api_link": "admin/config/download/scheduling_task_comment_attachment--{task_id}--all",
                                "task_id": 5,
                                "comment_id": 1,
                                "has_thumbnail": true,
                                "thumbnail_link": "your.splynx.domen/files--thumbnail?id={hash_id}&type=files_upload"
                              }
                            ],
                            "comment": "'Test comment creating for activity'"
                          }
                        }
                      ]
                    }
                  ]
                },
                "example": [
                  {
                    "task_id": 1,
                    "activity_items_count": 20,
                    "activity_items": [
                      {
                        "model": "models\\admin\\scheduling\\task\\SchedulingTaskComment",
                        "action": "create",
                        "source": "api",
                        "autor_name": "Splynx test API key",
                        "autor_id": 2,
                        "date": "2019-06-19",
                        "time": "16:52:16",
                        "attributes_for_content": {
                          "files": [
                            {
                              "id": 7,
                              "hash_id": "hash_id",
                              "type": "scheduling_task_comment_attachment",
                              "filename_original": "image.png",
                              "filename_uploaded": "uploaded/file/name",
                              "download_link": "https://your.splynx.domain/files?id={hash_id}&type=files_upload",
                              "download_api_link": "admin/config/download/scheduling_task_comment_attachment--{id}",
                              "download_all_api_link": "admin/config/download/scheduling_task_comment_attachment--{task_id}--all",
                              "task_id": 5,
                              "comment_id": 1,
                              "has_thumbnail": true,
                              "thumbnail_link": "your.splynx.domen/files--thumbnail?id={hash_id}&type=files_upload"
                            }
                          ],
                          "comment": "'Test comment creating for activity'"
                        }
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "head": {
        "tags": [
          "Scheduling"
        ],
        "summary": "Check tasks-activity endpoint",
        "description": "Check tasks-activity endpoint",
        "operationId": "Checktasks-activityendpointHead",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/voice/calls": {
      "post": {
        "tags": [
          "Voice"
        ],
        "summary": "Create a Call",
        "description": "Creates a new Call.",
        "operationId": "PostCreateaCall",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallBase"
              },
              "example": {
                "start": "2018-01-20 12:56:39",
                "stop": "2018-01-20 13:00:35",
                "call_to": "555-0134",
                "customer_id": 19,
                "service_id": 40,
                "transaction_id": 137,
                "category": 3,
                "source": "555-0134",
                "sell_price": 0,
                "buy_price": 0,
                "rate_buy_price": 0,
                "comment": "comment",
                "is_price_from_import": 0
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CallId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Voice"
        ],
        "summary": "List Calls",
        "description": "Returns a list of Calls based on query params",
        "operationId": "ListCalls",
        "parameters": [
          {
            "name": "action",
            "in": "query",
            "description": "Type of data set to return. List of actions:\n\n- **get_all**: Get all records by condition\n\n- **get_top_frequently**: Get top frequent (most popular) phones with records\n\n- **get_top_expensive**: Get top expensive (most expensive) phones with records\n\n- **get_records_by_hours**: Get records grouped by hours (from 00 to 23)\n\n- **get_records_by_days**: Get records grouped by days\n\n- **get_totals**: Get total price and amount (duration or amount) grouped by category id",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Limit for returned data items. Default: 1000.",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 5
            }
          },
          {
            "name": "columns",
            "in": "query",
            "description": "Columns separated by ','",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "start,stop,call_to"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "Get data from date",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "2018-01-20 12:56:39"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "Get data to date",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "2018-01-20 13:00:35"
            }
          },
          {
            "name": "service_id",
            "in": "query",
            "description": "Get data for Service ID",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 5
            }
          },
          {
            "name": "customer_id",
            "in": "query",
            "description": "Get data for Customer ID",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 6
            }
          },
          {
            "name": "invoice_id",
            "in": "query",
            "description": "Get data for Invoice ID",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 7
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/voice/calls/{id}": {
      "get": {
        "tags": [
          "Voice"
        ],
        "summary": "Retrieve a Call",
        "description": "Work with Calls.Retrieves the Call with the given ID.",
        "operationId": "GetRetrieveaCall",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Call.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CallResponse"
                    },
                    {
                      "example": {
                        "start": "2018-01-20 12:56:39",
                        "stop": "2018-01-20 13:00:35",
                        "call_to": "555-0134",
                        "customer_id": 19,
                        "service_id": 40,
                        "transaction_id": 137,
                        "category": 3,
                        "source": "555-0134",
                        "sell_price": 0,
                        "buy_price": 0,
                        "rate_buy_price": 0,
                        "comment": "comment",
                        "is_price_from_import": 0,
                        "id": 1,
                        "customer_login": "",
                        "customer_name": "",
                        "amount": 0,
                        "sell_price_total": 0,
                        "buy_price_total": 0
                      }
                    }
                  ]
                },
                "example": {
                  "start": "2018-01-20 12:56:39",
                  "stop": "2018-01-20 13:00:35",
                  "call_to": "555-0134",
                  "customer_id": 19,
                  "service_id": 40,
                  "transaction_id": 137,
                  "category": 3,
                  "source": "555-0134",
                  "sell_price": 0,
                  "buy_price": 0,
                  "rate_buy_price": 0,
                  "comment": "comment",
                  "is_price_from_import": 0,
                  "id": 1,
                  "customer_login": "",
                  "customer_name": "",
                  "amount": 0,
                  "sell_price_total": 0,
                  "buy_price_total": 0
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Voice"
        ],
        "summary": "Update a Call",
        "description": "Work with Calls.Update the Call with the given ID.",
        "operationId": "PutUpdateaCall",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Call.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "comment": {
                    "type": "string"
                  }
                },
                "example": {
                  "comment": "comment text"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Voice"
        ],
        "summary": "Delete a Call",
        "description": "Work with Calls.Delete the Call with the given ID.",
        "operationId": "DeleteaCall1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Call.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/voice/data": {
      "post": {
        "tags": [
          "Voice"
        ],
        "summary": "Create a Voice Data",
        "description": "Creates a new Voice Data.",
        "operationId": "CreateaVoiceData",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DataBase"
              },
              "example": {
                "datetime": "2018-01-20 12:56:39",
                "customer_id": 19,
                "service_id": 40,
                "transaction_id": 137,
                "category": 3,
                "source": "555-0134",
                "amount": 45797638,
                "sell_price": 0,
                "buy_price": 0,
                "rate_buy_price": 0,
                "comment": "comment",
                "is_price_from_import": 0
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/DataId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Voice"
        ],
        "summary": "List Voice Data",
        "description": "Returns a list of Voice Data",
        "operationId": "ListVoiceData",
        "parameters": [
          {
            "name": "action",
            "in": "query",
            "description": "Type of data set to return. List of actions:\n\n- **get_all**: Get all records by condition\n\n- **get_top_frequently**: Get top frequent (most popular) phones with records\n\n- **get_top_expensive**: Get top expensive (most expensive) phones with records\n\n- **get_records_by_hours**: Get records grouped by hours (from 00 to 23)\n\n- **get_records_by_days**: Get records grouped by days\n\n- **get_totals**: Get total price and amount (duration or amount) grouped by category id",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Limit for returned data items",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 5
            }
          },
          {
            "name": "columns",
            "in": "query",
            "description": "Columns separated by ','",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "start,stop,call_to"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "Get data from date",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "2018-01-20 12:56:39"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "Get data to date",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "2018-01-20 13:00:35"
            }
          },
          {
            "name": "service_id",
            "in": "query",
            "description": "Get data for Service ID",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 5
            }
          },
          {
            "name": "customer_id",
            "in": "query",
            "description": "Get data for Customer ID",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 6
            }
          },
          {
            "name": "invoice_id",
            "in": "query",
            "description": "Get data for Invoice ID",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 7
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/voice/data/{id}": {
      "get": {
        "tags": [
          "Voice"
        ],
        "summary": "Retrieve a Voice Data",
        "description": "Work with Voice Data.Retrieves the Voice Data with the given ID.",
        "operationId": "RetrieveaVoiceData",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Voice Data.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/DataResponse"
                    },
                    {
                      "example": {
                        "datetime": "2018-01-20 12:56:39",
                        "customer_id": 19,
                        "service_id": 40,
                        "transaction_id": 137,
                        "category": 3,
                        "source": "555-0134",
                        "amount": 45797638,
                        "sell_price": 0,
                        "buy_price": 0,
                        "rate_buy_price": 0,
                        "comment": "comment",
                        "is_price_from_import": 0,
                        "id": 1,
                        "customer_login": "",
                        "customer_name": "",
                        "sell_price_total": 0,
                        "buy_price_total": 0
                      }
                    }
                  ]
                },
                "example": {
                  "datetime": "2018-01-20 12:56:39",
                  "customer_id": 19,
                  "service_id": 40,
                  "transaction_id": 137,
                  "category": 3,
                  "source": "555-0134",
                  "amount": 45797638,
                  "sell_price": 0,
                  "buy_price": 0,
                  "rate_buy_price": 0,
                  "comment": "comment",
                  "is_price_from_import": 0,
                  "id": 1,
                  "customer_login": "",
                  "customer_name": "",
                  "sell_price_total": 0,
                  "buy_price_total": 0
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Voice"
        ],
        "summary": "Update a Voice Data",
        "description": "Work with Voice Data.Update the Voice Data with the given ID.",
        "operationId": "UpdateaVoiceData",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Voice Data.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "comment": {
                    "type": "string"
                  }
                },
                "example": {
                  "comment": "comment text"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Voice"
        ],
        "summary": "Delete a Voice Data",
        "description": "Work with Voice Data.Delete the Voice Data with the given ID.",
        "operationId": "DeleteaVoiceData",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Voice Data.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/voice/messages": {
      "post": {
        "tags": [
          "Voice"
        ],
        "summary": "Create a Message",
        "description": "Creates a new Message.",
        "operationId": "CreateaMessage",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MessageBase"
              },
              "example": {
                "send_at": "2018-01-20 12:56:39",
                "destination": "",
                "customer_id": 19,
                "service_id": 40,
                "transaction_id": 137,
                "category": 3,
                "source": "555-0134",
                "amount": 45797638,
                "sell_price": 0,
                "buy_price": 0,
                "rate_buy_price": 0,
                "comment": "comment",
                "is_price_from_import": 0
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/MessageId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Voice"
        ],
        "summary": "List Messages",
        "description": "Returns a list of Messages",
        "operationId": "ListMessages",
        "parameters": [
          {
            "name": "action",
            "in": "query",
            "description": "Type of data set to return. List of actions:\n\n- **get_all**: Get all records by condition\n\n- **get_top_frequently**: Get top frequent (most popular) phones with records\n\n- **get_top_expensive**: Get top expensive (most expensive) phones with records\n\n- **get_records_by_hours**: Get records grouped by hours (from 00 to 23)\n\n- **get_records_by_days**: Get records grouped by days\n\n- **get_totals**: Get total price and amount (duration or amount) grouped by category id",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Limit for returned data items",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 5
            }
          },
          {
            "name": "columns",
            "in": "query",
            "description": "Columns separated by ','",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "start,stop,call_to"
            }
          },
          {
            "name": "start_date",
            "in": "query",
            "description": "Get data from date",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "2018-01-20 12:56:39"
            }
          },
          {
            "name": "end_date",
            "in": "query",
            "description": "Get data to date",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "2018-01-20 13:00:35"
            }
          },
          {
            "name": "service_id",
            "in": "query",
            "description": "Get data for Service ID",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 5
            }
          },
          {
            "name": "customer_id",
            "in": "query",
            "description": "Get data for Customer ID",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 6
            }
          },
          {
            "name": "invoice_id",
            "in": "query",
            "description": "Get data for Invoice ID",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 7
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/voice/messages/{id}": {
      "get": {
        "tags": [
          "Voice"
        ],
        "summary": "Retrieve a Message",
        "description": "Work with Message.Retrieves the Message with the given ID.",
        "operationId": "RetrieveaMessage",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Message.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/MessageResponse"
                    },
                    {
                      "example": {
                        "send_at": "2018-01-20 12:56:39",
                        "destination": "",
                        "customer_id": 19,
                        "service_id": 40,
                        "transaction_id": 137,
                        "category": 3,
                        "source": "555-0134",
                        "amount": 45797638,
                        "sell_price": 0,
                        "buy_price": 0,
                        "rate_buy_price": 0,
                        "comment": "comment",
                        "is_price_from_import": 0,
                        "id": 1,
                        "customer_login": "",
                        "customer_name": "",
                        "sell_price_total": 0,
                        "buy_price_total": 0
                      }
                    }
                  ]
                },
                "example": {
                  "send_at": "2018-01-20 12:56:39",
                  "destination": "",
                  "customer_id": 19,
                  "service_id": 40,
                  "transaction_id": 137,
                  "category": 3,
                  "source": "555-0134",
                  "amount": 45797638,
                  "sell_price": 0,
                  "buy_price": 0,
                  "rate_buy_price": 0,
                  "comment": "comment",
                  "is_price_from_import": 0,
                  "id": 1,
                  "customer_login": "",
                  "customer_name": "",
                  "sell_price_total": 0,
                  "buy_price_total": 0
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Voice"
        ],
        "summary": "Update a Message",
        "description": "Work with Message.Update the Message with the given ID.",
        "operationId": "UpdateaMessage",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Message.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "comment": {
                    "type": "string"
                  }
                },
                "example": {
                  "comment": "comment text"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Voice"
        ],
        "summary": "Delete a Message",
        "description": "Work with Message.Delete the Message with the given ID.",
        "operationId": "DeleteaMessage",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Message.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/voice/statistics": {
      "get": {
        "tags": [
          "Voice"
        ],
        "summary": "Retrieve statistics",
        "description": "Voice statisticsRetrieve voice statistics grouped by voice types and categories. Field `_comment` in example can not be included to real response.",
        "operationId": "Retrievestatistics",
        "parameters": [
          {
            "name": "service_id",
            "in": "query",
            "description": "The ID of the desired voice service",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "Start date of period",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2018-01-01"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "End date of period",
            "required": true,
            "schema": {
              "type": "string",
              "example": "2019-01-01"
            }
          },
          {
            "name": "with_formatting",
            "in": "query",
            "description": "Format amount and duration fields",
            "required": true,
            "schema": {
              "type": "boolean",
              "example": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Retrievestatisticsresponse"
                    },
                    {
                      "example": {
                        "call": {
                          "0": {
                            "_comment": "This element contains totals of records without category",
                            "title": "Calls",
                            "duration": 386,
                            "sum": 0.07,
                            "rate_buy_price": 0,
                            "cdr_buy_price": 0
                          },
                          "2": {
                            "_comment": "This element contains totals of L-902A(1-4) category #2",
                            "title": "L-902A(1-4)",
                            "duration": 1472,
                            "amount": 0,
                            "sum": 0.51577452,
                            "rate_buy_price": 0,
                            "cdr_buy_price": 0.09046056
                          },
                          "total": {
                            "_comment": "This element contains totals of all categories",
                            "title": "Total",
                            "sum": 206.73256484,
                            "rate_buy_price": 0,
                            "cdr_buy_price": 209.97441838,
                            "duration": 1066717
                          }
                        },
                        "message": {
                          "0": {
                            "title": "SMS",
                            "sum": 0,
                            "rate_buy_price": 0,
                            "cdr_buy_price": 0,
                            "amount": 0
                          },
                          "4": {
                            "title": "Mesajes",
                            "sum": 0,
                            "rate_buy_price": 0,
                            "cdr_buy_price": 0,
                            "amount": 0
                          },
                          "total": {
                            "title": "Total",
                            "sum": 0.976,
                            "rate_buy_price": 0,
                            "cdr_buy_price": 0,
                            "amount": 2
                          }
                        },
                        "data": {
                          "0": {
                            "title": "Data",
                            "sum": 1.525,
                            "rate_buy_price": 0,
                            "cdr_buy_price": 0,
                            "amount": 200000
                          },
                          "5": {
                            "title": "Datos",
                            "sum": 0,
                            "rate_buy_price": 0,
                            "cdr_buy_price": 0,
                            "amount": 0
                          },
                          "total": {
                            "title": "Total",
                            "sum": 2.135,
                            "rate_buy_price": 0,
                            "cdr_buy_price": 0,
                            "amount": 5200000
                          }
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "call": {
                    "0": {
                      "_comment": "This element contains totals of records without category",
                      "title": "Calls",
                      "duration": 386,
                      "sum": 0.07,
                      "rate_buy_price": 0,
                      "cdr_buy_price": 0
                    },
                    "2": {
                      "_comment": "This element contains totals of L-902A(1-4) category #2",
                      "title": "L-902A(1-4)",
                      "duration": 1472,
                      "amount": 0,
                      "sum": 0.51577452,
                      "rate_buy_price": 0,
                      "cdr_buy_price": 0.09046056
                    },
                    "total": {
                      "_comment": "This element contains totals of all categories",
                      "title": "Total",
                      "sum": 206.73256484,
                      "rate_buy_price": 0,
                      "cdr_buy_price": 209.97441838,
                      "duration": 1066717
                    }
                  },
                  "message": {
                    "0": {
                      "title": "SMS",
                      "sum": 0,
                      "rate_buy_price": 0,
                      "cdr_buy_price": 0,
                      "amount": 0
                    },
                    "4": {
                      "title": "Mesajes",
                      "sum": 0,
                      "rate_buy_price": 0,
                      "cdr_buy_price": 0,
                      "amount": 0
                    },
                    "total": {
                      "title": "Total",
                      "sum": 0.976,
                      "rate_buy_price": 0,
                      "cdr_buy_price": 0,
                      "amount": 2
                    }
                  },
                  "data": {
                    "0": {
                      "title": "Data",
                      "sum": 1.525,
                      "rate_buy_price": 0,
                      "cdr_buy_price": 0,
                      "amount": 200000
                    },
                    "5": {
                      "title": "Datos",
                      "sum": 0,
                      "rate_buy_price": 0,
                      "cdr_buy_price": 0,
                      "amount": 0
                    },
                    "total": {
                      "title": "Total",
                      "sum": 2.135,
                      "rate_buy_price": 0,
                      "cdr_buy_price": 0,
                      "amount": 5200000
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/administration/locations": {
      "post": {
        "tags": [
          "Administration"
        ],
        "summary": "Create a Location",
        "description": "Creates a new Location.",
        "operationId": "CreateaLocation",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LocationBase"
              },
              "example": {
                "name": "Alpha",
                "tax_for_tariff_bundle": 1,
                "tax_for_tariff_internet": 1,
                "tax_for_tariff_voice": 1,
                "tax_for_tariff_recurring": 1,
                "tax_for_tariff_onetime": 1,
                "tax_for_inventory_items": 1
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/LocationId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Administration"
        ],
        "summary": "List all Locations",
        "description": "Returns a list of your Locations.",
        "operationId": "ListallLocations",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LocationResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "name": "Alpha",
                      "tax_for_tariff_bundle": 1,
                      "tax_for_tariff_internet": 1,
                      "tax_for_tariff_voice": 1,
                      "tax_for_tariff_recurring": 1,
                      "tax_for_tariff_onetime": 1,
                      "tax_for_inventory_items": 1,
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "name": "Alpha",
                    "tax_for_tariff_bundle": 1,
                    "tax_for_tariff_internet": 1,
                    "tax_for_tariff_voice": 1,
                    "tax_for_tariff_recurring": 1,
                    "tax_for_tariff_onetime": 1,
                    "tax_for_inventory_items": 1,
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/administration/locations/{id}": {
      "get": {
        "tags": [
          "Administration"
        ],
        "summary": "Retrieve a Location",
        "description": "Work with Locations.Retrieves the Location with the given ID.",
        "operationId": "RetrieveaLocation",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Location.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/LocationResponse"
                    },
                    {
                      "example": {
                        "name": "Alpha",
                        "tax_for_tariff_bundle": 1,
                        "tax_for_tariff_internet": 1,
                        "tax_for_tariff_voice": 1,
                        "tax_for_tariff_recurring": 1,
                        "tax_for_tariff_onetime": 1,
                        "tax_for_inventory_items": 1,
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "name": "Alpha",
                  "tax_for_tariff_bundle": 1,
                  "tax_for_tariff_internet": 1,
                  "tax_for_tariff_voice": 1,
                  "tax_for_tariff_recurring": 1,
                  "tax_for_tariff_onetime": 1,
                  "tax_for_inventory_items": 1,
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Administration"
        ],
        "summary": "Update a Location",
        "description": "Work with Locations.Update the Location with the given ID.",
        "operationId": "UpdateaLocation",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Location.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  }
                },
                "example": {
                  "name": "Beta"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Administration"
        ],
        "summary": "Delete a Location",
        "description": "Work with Locations.Delete the Location with the given ID.",
        "operationId": "DeleteaLocation",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Location.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/administration/administrators": {
      "post": {
        "tags": [
          "Administration"
        ],
        "summary": "Create an Administrator",
        "description": "Creates a new Administrator.",
        "operationId": "CreateanAdministrator",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdministratorRequest"
              },
              "example": {
                "partner_id": 1,
                "role_name": "administrator",
                "login": "main",
                "name": "Main",
                "email": "main@email.com",
                "timeout": 1200,
                "router_access": "none",
                "phone": "+420123456879",
                "avatar_api_url": "admin/config/download/admins_avatar--1",
                "download_avatar_link": "https://yourdomain/files?id=1&type=admins_avatar",
                "send_from_my_name": "0",
                "calendar_color": "#FF0000",
                "password": "fv5d42fe1"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/AdministratorId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Administration"
        ],
        "summary": "List all Administrators",
        "description": "Returns a list of your Administrators.",
        "operationId": "ListallAdministrators",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AdministratorResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "partner_id": 1,
                      "role_name": "administrator",
                      "login": "main",
                      "name": "Main",
                      "email": "main@email.com",
                      "timeout": 1200,
                      "router_access": "none",
                      "phone": "+420123456879",
                      "avatar_api_url": "admin/config/download/admins_avatar--1",
                      "download_avatar_link": "https://yourdomain/files?id=1&type=admins_avatar",
                      "send_from_my_name": "0",
                      "calendar_color": "#FF0000",
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "partner_id": 1,
                    "role_name": "administrator",
                    "login": "main",
                    "name": "Main",
                    "email": "main@email.com",
                    "timeout": 1200,
                    "router_access": "none",
                    "phone": "+420123456879",
                    "avatar_api_url": "admin/config/download/admins_avatar--1",
                    "download_avatar_link": "https://yourdomain/files?id=1&type=admins_avatar",
                    "send_from_my_name": "0",
                    "calendar_color": "#FF0000",
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/administration/administrators/{id}": {
      "get": {
        "tags": [
          "Administration"
        ],
        "summary": "Retrieve an Administrator",
        "description": "Work with Administrators.Retrieves the Administrator with the given ID.",
        "operationId": "RetrieveanAdministrator",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Administrator.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/AdministratorRetrieveResponse"
                    },
                    {
                      "example": {
                        "partner_id": 1,
                        "role_name": "administrator",
                        "login": "main",
                        "name": "Main",
                        "email": "main@email.com",
                        "timeout": 1200,
                        "router_access": "none",
                        "phone": "+420123456879",
                        "avatar_api_url": "admin/config/download/admins_avatar--1",
                        "download_avatar_link": "https://yourdomain/files?id=1&type=admins_avatar",
                        "send_from_my_name": "0",
                        "calendar_color": "#FF0000",
                        "id": 1,
                        "otp_secret": "abc123"
                      }
                    }
                  ]
                },
                "example": {
                  "partner_id": 1,
                  "role_name": "administrator",
                  "login": "main",
                  "name": "Main",
                  "email": "main@email.com",
                  "timeout": 1200,
                  "router_access": "none",
                  "phone": "+420123456879",
                  "avatar_api_url": "admin/config/download/admins_avatar--1",
                  "download_avatar_link": "https://yourdomain/files?id=1&type=admins_avatar",
                  "send_from_my_name": "0",
                  "calendar_color": "#FF0000",
                  "id": 1,
                  "otp_secret": "abc123"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Administration"
        ],
        "summary": "Update an Administrator",
        "description": "Work with Administrators.Update the Administrator with the given ID.",
        "operationId": "UpdateanAdministrator",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Administrator.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  }
                },
                "example": {
                  "name": "Second admin"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Administration"
        ],
        "summary": "Delete an Administrator",
        "description": "Work with Administrators.Delete the Administrator with the given ID.",
        "operationId": "DeleteanAdministrator",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Administrator.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/administration/partners": {
      "post": {
        "tags": [
          "Administration"
        ],
        "summary": "Create a Partner",
        "description": "Creates a new Partners.",
        "operationId": "CreateaPartner",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PartnerBase"
              },
              "example": {
                "name": ""
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PartnerId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Administration"
        ],
        "summary": "List all Partners",
        "description": "Returns a list of your Partners.",
        "operationId": "ListallPartners",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PartnerResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "name": "partner_name"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "name": "partner_name"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/administration/partners/{id}": {
      "get": {
        "tags": [
          "Administration"
        ],
        "summary": "Retrieve a Partner",
        "description": "Work with Partners.Retrieves the Partner with the given ID.",
        "operationId": "RetrieveaPartner",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Partner.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PartnerResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "name": "partner_name"
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "name": "partner_name"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Administration"
        ],
        "summary": "Update a Partner",
        "description": "Work with Partners.Update the Partner with the given ID.",
        "operationId": "UpdateaPartner",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Partner.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  }
                },
                "example": {
                  "name": "Partner name"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Administration"
        ],
        "summary": "Delete a Partner",
        "description": "Work with Partners.Delete the Partner with the given ID.",
        "operationId": "DeleteaPartner",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Partner.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/logs/changes": {
      "get": {
        "tags": [
          "Logs"
        ],
        "summary": "List all Change statuses & plans",
        "description": "Returns a list of your Change statuses & plans records.",
        "operationId": "ListallChangestatuses&plans",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ChangestatusesplansResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "service_id": 5,
                      "old_status": "active",
                      "new_status": "blocked",
                      "date": "2018-07-10",
                      "time": "10:20:15",
                      "tariff_type": "internet",
                      "old_tariff": "1",
                      "new_tariff": "2",
                      "administrator_id": 10
                    }
                  ]
                },
                "example": [
                  {
                    "service_id": 5,
                    "old_status": "active",
                    "new_status": "blocked",
                    "date": "2018-07-10",
                    "time": "10:20:15",
                    "tariff_type": "internet",
                    "old_tariff": "1",
                    "new_tariff": "2",
                    "administrator_id": 10
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/logs/pending-statuses": {
      "post": {
        "tags": [
          "Logs"
        ],
        "summary": "Create a Pending status record",
        "description": "Creates a new Pending status record.",
        "operationId": "CreateaPendingstatusrecord",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PendingstatusBase"
              },
              "example": {
                "customer_id": 1,
                "date": "2018-08-01",
                "status": "blocked"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PendingstatusId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Logs"
        ],
        "summary": "List all Pending statuses",
        "description": "Returns a list of your Pending statuses.",
        "operationId": "ListallPendingstatuses",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PendingstatusResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "customer_id": 1,
                      "date": "2018-08-01",
                      "status": "blocked",
                      "id": 1,
                      "done": "0",
                      "administrator_id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "customer_id": 1,
                    "date": "2018-08-01",
                    "status": "blocked",
                    "id": 1,
                    "done": "0",
                    "administrator_id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/logs/pending-statuses/{id}": {
      "get": {
        "tags": [
          "Logs"
        ],
        "summary": "Retrieve a Pending status record",
        "description": "Work with Pending statuses.Retrieves the Pending status record with the given ID.",
        "operationId": "RetrieveaPendingstatusrecord",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Pending status record.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PendingstatusResponse"
                    },
                    {
                      "example": {
                        "customer_id": 1,
                        "date": "2018-08-01",
                        "status": "blocked",
                        "id": 1,
                        "done": "0",
                        "administrator_id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "customer_id": 1,
                  "date": "2018-08-01",
                  "status": "blocked",
                  "id": 1,
                  "done": "0",
                  "administrator_id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Logs"
        ],
        "summary": "Update a Pending status record",
        "description": "Work with Pending statuses.Update the Pending status record with the given ID.",
        "operationId": "UpdateaPendingstatusrecord",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Pending status record.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateaPendingstatusrecordrequest"
              },
              "example": {
                "date": "2018-08-20"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Logs"
        ],
        "summary": "Delete a Pending status record",
        "description": "Work with Pending statuses.Delete the Pending status record with the given ID.",
        "operationId": "DeleteaPendingstatusrecord",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Pending status record.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/logs/pending-services": {
      "get": {
        "tags": [
          "Logs"
        ],
        "summary": "List all Pending services",
        "description": "Returns a list of your Pending services.",
        "operationId": "ListallPendingservices",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PendingservicesResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "customer_id": 10,
                      "tariff_id": 2,
                      "description": "Service #1",
                      "unit_price": 10,
                      "start_date": "2018-07-01",
                      "type": "internet"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "customer_id": 10,
                    "tariff_id": 2,
                    "description": "Service #1",
                    "unit_price": 10,
                    "start_date": "2018-07-01",
                    "type": "internet"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/additional-fields/{module}": {
      "post": {
        "tags": [
          "Config"
        ],
        "summary": "Create Additional Field",
        "description": "Creates new Additional Field.",
        "operationId": "CreateAdditionalField",
        "parameters": [
          {
            "name": "module",
            "in": "path",
            "description": "Module name. List of modules:\n\n- **admins**: Administrators\n\n- **partners**: Partners\n\n- **locations**: Locations\n\n- **customers**: Customers\n\n- **api**: API keys\n\n- **tariffs_internet**: Internet tariffs\n\n- **tariffs_voice**: Voice tariffs\n\n- **tariffs_custom**: Recurring tariffs\n\n- **tariffs_one_time**: One-time plans\n\n- **bundle**: Bundles\n\n- **routers**: Routers\n\n- **voice_devices**: Voice devices\n\n- **monitoring**: Monitoring\n\n- **ipv4_networks**: IPv4 Networks\n\n- **ipv6_networks**: IPv6 Networks\n\n- **services_internet**: Services (Internet)\n\n- **services_voice**: Services (Voice)\n\n- **services_custom**: Services (Custom)\n\n- **services_bundle**: Services (Bundle)\n\n- **invoices**: Invoices\n\n- **statistics**: Statistics\n\n- **ticket**: Tickets\n\n- **instant_message**: Messages\n\n- **templates**: Templates\n\n- **customer_documents**: Customer documents\n\n- **monitoring_oid**: SNMP OID\n\n- **network_sites**: Network sites\n\n- **ipv4_networks_ip**: IPv4 Networks IP\n\n- **cards_prepaid**: Prepaid cards\n\n- **cards_refill**: Refill cards\n\n- **routers_sectors**: Routers sectors\n\n- **routers_mikrotik**: Routers (MikroTik)\n\n- **cpe**: CPE (MikroTik)\n\n- **services_voice_calls**: Voice Calls\n\n- **billing_transactions**: Transactions\n\n- **payments**: Payments\n\n- **requests**: Proforma invoices\n\n- **credit_notes**: Credit Notes\n\n- **quotes**: Quotes\n\n- **inventory_items**: Items (Inventory)\n\n- **inventory_supplier_invoices**: Supplier invoices (Inventory)\n\n- **inventory_products**: Products (Inventory)\n\n- **inventory_suppliers**: Suppliers (Inventory)\n\n- **inventory_vendors**: Vendors (Inventory)\n\n- **scheduling_project**: Scheduling project\n\n- **scheduling_task**: Tasks\n\n- **acs_devices**: ACS devices\n\n- **module_name**: for your modules",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdditionalFieldBase"
              },
              "example": {
                "name": "remark",
                "title": "Remark",
                "type": "string",
                "position": 1,
                "default_value": "none",
                "min_length": "1",
                "max_length": "128",
                "is_required": 0,
                "is_unique": 0,
                "is_add": 1,
                "show_in_list": 0,
                "searchable": 0,
                "readonly": 0,
                "disabled": 0,
                "hidden": 0,
                "select_values": "",
                "relation_module": "",
                "set_default_value": 1,
                "addon": "",
                "addon_uri": "",
                "addon_input_type": "",
                "decimals": 2
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/AdditionalFieldName"
                    },
                    {
                      "example": {
                        "name": "remark"
                      }
                    }
                  ]
                },
                "example": {
                  "name": "remark"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all Additional Fields",
        "description": "Returns a list of your Additional Fields.",
        "operationId": "ListallAdditionalFields",
        "parameters": [
          {
            "name": "module",
            "in": "path",
            "description": "Module name. List of modules:\n\n- **admins**: Administrators\n\n- **partners**: Partners\n\n- **locations**: Locations\n\n- **customers**: Customers\n\n- **api**: API keys\n\n- **tariffs_internet**: Internet tariffs\n\n- **tariffs_voice**: Voice tariffs\n\n- **tariffs_custom**: Recurring tariffs\n\n- **tariffs_one_time**: One-time plans\n\n- **bundle**: Bundles\n\n- **routers**: Routers\n\n- **voice_devices**: Voice devices\n\n- **monitoring**: Monitoring\n\n- **ipv4_networks**: IPv4 Networks\n\n- **ipv6_networks**: IPv6 Networks\n\n- **services_internet**: Services (Internet)\n\n- **services_voice**: Services (Voice)\n\n- **services_custom**: Services (Custom)\n\n- **services_bundle**: Services (Bundle)\n\n- **invoices**: Invoices\n\n- **statistics**: Statistics\n\n- **ticket**: Tickets\n\n- **instant_message**: Messages\n\n- **templates**: Templates\n\n- **customer_documents**: Customer documents\n\n- **monitoring_oid**: SNMP OID\n\n- **network_sites**: Network sites\n\n- **ipv4_networks_ip**: IPv4 Networks IP\n\n- **cards_prepaid**: Prepaid cards\n\n- **cards_refill**: Refill cards\n\n- **routers_sectors**: Routers sectors\n\n- **routers_mikrotik**: Routers (MikroTik)\n\n- **cpe**: CPE (MikroTik)\n\n- **services_voice_calls**: Voice Calls\n\n- **billing_transactions**: Transactions\n\n- **payments**: Payments\n\n- **requests**: Proforma invoices\n\n- **credit_notes**: Credit Notes\n\n- **quotes**: Quotes\n\n- **inventory_items**: Items (Inventory)\n\n- **inventory_supplier_invoices**: Supplier invoices (Inventory)\n\n- **inventory_products**: Products (Inventory)\n\n- **inventory_suppliers**: Suppliers (Inventory)\n\n- **inventory_vendors**: Vendors (Inventory)\n\n- **scheduling_project**: Scheduling project\n\n- **scheduling_task**: Tasks\n\n- **acs_devices**: ACS devices\n\n- **module_name**: for your modules",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AdditionalFieldBase"
                  },
                  "description": "",
                  "example": [
                    {
                      "name": "remark",
                      "title": "Remark",
                      "type": "string",
                      "position": 1,
                      "default_value": "none",
                      "min_length": "1",
                      "max_length": "128",
                      "is_required": 0,
                      "is_unique": 0,
                      "is_add": 1,
                      "show_in_list": 0,
                      "searchable": 0,
                      "readonly": 0,
                      "disabled": 0,
                      "hidden": 0,
                      "select_values": "",
                      "relation_module": "",
                      "set_default_value": 1,
                      "addon": "",
                      "addon_uri": "",
                      "addon_input_type": "",
                      "decimals": 2
                    }
                  ]
                },
                "example": [
                  {
                    "name": "remark",
                    "title": "Remark",
                    "type": "string",
                    "position": 1,
                    "default_value": "none",
                    "min_length": "1",
                    "max_length": "128",
                    "is_required": 0,
                    "is_unique": 0,
                    "is_add": 1,
                    "show_in_list": 0,
                    "searchable": 0,
                    "readonly": 0,
                    "disabled": 0,
                    "hidden": 0,
                    "select_values": "",
                    "relation_module": "",
                    "set_default_value": 1,
                    "addon": "",
                    "addon_uri": "",
                    "addon_input_type": "",
                    "decimals": 2
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/additional-fields/{module}--{name}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve a Additional Field",
        "description": "Work with Additional Fields.Retrieves the Additional Field with the given name.",
        "operationId": "RetrieveaAdditionalField",
        "parameters": [
          {
            "name": "module",
            "in": "path",
            "description": "Module name. List of modules:\n\n- **admins**: Administrators\n\n- **partners**: Partners\n\n- **locations**: Locations\n\n- **customers**: Customers\n\n- **api**: API keys\n\n- **tariffs_internet**: Internet tariffs\n\n- **tariffs_voice**: Voice tariffs\n\n- **tariffs_custom**: Recurring tariffs\n\n- **tariffs_one_time**: One-time plans\n\n- **bundle**: Bundles\n\n- **routers**: Routers\n\n- **voice_devices**: Voice devices\n\n- **monitoring**: Monitoring\n\n- **ipv4_networks**: IPv4 Networks\n\n- **ipv6_networks**: IPv6 Networks\n\n- **services_internet**: Services (Internet)\n\n- **services_voice**: Services (Voice)\n\n- **services_custom**: Services (Custom)\n\n- **services_bundle**: Services (Bundle)\n\n- **invoices**: Invoices\n\n- **statistics**: Statistics\n\n- **ticket**: Tickets\n\n- **instant_message**: Messages\n\n- **templates**: Templates\n\n- **customer_documents**: Customer documents\n\n- **monitoring_oid**: SNMP OID\n\n- **network_sites**: Network sites\n\n- **ipv4_networks_ip**: IPv4 Networks IP\n\n- **cards_prepaid**: Prepaid cards\n\n- **cards_refill**: Refill cards\n\n- **routers_sectors**: Routers sectors\n\n- **routers_mikrotik**: Routers (MikroTik)\n\n- **cpe**: CPE (MikroTik)\n\n- **services_voice_calls**: Voice Calls\n\n- **services_voice_messages**: Voice messages\n\n- **services_voice_data**: Voice data\n\n- **billing_transactions**: Transactions\n\n- **payments**: Payments\n\n- **requests**: Proforma invoices\n\n- **credit_notes**: Credit Notes\n\n- **quotes**: Quotes\n\n- **inventory_items**: Items (Inventory)\n\n- **inventory_supplier_invoices**: Supplier invoices (Inventory)\n\n- **inventory_products**: Products (Inventory)\n\n- **inventory_suppliers**: Suppliers (Inventory)\n\n- **inventory_vendors**: Vendors (Inventory)\n\n- **scheduling_project**: Scheduling project\n\n- **scheduling_task**: Tasks\n\n- **acs_devices**: ACS devices\n\n- **module_name**: for your modules",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "description": "The name of the desired Additional Field",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/AdditionalFieldBase"
                    },
                    {
                      "example": {
                        "name": "remark",
                        "title": "Remark",
                        "type": "string",
                        "position": 1,
                        "default_value": "none",
                        "min_length": "1",
                        "max_length": "128",
                        "is_required": 0,
                        "is_unique": 0,
                        "is_add": 1,
                        "show_in_list": 0,
                        "searchable": 0,
                        "readonly": 0,
                        "disabled": 0,
                        "hidden": 0,
                        "select_values": "",
                        "relation_module": "",
                        "set_default_value": 1,
                        "addon": "",
                        "addon_uri": "",
                        "addon_input_type": "",
                        "decimals": 2
                      }
                    }
                  ]
                },
                "example": {
                  "name": "remark",
                  "title": "Remark",
                  "type": "string",
                  "position": 1,
                  "default_value": "none",
                  "min_length": "1",
                  "max_length": "128",
                  "is_required": 0,
                  "is_unique": 0,
                  "is_add": 1,
                  "show_in_list": 0,
                  "searchable": 0,
                  "readonly": 0,
                  "disabled": 0,
                  "hidden": 0,
                  "select_values": "",
                  "relation_module": "",
                  "set_default_value": 1,
                  "addon": "",
                  "addon_uri": "",
                  "addon_input_type": "",
                  "decimals": 2
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Config"
        ],
        "summary": "Update a Additional Field",
        "description": "Work with Additional Fields.Update the Additional Field with the given name.",
        "operationId": "UpdateaAdditionalField",
        "parameters": [
          {
            "name": "module",
            "in": "path",
            "description": "Module name. List of modules:\n\n- **admins**: Administrators\n\n- **partners**: Partners\n\n- **locations**: Locations\n\n- **customers**: Customers\n\n- **api**: API keys\n\n- **tariffs_internet**: Internet tariffs\n\n- **tariffs_voice**: Voice tariffs\n\n- **tariffs_custom**: Recurring tariffs\n\n- **tariffs_one_time**: One-time plans\n\n- **bundle**: Bundles\n\n- **routers**: Routers\n\n- **voice_devices**: Voice devices\n\n- **monitoring**: Monitoring\n\n- **ipv4_networks**: IPv4 Networks\n\n- **ipv6_networks**: IPv6 Networks\n\n- **services_internet**: Services (Internet)\n\n- **services_voice**: Services (Voice)\n\n- **services_custom**: Services (Custom)\n\n- **services_bundle**: Services (Bundle)\n\n- **invoices**: Invoices\n\n- **statistics**: Statistics\n\n- **ticket**: Tickets\n\n- **instant_message**: Messages\n\n- **templates**: Templates\n\n- **customer_documents**: Customer documents\n\n- **monitoring_oid**: SNMP OID\n\n- **network_sites**: Network sites\n\n- **ipv4_networks_ip**: IPv4 Networks IP\n\n- **cards_prepaid**: Prepaid cards\n\n- **cards_refill**: Refill cards\n\n- **routers_sectors**: Routers sectors\n\n- **routers_mikrotik**: Routers (MikroTik)\n\n- **cpe**: CPE (MikroTik)\n\n- **services_voice_calls**: Voice Calls\n\n- **services_voice_messages**: Voice messages\n\n- **services_voice_data**: Voice data\n\n- **billing_transactions**: Transactions\n\n- **payments**: Payments\n\n- **requests**: Proforma invoices\n\n- **credit_notes**: Credit Notes\n\n- **quotes**: Quotes\n\n- **inventory_items**: Items (Inventory)\n\n- **inventory_supplier_invoices**: Supplier invoices (Inventory)\n\n- **inventory_products**: Products (Inventory)\n\n- **inventory_suppliers**: Suppliers (Inventory)\n\n- **inventory_vendors**: Vendors (Inventory)\n\n- **scheduling_project**: Scheduling project\n\n- **scheduling_task**: Tasks\n\n- **acs_devices**: ACS devices\n\n- **module_name**: for your modules",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "description": "The name of the desired Additional Field",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string",
                    "description": "New title for the additional field."
                  }
                }
              },
              "example": {
                "title": "New title"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Config"
        ],
        "summary": "Delete a Additional Field",
        "description": "Work with Additional Fields.Delete the Additional Field with the given name.",
        "operationId": "DeleteaAdditionalField",
        "parameters": [
          {
            "name": "module",
            "in": "path",
            "description": "Module name. List of modules:\n\n- **admins**: Administrators\n\n- **partners**: Partners\n\n- **locations**: Locations\n\n- **customers**: Customers\n\n- **api**: API keys\n\n- **tariffs_internet**: Internet tariffs\n\n- **tariffs_voice**: Voice tariffs\n\n- **tariffs_custom**: Recurring tariffs\n\n- **tariffs_one_time**: One-time plans\n\n- **bundle**: Bundles\n\n- **routers**: Routers\n\n- **voice_devices**: Voice devices\n\n- **monitoring**: Monitoring\n\n- **ipv4_networks**: IPv4 Networks\n\n- **ipv6_networks**: IPv6 Networks\n\n- **services_internet**: Services (Internet)\n\n- **services_voice**: Services (Voice)\n\n- **services_custom**: Services (Custom)\n\n- **services_bundle**: Services (Bundle)\n\n- **invoices**: Invoices\n\n- **statistics**: Statistics\n\n- **ticket**: Tickets\n\n- **instant_message**: Messages\n\n- **templates**: Templates\n\n- **customer_documents**: Customer documents\n\n- **monitoring_oid**: SNMP OID\n\n- **network_sites**: Network sites\n\n- **ipv4_networks_ip**: IPv4 Networks IP\n\n- **cards_prepaid**: Prepaid cards\n\n- **cards_refill**: Refill cards\n\n- **routers_sectors**: Routers sectors\n\n- **routers_mikrotik**: Routers (MikroTik)\n\n- **cpe**: CPE (MikroTik)\n\n- **services_voice_calls**: Voice Calls\n\n- **services_voice_messages**: Voice messages\n\n- **services_voice_data**: Voice data\n\n- **billing_transactions**: Transactions\n\n- **payments**: Payments\n\n- **requests**: Proforma invoices\n\n- **credit_notes**: Credit Notes\n\n- **quotes**: Quotes\n\n- **inventory_items**: Items (Inventory)\n\n- **inventory_supplier_invoices**: Supplier invoices (Inventory)\n\n- **inventory_products**: Products (Inventory)\n\n- **inventory_suppliers**: Suppliers (Inventory)\n\n- **inventory_vendors**: Vendors (Inventory)\n\n- **scheduling_project**: Scheduling project\n\n- **scheduling_task**: Tasks\n\n- **acs_devices**: ACS devices\n\n- **module_name**: for your modules",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "path",
            "description": "The name of the desired Additional Field",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/modules": {
      "post": {
        "tags": [
          "Config"
        ],
        "summary": "Create a Module",
        "description": "Creates a new Module.",
        "operationId": "CreateaModule",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ModuleBase"
              },
              "example": {
                "name": "access_points",
                "title": "AP",
                "root": "controllers\\admin\\NetworkingController",
                "type": "simple",
                "module": "splynx_access_points",
                "icon": "icon-wifi",
                "title_attribute_prefix": "splynx_access_points_",
                "title_attribute_suffix": "_title",
                "status": 1
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ModuleName"
                    },
                    {
                      "example": {
                        "name": "access_points"
                      }
                    }
                  ]
                },
                "example": {
                  "name": "access_points"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all Modules",
        "description": "Returns a list of your Modules.",
        "operationId": "ListallModules",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ModuleBase"
                  },
                  "description": "",
                  "example": [
                    {
                      "name": "access_points",
                      "title": "AP",
                      "root": "controllers\\admin\\NetworkingController",
                      "type": "simple",
                      "module": "splynx_access_points",
                      "icon": "icon-wifi",
                      "title_attribute_prefix": "splynx_access_points_",
                      "title_attribute_suffix": "_title",
                      "status": 1
                    }
                  ]
                },
                "example": [
                  {
                    "name": "access_points",
                    "title": "AP",
                    "root": "controllers\\admin\\NetworkingController",
                    "type": "simple",
                    "module": "splynx_access_points",
                    "icon": "icon-wifi",
                    "title_attribute_prefix": "splynx_access_points_",
                    "title_attribute_suffix": "_title",
                    "status": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/modules/{name}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve a Module",
        "description": "Work with Modules.Retrieves the Module with the given name.",
        "operationId": "RetrieveaModule",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "description": "The name of the desired Module.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ModuleBase"
                    },
                    {
                      "example": {
                        "name": "access_points",
                        "title": "AP",
                        "root": "controllers\\admin\\NetworkingController",
                        "type": "simple",
                        "module": "splynx_access_points",
                        "icon": "icon-wifi",
                        "title_attribute_prefix": "splynx_access_points_",
                        "title_attribute_suffix": "_title",
                        "status": 1
                      }
                    }
                  ]
                },
                "example": {
                  "name": "access_points",
                  "title": "AP",
                  "root": "controllers\\admin\\NetworkingController",
                  "type": "simple",
                  "module": "splynx_access_points",
                  "icon": "icon-wifi",
                  "title_attribute_prefix": "splynx_access_points_",
                  "title_attribute_suffix": "_title",
                  "status": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Config"
        ],
        "summary": "Update a Module",
        "description": "Work with Modules.Update the Module with the given name.",
        "operationId": "UpdateaModule",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "description": "The name of the desired Module.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string",
                    "description": "New module display title."
                  }
                }
              },
              "example": {
                "title": "New module title"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Config"
        ],
        "summary": "Delete a Module",
        "description": "Work with Modules.Delete the Module with the given name.",
        "operationId": "DeleteaModule",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "description": "The name of the desired Module.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/module/{name}": {
      "post": {
        "tags": [
          "Config"
        ],
        "summary": "Create Module item",
        "description": "Creates new Module item. First you must create additional fields for Module. In this example we use module `access_points` and its fields: `title` and `ip`",
        "operationId": "CreateModuleitem",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "description": "The name of the desired Module.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ModuleitemBase"
              },
              "example": {
                "additional_attributes": [
                  {
                    "title": "Main AP",
                    "ip": "192.168.1.145"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ModuleitemId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all Module items",
        "description": "Returns a list of your Module items.",
        "operationId": "ListallModuleitems",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ModuleitemResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "additional_attributes": [
                        {
                          "title": "Main AP",
                          "ip": "192.168.1.145"
                        }
                      ],
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "additional_attributes": [
                      {
                        "title": "Main AP",
                        "ip": "192.168.1.145"
                      }
                    ],
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/module/{name}--{id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve Module item",
        "description": "Work with Module item. In this example we use module `access_points` and its additional fields: `title` and `ip`Retrieves Module item with the given ID.",
        "operationId": "RetrieveModuleitem",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "description": "The name of the desired Module.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Module item.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ModuleitemResponse"
                    },
                    {
                      "example": {
                        "additional_attributes": [
                          {
                            "title": "Main AP",
                            "ip": "192.168.1.145"
                          }
                        ],
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "additional_attributes": [
                    {
                      "title": "Main AP",
                      "ip": "192.168.1.145"
                    }
                  ],
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Config"
        ],
        "summary": "Update Module item",
        "description": "Work with Module item. In this example we use module `access_points` and its additional fields: `title` and `ip`Update Module item with the given ID.",
        "operationId": "UpdateModuleitem",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "description": "The name of the desired Module.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Module item.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  }
                },
                "example": {
                  "title": "Slave AP"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Config"
        ],
        "summary": "Delete Module item",
        "description": "Work with Module item. In this example we use module `access_points` and its additional fields: `title` and `ip`Delete Module item with the given ID.",
        "operationId": "DeleteModuleitem",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "description": "The name of the desired Module.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Module item.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/entry-points": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all Entry Points",
        "description": "Returns a list of your Entry Points.",
        "operationId": "ListallEntryPoints",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EntryPointResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "module": "splynx_paypal_addon",
                      "place": "'portal'",
                      "type": "action_link",
                      "size": "large",
                      "title": "Pay by Paypal",
                      "root": "controllers\\portal\\DashboardController",
                      "model": "Invoices",
                      "icon": "fa-university",
                      "background": "#d88386",
                      "url": "/paypal/pay-invoice",
                      "code": "",
                      "partners": [],
                      "name": "paypal_rb_invoice",
                      "location": "after_content",
                      "order": 0,
                      "enabled": true,
                      "location_geo": [],
                      "payment_type": [],
                      "payment_account_id": ""
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "module": "splynx_paypal_addon",
                    "place": "'portal'",
                    "type": "action_link",
                    "size": "large",
                    "title": "Pay by Paypal",
                    "root": "controllers\\portal\\DashboardController",
                    "model": "Invoices",
                    "icon": "fa-university",
                    "background": "#d88386",
                    "url": "/paypal/pay-invoice",
                    "code": "",
                    "partners": [],
                    "name": "paypal_rb_invoice",
                    "location": "after_content",
                    "order": 0,
                    "enabled": true,
                    "location_geo": [],
                    "payment_type": [],
                    "payment_account_id": ""
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/entry-points/{id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve a Entry Point",
        "description": "Get Entry Point.Retrieves the Entry Point with the given ID.",
        "operationId": "RetrieveaEntryPoint",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Entry Point.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/EntryPointResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "module": "splynx_paypal_addon",
                        "place": "'portal'",
                        "type": "action_link",
                        "size": "large",
                        "title": "Pay by Paypal",
                        "root": "controllers\\portal\\DashboardController",
                        "model": "Invoices",
                        "icon": "fa-university",
                        "background": "#d88386",
                        "url": "/paypal/pay-invoice",
                        "code": "",
                        "partners": [],
                        "name": "paypal_rb_invoice",
                        "location": "after_content",
                        "order": 0,
                        "enabled": true,
                        "location_geo": [],
                        "payment_type": [],
                        "payment_account_id": ""
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "module": "splynx_paypal_addon",
                  "place": "'portal'",
                  "type": "action_link",
                  "size": "large",
                  "title": "Pay by Paypal",
                  "root": "controllers\\portal\\DashboardController",
                  "model": "Invoices",
                  "icon": "fa-university",
                  "background": "#d88386",
                  "url": "/paypal/pay-invoice",
                  "code": "",
                  "partners": [],
                  "name": "paypal_rb_invoice",
                  "location": "after_content",
                  "order": 0,
                  "enabled": true,
                  "location_geo": [],
                  "payment_type": [],
                  "payment_account_id": ""
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/templates": {
      "post": {
        "tags": [
          "Config"
        ],
        "summary": "Create Template",
        "description": "Add Template.",
        "operationId": "CreateTemplate",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TemplateBase"
              },
              "example": {
                "title": "Template title",
                "type": "mail",
                "subject": "Template subject",
                "description": "Template description",
                "code": "Template body"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TemplateId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all Templates",
        "description": "Returns a list of your Templates.",
        "operationId": "ListallTemplates",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TemplateResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "title": "Template title",
                      "type": "mail",
                      "description": "About template",
                      "subject": "Template subject",
                      "code": "Template body"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "title": "Template title",
                    "type": "mail",
                    "description": "About template",
                    "subject": "Template subject",
                    "code": "Template body"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/templates/{id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve a Template",
        "description": "Work with Template.Retrieves the Template with the given ID.",
        "operationId": "RetrieveaTemplate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Template.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TemplateResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "title": "Template title",
                        "type": "mail",
                        "description": "About template",
                        "subject": "Template subject",
                        "code": "Template body"
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "title": "Template title",
                  "type": "mail",
                  "description": "About template",
                  "subject": "Template subject",
                  "code": "Template body"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Config"
        ],
        "summary": "Update Template",
        "description": "Work with Template.Update Internet tariff with the given ID.",
        "operationId": "UpdateTemplate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Template.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string",
                    "description": "Template title."
                  },
                  "type": {
                    "type": "string",
                    "description": "Template type."
                  },
                  "subject": {
                    "type": "string",
                    "description": "Template subject (for email-style templates)."
                  },
                  "code": {
                    "type": "string",
                    "description": "Template body / code."
                  }
                }
              },
              "example": {
                "title": "Welcome",
                "type": "email",
                "subject": "Welcome to Splynx",
                "code": "Hello {{name}}"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Config"
        ],
        "summary": "Delete Template",
        "description": "Work with Template.Delete Template with the given ID.",
        "operationId": "DeleteTemplate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Template.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/templates/{template_id}-render-{customer_id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Template Rendered with Customer data_Retrieve a Template",
        "description": "Render Template including Customer data.Retrieves the rendered Template with the given Template ID and Customer ID.",
        "operationId": "TemplateRenderedwithCustomerdata_RetrieveaTemplate",
        "parameters": [
          {
            "name": "template_id",
            "in": "path",
            "description": "The ID of the desired Template.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 40
            }
          },
          {
            "name": "customer_id",
            "in": "path",
            "description": "The ID of the Customer or Lead.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "params",
            "in": "query",
            "description": "Optional custom data passed to the template render. In addition to the standard placeholders available for the template type, you can supply an array of key => value pairs — each key becomes a placeholder usable in the template, e.g. `params[greeting]=Hello` renders as `{{ greeting }}`. Nested keys are supported (`params[order][number]=1024` renders as `{{ order.number }}`). Passed as a query object.\n\nExample: `params[greeting]=Hello&params[order][number]=1024`.",
            "required": false,
            "style": "deepObject",
            "explode": true,
            "schema": {
              "type": "object",
              "example": {
                "greeting": "Hello",
                "order": {
                  "number": 1024
                }
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/RenderedTemplate"
                    },
                    {
                      "example": {
                        "result": "Rendered Template"
                      }
                    }
                  ]
                },
                "example": {
                  "result": "Rendered Template"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/sms": {
      "post": {
        "tags": [
          "Config"
        ],
        "summary": "Create and add Sms to queue for sending",
        "description": "List sms collection.Creates a new Sms and add to queue for sending.",
        "operationId": "CreateandaddSmstoqueueforsending",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SmsBase"
              },
              "example": {
                "type": "message",
                "message_id": 10,
                "customer_id": 1,
                "status": "sent",
                "priority": 2,
                "datetime_added": "2017-01-01 00:00:00",
                "datetime_start_sending": "2017-01-01 00:00:00",
                "datetime_sent": "2017-01-01 00:00:00",
                "recipient": "38094736578",
                "message": "Sms message.",
                "admin_id": 1,
                "notification_category": "billing_and_payments"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SmsId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all sms",
        "description": "List sms collection.Returns a list of your Sms.",
        "operationId": "Listallsms",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SmsResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "notification_category": "billing_and_payments",
                      "type": "message",
                      "message_id": 10,
                      "customer_id": 1,
                      "status": "sent",
                      "priority": 2,
                      "datetime_added": "2017-01-01 00:00:00",
                      "datetime_start_sending": "2017-01-01 00:00:00",
                      "datetime_sent": "2017-01-01 00:00:00",
                      "recipient": "38094736578",
                      "message": "Sms message.",
                      "admin_id": 1,
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "notification_category": "promotions_and_offers",
                    "type": "message",
                    "message_id": 10,
                    "customer_id": 1,
                    "status": "sent",
                    "priority": 2,
                    "datetime_added": "2017-01-01 00:00:00",
                    "datetime_start_sending": "2017-01-01 00:00:00",
                    "datetime_sent": "2017-01-01 00:00:00",
                    "recipient": "38094736578",
                    "message": "Sms message.",
                    "admin_id": 1,
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/sms/{id}--send": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Send a Sms",
        "description": "Forced sending sms to recipient.Forced sending the Sms to recipient.",
        "operationId": "SendaSms",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Sms.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/sms/{id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve a Sms",
        "description": "Work with sms.Retrieves the Sms with the given ID.",
        "operationId": "RetrieveaSms",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Sms.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SmsResponse"
                    },
                    {
                      "example": {
                        "notification_category": "promotions_and_offers",
                        "type": "message",
                        "message_id": 10,
                        "customer_id": 1,
                        "status": "sent",
                        "priority": 2,
                        "datetime_added": "2017-01-01 00:00:00",
                        "datetime_start_sending": "2017-01-01 00:00:00",
                        "datetime_sent": "2017-01-01 00:00:00",
                        "recipient": "38094736578",
                        "message": "Sms message.",
                        "admin_id": 1,
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "notification_category": "promotions_and_offers",
                  "type": "message",
                  "message_id": 10,
                  "customer_id": 1,
                  "status": "sent",
                  "priority": 2,
                  "datetime_added": "2017-01-01 00:00:00",
                  "datetime_start_sending": "2017-01-01 00:00:00",
                  "datetime_sent": "2017-01-01 00:00:00",
                  "recipient": "38094736578",
                  "message": "Sms message.",
                  "admin_id": 1,
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Config"
        ],
        "summary": "Update a Sms",
        "description": "Work with sms.Update the Sms with the given ID.",
        "operationId": "UpdateaSms",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Sms.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "message": {
                    "type": "string",
                    "description": "SMS message body."
                  }
                }
              },
              "example": {
                "message": "Updated SMS message"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Config"
        ],
        "summary": "Delete a Sms",
        "description": "Work with sms.Delete the Sms with the given ID.",
        "operationId": "DeleteaSms",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Sms.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/mail": {
      "post": {
        "tags": [
          "Config"
        ],
        "summary": "Create and add Email to queue for sending",
        "description": "List emails collection.Creates a new Email and add to queue for sending.",
        "operationId": "CreateandaddEmailtoqueueforsending",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmailBaseCreate"
              },
              "example": {
                "type": "message",
                "subject": "Reminder 1",
                "message_id": 50,
                "bcc": "template@mail.box,template2@mail.box",
                "cc": "template@mail.box,template2@mail.box",
                "customer_id": 1,
                "from": "info@splynx.com",
                "status": "sent",
                "priority": 2,
                "datetime_added": "2017-01-01 00:00:00",
                "datetime_start_sending": "2017-01-01 00:00:00",
                "datetime_sent": "2017-01-01 00:00:00",
                "recipient": "recipient@splynx.com",
                "message": "Email message",
                "attachments": [
                  {
                    "type": "file",
                    "id": 4
                  }
                ],
                "sendCopy": true,
                "admin_id": 1,
                "notification_category": "promotions_and_offers"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/EmailId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all emails",
        "description": "List emails collection.Returns a list of your Emails.",
        "operationId": "Listallemails",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EmailResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "notification_category": "promotions_and_offers",
                      "type": "message",
                      "subject": "Reminder 1",
                      "message_id": 50,
                      "bcc": "template@mail.box,template2@mail.box",
                      "cc": "template@mail.box,template2@mail.box",
                      "customer_id": 1,
                      "from": "info@splynx.com",
                      "status": "sent",
                      "priority": 2,
                      "datetime_added": "2017-01-01 00:00:00",
                      "datetime_start_sending": "2017-01-01 00:00:00",
                      "datetime_sent": "2017-01-01 00:00:00",
                      "recipient": "recipient@splynx.com",
                      "message": "Email message",
                      "sendCopy": true,
                      "admin_id": 1,
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "notification_category": "promotions_and_offers",
                    "type": "message",
                    "subject": "Reminder 1",
                    "message_id": 50,
                    "bcc": "template@mail.box,template2@mail.box",
                    "cc": "template@mail.box,template2@mail.box",
                    "customer_id": 1,
                    "from": "info@splynx.com",
                    "status": "sent",
                    "priority": 2,
                    "datetime_added": "2017-01-01 00:00:00",
                    "datetime_start_sending": "2017-01-01 00:00:00",
                    "datetime_sent": "2017-01-01 00:00:00",
                    "recipient": "recipient@splynx.com",
                    "message": "Email message",
                    "sendCopy": true,
                    "admin_id": 1,
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/mail/{id}--send": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Send a Email",
        "description": "Forced sending email to recipient.Forced sending the Email to recipient.",
        "operationId": "SendaEmail",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Email.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/mail/{id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve a Email",
        "description": "Work with email.Retrieves the Email with the given ID.",
        "operationId": "RetrieveaEmail",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Email.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/EmailResponse"
                    },
                    {
                      "example": {
                        "notification_category": "promotions_and_offers",
                        "type": "message",
                        "subject": "Reminder 1",
                        "message_id": 50,
                        "bcc": "template@mail.box,template2@mail.box",
                        "cc": "template@mail.box,template2@mail.box",
                        "customer_id": 1,
                        "from": "info@splynx.com",
                        "status": "sent",
                        "priority": 2,
                        "datetime_added": "2017-01-01 00:00:00",
                        "datetime_start_sending": "2017-01-01 00:00:00",
                        "datetime_sent": "2017-01-01 00:00:00",
                        "recipient": "recipient@splynx.com",
                        "message": "Email message",
                        "sendCopy": true,
                        "admin_id": 1,
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "notification_category": "promotions_and_offers",
                  "type": "message",
                  "subject": "Reminder 1",
                  "message_id": 50,
                  "bcc": "template@mail.box,template2@mail.box",
                  "cc": "template@mail.box,template2@mail.box",
                  "customer_id": 1,
                  "from": "info@splynx.com",
                  "status": "sent",
                  "priority": 2,
                  "datetime_added": "2017-01-01 00:00:00",
                  "datetime_start_sending": "2017-01-01 00:00:00",
                  "datetime_sent": "2017-01-01 00:00:00",
                  "recipient": "recipient@splynx.com",
                  "message": "Email message",
                  "sendCopy": true,
                  "admin_id": 1,
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Config"
        ],
        "summary": "Update a Email",
        "description": "Work with email.Update the Email with the given ID.",
        "operationId": "UpdateaEmail",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Email.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "message": {
                    "type": "string",
                    "description": "Mail message body (text or HTML)."
                  }
                }
              },
              "example": {
                "message": "Updated message body"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Config"
        ],
        "summary": "Delete a Email",
        "description": "Work with email.Delete the Email with the given ID.",
        "operationId": "DeleteaEmail",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Email.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/download/{module}--{document_id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Download document",
        "description": "Download document.",
        "operationId": "Downloaddocument",
        "parameters": [
          {
            "name": "module",
            "in": "path",
            "description": "The module type. Module types list:\n\n- **af**: Documents from additional fields with type `file`\n\n- **lead_documents**: Lead documents\n\n- **customer_documents**: Customer documents\n\n- **uploads**: Uploaded documents\n\n- **ticket_attachment**: Ticket attachments\n\n- **invoices**: Invoice documents\n\n- **invoices_export**: Invoices export\n\n- **invoices_charge**: Invoices charge\n\n- **credit_notes**: Credit note documents\n\n- **credit_notes_export**: Credit notes export\n\n- **requests**: Proforma invoice documents\n\n- **requests_export**: Proforma invoice export\n\n- **requests_charge**: Proforma invoice charge\n\n- **payments**: Payment documents\n\n- **payments_export**: Payments export\n\n- **cdr**: CDR history documents\n\n- **inventory_supplier_invoices**: Inventory supplier invoice documents\n\n- **inventory_items**: Inventory item documents\n\n- **inventory_products**: Inventory product documents\n\n- **cards_export**: Cards export\n\n- **admins_avatar**: Admins avatar (document_id must be id of desired admin)",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "document_id",
            "in": "path",
            "description": "The ID of the document",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "af_module",
            "in": "query",
            "description": "Additional field module. Used only with module **af**",
            "required": true,
            "schema": {
              "type": "string",
              "example": "locations"
            }
          },
          {
            "name": "field",
            "in": "query",
            "description": "Additional field name. Used only with module **af**",
            "required": true,
            "schema": {
              "type": "string",
              "example": "zip_code"
            }
          },
          {
            "name": "cards_type",
            "in": "query",
            "description": "Cards type. Used only with module **cards_export**",
            "required": true,
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/cards_type"
                },
                {
                  "description": "Cards type. Used only with module **cards_export**"
                }
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/DownloadResponse"
                    },
                    {
                      "example": {
                        "name": "test_document.pdf",
                        "content_type": "application\\/pdf",
                        "content": "VBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlIC9QYWdlC..."
                      }
                    }
                  ]
                },
                "example": {
                  "name": "test_document.pdf",
                  "content_type": "application\\/pdf",
                  "content": "VBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlIC9QYWdlC..."
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/inventory-stocks": {
      "post": {
        "tags": [
          "Config"
        ],
        "summary": "Create a Inventory Stock",
        "description": "Creates a new Inventory Stock.",
        "operationId": "CreateaInventoryStock",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StockCreate"
              },
              "example": {
                "name": "Stock #315955388",
                "id": 1
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/StockId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all Inventory Stocks",
        "description": "Returns a list of your Inventory Stocks.",
        "operationId": "ListallInventoryStocks",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StockResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "name": "Stock #315955388",
                      "id": 1,
                      "type": 1,
                      "is_base": 0
                    }
                  ]
                },
                "example": [
                  {
                    "name": "Stock #315955388",
                    "id": 1,
                    "type": 1,
                    "is_base": 0
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/inventory-stock/{id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve a Inventory Stock",
        "description": "Work with Inventory Stocks.Retrieves the Inventory Stock with the given ID.",
        "operationId": "RetrieveaInventoryStock",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Inventory Stock.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/StockResponse"
                    },
                    {
                      "example": {
                        "name": "Stock #315955388",
                        "id": 1,
                        "type": 1,
                        "is_base": 0
                      }
                    }
                  ]
                },
                "example": {
                  "name": "Stock #315955388",
                  "id": 1,
                  "type": 1,
                  "is_base": 0
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Config"
        ],
        "summary": "Update a Inventory Stock",
        "description": "Work with Inventory Stocks.Update the Inventory Stock with the given ID.",
        "operationId": "UpdateaInventoryStock",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateaInventoryStockrequest"
              },
              "example": {
                "name": "Stock #315955389"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Config"
        ],
        "summary": "Delete a Inventory Stock",
        "description": "Work with Inventory Stocks.Delete the Inventory Stock with the given ID.",
        "operationId": "DeleteaInventoryStock",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/config": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List settings",
        "description": "Returns a list of your config settings.\n\n## Access restrictions\n\nAdministrators have access to all settings. Customers and unauthorized users have restricted access to config settings (see below for details).\n\n**Accessible settings for customers:**\n\n| Module   |     Path    |  Keys         |\n|----------|:-----------:|--------------:|\n|   main   |  cap        |       All     |\n|   main   | cards       |       All     |\n|   main   | portal      |       All     |\n|   main   | system      |       All     |\n|   main   | preferences |   portal_logo |\n\n**Accessible settings for unauthorized users:**\n\n| Module   |     Path    |  Keys         |\n|----------|:-----------:|--------------:|\n|   main   | portal      |       reset_password, reset_password_type, authentication_field, portal_title     |",
        "operationId": "Listsettings",
        "parameters": [
          {
            "name": "module",
            "in": "query",
            "description": "The config module. Example modules:\n\n- **add-on**: Add-on settings module\n\n- **main**: Base settings module.\n\n- **finance**: Finance settings module.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "main"
            }
          },
          {
            "name": "path",
            "in": "query",
            "description": "Group of settings or add-on name.\n\n- **splynx_paypal_addon**: Paypal add-on settings group\n\n- **portal**: Portal settings group",
            "required": true,
            "schema": {
              "type": "string",
              "example": "portal"
            }
          },
          {
            "name": "key",
            "in": "query",
            "description": "Config setting name to retrieve",
            "required": true,
            "schema": {
              "type": "string",
              "example": "authentication_field"
            }
          },
          {
            "name": "partner_id",
            "in": "query",
            "description": "Partner id. Use it for work with per partner settings.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 2
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ConfigResponse"
                    },
                    {
                      "example": {
                        "ask_password": true,
                        "top_up_enabled": true,
                        "...": "And other settings according to module and path"
                      }
                    }
                  ]
                },
                "example": {
                  "ask_password": true,
                  "top_up_enabled": true,
                  "...": "And other settings according to module and path"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Config"
        ],
        "summary": "Update settings",
        "description": "Update config settings.",
        "operationId": "Updatesettings",
        "parameters": [
          {
            "name": "module",
            "in": "query",
            "description": "The config module. Example modules:\n\n- **add-on**: Add-on settings module\n\n- **main**: Base settings module.\n\n- **finance**: Finance settings module.",
            "required": true,
            "schema": {
              "type": "string",
              "example": "main"
            }
          },
          {
            "name": "path",
            "in": "query",
            "description": "Group of settings or add-on name.\n\n- **splynx_paypal_addon**: Paypal add-on settings group\n\n- **portal**: Portal settings group",
            "required": true,
            "schema": {
              "type": "string",
              "example": "portal"
            }
          },
          {
            "name": "key",
            "in": "query",
            "description": "Config setting name to retrieve",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "authentication_field"
            }
          },
          {
            "name": "partner_id",
            "in": "query",
            "description": "Partner id. Use it for work with per partner settings.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 2
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Updatesettingsrequest"
              },
              "example": {
                "billing_date": 5,
                "billing_due": 15
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/company-info": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all Company Info",
        "description": "Returns list of your Companies info.",
        "operationId": "ListallCompanyInfo",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CompanyInfo"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "invoice_template_id": 5,
                      "credit_note_template_id": 4,
                      "request_template_id": 6,
                      "receipt_template_id": 9,
                      "quote_template_id": 10,
                      "reminder_mail_template_id": 8,
                      "reminder_sms_template_id": 7,
                      "report_statements_template_id": 11,
                      "company_name": "Your company name",
                      "street_1": "Street one",
                      "street_2": "Street two",
                      "zip": "12345",
                      "city": "Prague",
                      "country": "Czech Republic",
                      "iso_country": "Czechia",
                      "iso_country_code": "CZ",
                      "email": "info@mycompany.box",
                      "phone": "+420123456879",
                      "company_id": "123456",
                      "company_vat": "111111",
                      "vat_percent": 15.55,
                      "bank_account": "123321",
                      "bank_name": "Bank Name",
                      "bank_address": "Street 3",
                      "splynx_url": "https://your-company.example.com/",
                      "partner_percent": 1,
                      "file_logo": 1,
                      "tax_id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "invoice_template_id": 5,
                    "credit_note_template_id": 4,
                    "request_template_id": 6,
                    "receipt_template_id": 9,
                    "quote_template_id": 10,
                    "reminder_mail_template_id": 8,
                    "reminder_sms_template_id": 7,
                    "report_statements_template_id": 11,
                    "company_name": "Your company name",
                    "street_1": "Street one",
                    "street_2": "Street two",
                    "zip": "12345",
                    "city": "Prague",
                    "country": "Czech Republic",
                    "iso_country": "Czechia",
                    "iso_country_code": "CZ",
                    "email": "info@mycompany.box",
                    "phone": "+420123456879",
                    "company_id": "123456",
                    "company_vat": "111111",
                    "vat_percent": 15.55,
                    "bank_account": "123321",
                    "bank_name": "Bank Name",
                    "bank_address": "Street 3",
                    "splynx_url": "https://your-company.example.com/",
                    "partner_percent": 1,
                    "file_logo": 1,
                    "tax_id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/company-info/{id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve Company Info",
        "description": "Work with Company Info.Retrieves Company Info with the given Partner ID.",
        "operationId": "RetrieveCompanyInfo",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Company Info (Partner ID).",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CompanyInfo"
                    },
                    {
                      "example": {
                        "id": 1,
                        "invoice_template_id": 5,
                        "credit_note_template_id": 4,
                        "request_template_id": 6,
                        "receipt_template_id": 9,
                        "quote_template_id": 10,
                        "reminder_mail_template_id": 8,
                        "reminder_sms_template_id": 7,
                        "report_statements_template_id": 11,
                        "company_name": "Your company name",
                        "street_1": "Street one",
                        "street_2": "Street two",
                        "zip": "12345",
                        "city": "Prague",
                        "country": "Czech Republic",
                        "iso_country": "Czechia",
                        "iso_country_code": "CZ",
                        "email": "info@mycompany.box",
                        "phone": "+420123456879",
                        "company_id": "123456",
                        "company_vat": "111111",
                        "vat_percent": 15.55,
                        "bank_account": "123321",
                        "bank_name": "Bank Name",
                        "bank_address": "Street 3",
                        "splynx_url": "https://your-company.example.com/",
                        "partner_percent": 1,
                        "file_logo": 1,
                        "tax_id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "invoice_template_id": 5,
                  "credit_note_template_id": 4,
                  "request_template_id": 6,
                  "receipt_template_id": 9,
                  "quote_template_id": 10,
                  "reminder_mail_template_id": 8,
                  "reminder_sms_template_id": 7,
                  "report_statements_template_id": 11,
                  "company_name": "Your company name",
                  "street_1": "Street one",
                  "street_2": "Street two",
                  "zip": "12345",
                  "city": "Prague",
                  "country": "Czech Republic",
                  "iso_country": "Czechia",
                  "iso_country_code": "CZ",
                  "email": "info@mycompany.box",
                  "phone": "+420123456879",
                  "company_id": "123456",
                  "company_vat": "111111",
                  "vat_percent": 15.55,
                  "bank_account": "123321",
                  "bank_name": "Bank Name",
                  "bank_address": "Street 3",
                  "splynx_url": "https://your-company.example.com/",
                  "partner_percent": 1,
                  "file_logo": 1,
                  "tax_id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/cdr-import": {
      "post": {
        "tags": [
          "Config"
        ],
        "summary": "Process CDR import",
        "description": "Import CDR data.Process new CDR import.",
        "operationId": "ProcessCDRimport",
        "parameters": [],
        "requestBody": {
          "description": "All data must be divided into 3 required elements: data, columns, params.<br>\nData is array of data to import, columns is selected columns according to columns in data, params is additional params.<br>\nSee example below",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "data",
                  "columns",
                  "params"
                ],
                "properties": {
                  "data": {
                    "type": "array",
                    "description": "Array of CDR rows. Each row is an array of values aligned with `columns`.",
                    "items": {
                      "type": "array",
                      "items": {}
                    }
                  },
                  "columns": {
                    "type": "array",
                    "description": "Names of columns in order, mapping to fields of CDR Import Base (`source`, `datetime`, `duration`, `sell_price_with_vat`, `comment`, `category`, `destination`, etc.).",
                    "items": {
                      "type": "string"
                    }
                  },
                  "params": {
                    "type": "object",
                    "description": "Additional import params shared across all rows (`type`, `provider_id`, etc.).",
                    "additionalProperties": true
                  }
                },
                "example": {
                  "data": [
                    [
                      987946521,
                      "2017-10-09 15:11:00",
                      30,
                      29.99,
                      "My comment",
                      "Interprovincial",
                      "65421324"
                    ],
                    [
                      541984435,
                      "2017-10-10 16:55:00",
                      40,
                      19.99,
                      "Second comment",
                      "Interprovincial",
                      "8798324"
                    ],
                    [
                      842198756,
                      "2017-10-11 05:11:00",
                      12,
                      9.99,
                      "",
                      "Interprovincial",
                      "98795465"
                    ]
                  ],
                  "columns": [
                    "source",
                    "datetime",
                    "duration",
                    "sell_price_with_vat",
                    "comment",
                    "category",
                    "destination"
                  ],
                  "params": {
                    "type": "call",
                    "provider_id": "1"
                  }
                }
              },
              "example": {
                "data": [
                  [
                    987946521,
                    "2017-10-09 15:11:00",
                    30,
                    29.99,
                    "My comment",
                    "Interprovincial",
                    "65421324"
                  ],
                  [
                    541984435,
                    "2017-10-10 16:55:00",
                    40,
                    19.99,
                    "Second comment",
                    "Interprovincial",
                    "8798324"
                  ],
                  [
                    842198756,
                    "2017-10-11 05:11:00",
                    12,
                    9.99,
                    "",
                    "Interprovincial",
                    "98795465"
                  ]
                ],
                "columns": [
                  "source",
                  "datetime",
                  "duration",
                  "sell_price_with_vat",
                  "comment",
                  "category",
                  "destination"
                ],
                "params": {
                  "type": "call",
                  "provider_id": "1"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ImportId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/portal/profile/additional-attributes": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all additional attributes",
        "description": "Work with additional attributes of Customer profile.Returns a list of Customer profile additional attributes.",
        "operationId": "Listalladditionalattributes",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ProfileAdditionalAttrbiutesResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "name": "remark",
                      "title": "Remark",
                      "type": "string",
                      "position": 1,
                      "default_value": "none",
                      "min_length": "1",
                      "max_length": "128",
                      "is_required": 0,
                      "is_unique": 0,
                      "is_add": 1,
                      "show_in_list": 0,
                      "searchable": 0,
                      "readonly": 0,
                      "disabled": 0,
                      "hidden": 0,
                      "select_values": "",
                      "relation_module": "",
                      "set_default_value": 1,
                      "addon": "",
                      "addon_uri": "",
                      "addon_input_type": "",
                      "decimals": 2,
                      "values": [
                        "view",
                        "edit"
                      ],
                      "can_be_edited": true
                    }
                  ]
                },
                "example": [
                  {
                    "name": "remark",
                    "title": "Remark",
                    "type": "string",
                    "position": 1,
                    "default_value": "none",
                    "min_length": "1",
                    "max_length": "128",
                    "is_required": 0,
                    "is_unique": 0,
                    "is_add": 1,
                    "show_in_list": 0,
                    "searchable": 0,
                    "readonly": 0,
                    "disabled": 0,
                    "hidden": 0,
                    "select_values": "",
                    "relation_module": "",
                    "set_default_value": 1,
                    "addon": "",
                    "addon_uri": "",
                    "addon_input_type": "",
                    "decimals": 2,
                    "values": [
                      "view",
                      "edit"
                    ],
                    "can_be_edited": true
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Config"
        ],
        "summary": "Update an attribute",
        "description": "Work with additional attributes of Customer profile.Update the Attribute with the given name.",
        "operationId": "Updateanattribute",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Updateanattributerequest"
              },
              "example": {
                "values": [
                  "view"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/scheduling-project-types": {
      "post": {
        "tags": [
          "Config"
        ],
        "summary": "Create a Scheduling Project Types",
        "description": "Creates a new Scheduling Project Types.",
        "operationId": "CreateaSchedulingProjectTypes",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SchedulingProjectTypeBase"
              },
              "example": {
                "title": "Low Priority"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SchedulingProjectTypeId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all Scheduling Project Types",
        "description": "Returns a list of your Scheduling Project Types.",
        "operationId": "ListallSchedulingProjectTypes",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SchedulingProjectTypeResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "title": "Low Priority",
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "title": "Low Priority",
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/scheduling-project-types/{id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve a Scheduling Project Type",
        "description": "Work with Scheduling Project Type.Retrieves the Scheduling Project Type with the given ID.",
        "operationId": "RetrieveaSchedulingProjectType",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Scheduling Project Type.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SchedulingProjectTypeResponse"
                    },
                    {
                      "example": {
                        "title": "Low Priority",
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "title": "Low Priority",
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Config"
        ],
        "summary": "Update a Scheduling Project Type",
        "description": "Work with Scheduling Project Type.Update the Scheduling Project Type with the given ID.",
        "operationId": "UpdateaSchedulingProjectType",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Scheduling Project Type.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateaSchedulingProjectTyperequest"
              },
              "example": {
                "title": "High priority"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Config"
        ],
        "summary": "Delete a Scheduling Project Type",
        "description": "Work with Scheduling Project Type.Delete the Scheduling Project Type with the given ID.",
        "operationId": "DeleteaSchedulingProjectType",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Scheduling Project Type.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/scheduling-project-categories": {
      "post": {
        "tags": [
          "Config"
        ],
        "summary": "Create a Scheduling Project Categories",
        "description": "Creates a new Scheduling Project Categories.",
        "operationId": "CreateaSchedulingProjectCategories",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SchedulingProjectCategoryBase"
              },
              "example": {
                "title": "First project category"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SchedulingProjectCategoryId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all Scheduling Project Categories",
        "description": "Returns a list of your Scheduling Project Categories.",
        "operationId": "ListallSchedulingProjectCategories",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SchedulingProjectCategoryResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "title": "First project category",
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "title": "First project category",
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/scheduling-project-categories/{id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve a Scheduling Project Category",
        "description": "Work with Scheduling Project Category.Retrieves the Scheduling Project Category with the given ID.",
        "operationId": "RetrieveaSchedulingProjectCategory",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Scheduling Project Category.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SchedulingProjectCategoryResponse"
                    },
                    {
                      "example": {
                        "title": "First project category",
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "title": "First project category",
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Config"
        ],
        "summary": "Update a Scheduling Project Category",
        "description": "Work with Scheduling Project Category.Update the Scheduling Project Category with the given ID.",
        "operationId": "UpdateaSchedulingProjectCategory",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Scheduling Project Category.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateaSchedulingProjectCategoryrequest"
              },
              "example": {
                "title": "Project Category name"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Config"
        ],
        "summary": "Delete a Scheduling Project Category",
        "description": "Work with Scheduling Project Category.Delete the Scheduling Project Category with the given ID.",
        "operationId": "DeleteaSchedulingProjectCategory",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Scheduling Project Category.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/scheduling-workflow": {
      "post": {
        "tags": [
          "Config"
        ],
        "summary": "Create a Scheduling Workflow",
        "description": "Creates a new Scheduling Workflow.",
        "operationId": "CreateaSchedulingWorkflow",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SchedulingWorkflowBase"
              },
              "example": {
                "title": "First workflow",
                "items": [
                  {
                    "title": "New",
                    "position": 1,
                    "stage": "new",
                    "delete": 1
                  },
                  {
                    "title": "In progress",
                    "position": 2,
                    "stage": "in_progress",
                    "delete": 1
                  },
                  {
                    "title": "Done",
                    "position": 3,
                    "stage": "done",
                    "delete": 1
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SchedulingWorkflowId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all Scheduling Workflow",
        "description": "Returns a list of your Scheduling Workflow.",
        "operationId": "ListallSchedulingWorkflow",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SchedulingWorkflowResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "title": "First workflow",
                      "items": [
                        {
                          "title": "New",
                          "position": 1,
                          "stage": "new",
                          "delete": 1
                        },
                        {
                          "title": "In progress",
                          "position": 2,
                          "stage": "in_progress",
                          "delete": 1
                        },
                        {
                          "title": "Done",
                          "position": 3,
                          "stage": "done",
                          "delete": 1
                        }
                      ],
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "title": "First workflow",
                    "items": [
                      {
                        "title": "New",
                        "position": 1,
                        "stage": "new",
                        "delete": 1
                      },
                      {
                        "title": "In progress",
                        "position": 2,
                        "stage": "in_progress",
                        "delete": 1
                      },
                      {
                        "title": "Done",
                        "position": 3,
                        "stage": "done",
                        "delete": 1
                      }
                    ],
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/scheduling-workflow/{id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve a Scheduling Workflow",
        "description": "Work with Scheduling Workflow.Retrieves the Scheduling Workflow with the given ID.",
        "operationId": "RetrieveaSchedulingWorkflow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Scheduling Workflow.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SchedulingWorkflowResponse"
                    },
                    {
                      "example": {
                        "title": "First workflow",
                        "items": [
                          {
                            "title": "New",
                            "position": 1,
                            "stage": "new",
                            "delete": 1
                          },
                          {
                            "title": "In progress",
                            "position": 2,
                            "stage": "in_progress",
                            "delete": 1
                          },
                          {
                            "title": "Done",
                            "position": 3,
                            "stage": "done",
                            "delete": 1
                          }
                        ],
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "title": "First workflow",
                  "items": [
                    {
                      "title": "New",
                      "position": 1,
                      "stage": "new",
                      "delete": 1
                    },
                    {
                      "title": "In progress",
                      "position": 2,
                      "stage": "in_progress",
                      "delete": 1
                    },
                    {
                      "title": "Done",
                      "position": 3,
                      "stage": "done",
                      "delete": 1
                    }
                  ],
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Config"
        ],
        "summary": "Update a Scheduling Workflow",
        "description": "Work with Scheduling Workflow.Update the Workflow with the given ID.",
        "operationId": "UpdateaSchedulingWorkflow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Scheduling Workflow.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateaSchedulingWorkflowrequest"
              },
              "example": {
                "title": "Workflow name"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Config"
        ],
        "summary": "Delete a Scheduling Workflow",
        "description": "Work with Scheduling Workflow.Delete the Scheduling Workflow with the given ID.",
        "operationId": "DeleteaSchedulingWorkflow",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Scheduling Workflow.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/scheduling-teams": {
      "post": {
        "tags": [
          "Config"
        ],
        "summary": "Create a Scheduling Team",
        "description": "Creates a new Scheduling Team.",
        "operationId": "CreateaSchedulingTeam",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SchedulingTeamBase"
              },
              "example": {
                "title": "Team name",
                "partner_id": 0,
                "members": [
                  1,
                  2
                ],
                "calendar_color": "#ff0000"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SchedulingTeamId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all Scheduling Teams",
        "description": "Returns a list of your Scheduling Team.",
        "operationId": "ListallSchedulingTeams",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SchedulingTeamResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "title": "Team name",
                      "partner_id": 0,
                      "members": [
                        1,
                        2
                      ],
                      "calendar_color": "#ff0000",
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "title": "Team name",
                    "partner_id": 0,
                    "members": [
                      1,
                      2
                    ],
                    "calendar_color": "#ff0000",
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/scheduling-team/{id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve a Scheduling Team",
        "description": "Work with Scheduling Team.Retrieves the Scheduling Team with the given ID.",
        "operationId": "RetrieveaSchedulingTeam",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Scheduling Team.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SchedulingTeamResponse"
                    },
                    {
                      "example": {
                        "title": "Team name",
                        "partner_id": 0,
                        "members": [
                          1,
                          2
                        ],
                        "calendar_color": "#ff0000",
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "title": "Team name",
                  "partner_id": 0,
                  "members": [
                    1,
                    2
                  ],
                  "calendar_color": "#ff0000",
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Config"
        ],
        "summary": "Update a Scheduling Team",
        "description": "Work with Scheduling Team.Update the Team with the given ID.",
        "operationId": "UpdateaSchedulingTeam",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Scheduling Team.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateaSchedulingTeamrequest"
              },
              "example": {
                "title": "Team changed name"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Config"
        ],
        "summary": "Delete a Scheduling Team",
        "description": "Work with Scheduling Team.Delete the Scheduling Team with the given ID.",
        "operationId": "DeleteaSchedulingTeam",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Scheduling Team.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/scheduling-task-templates": {
      "post": {
        "tags": [
          "Config"
        ],
        "summary": "Create a Scheduling Task Template",
        "description": "Creates a new Scheduling Task Tempalate.",
        "operationId": "CreateaSchedulingTaskTemplate",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SchedulingTaskTemplateBase"
              },
              "example": {
                "title": "Scheduling Task Template title",
                "task_title": "Scheduling Task title",
                "task_description": "Task description",
                "task_project_id": 1,
                "task_assigned_to": "assigned_to_anyone",
                "task_assigned_to_id": 1,
                "task_checklist_template_id": 1,
                "task_priority: `priority_low`": "",
                "additional_fields": [
                  {
                    "name": "remark",
                    "title": "Remark",
                    "type": "string",
                    "position": 1,
                    "default_value": "none",
                    "min_length": "1",
                    "max_length": "128",
                    "is_required": 0,
                    "is_unique": 0,
                    "is_add": 1,
                    "show_in_list": 0,
                    "searchable": 0,
                    "readonly": 0,
                    "disabled": 0,
                    "hidden": 0,
                    "select_values": "",
                    "relation_module": "",
                    "set_default_value": 1,
                    "addon": "",
                    "addon_uri": "",
                    "addon_input_type": "",
                    "decimals": 2
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SchedulingTaskTemplateId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all Scheduling Task Tempaltes",
        "description": "Returns a list of your Scheduling Task Templates.",
        "operationId": "ListallSchedulingTaskTempaltes",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SchedulingTaskTempalteResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "title": "Scheduling Task Template title",
                      "task_title": "Scheduling Task title",
                      "task_description": "Task description",
                      "task_project_id": 1,
                      "task_assigned_to": "assigned_to_anyone",
                      "task_assigned_to_id": 1,
                      "task_checklist_template_id": 1,
                      "task_priority: `priority_low`": "",
                      "additional_fields": [
                        {
                          "name": "remark",
                          "title": "Remark",
                          "type": "string",
                          "position": 1,
                          "default_value": "none",
                          "min_length": "1",
                          "max_length": "128",
                          "is_required": 0,
                          "is_unique": 0,
                          "is_add": 1,
                          "show_in_list": 0,
                          "searchable": 0,
                          "readonly": 0,
                          "disabled": 0,
                          "hidden": 0,
                          "select_values": "",
                          "relation_module": "",
                          "set_default_value": 1,
                          "addon": "",
                          "addon_uri": "",
                          "addon_input_type": "",
                          "decimals": 2
                        }
                      ],
                      "id": 1
                    }
                  ]
                },
                "example": [
                  {
                    "title": "Scheduling Task Template title",
                    "task_title": "Scheduling Task title",
                    "task_description": "Task description",
                    "task_project_id": 1,
                    "task_assigned_to": "assigned_to_anyone",
                    "task_assigned_to_id": 1,
                    "task_checklist_template_id": 1,
                    "task_priority: `priority_low`": "",
                    "additional_fields": [
                      {
                        "name": "remark",
                        "title": "Remark",
                        "type": "string",
                        "position": 1,
                        "default_value": "none",
                        "min_length": "1",
                        "max_length": "128",
                        "is_required": 0,
                        "is_unique": 0,
                        "is_add": 1,
                        "show_in_list": 0,
                        "searchable": 0,
                        "readonly": 0,
                        "disabled": 0,
                        "hidden": 0,
                        "select_values": "",
                        "relation_module": "",
                        "set_default_value": 1,
                        "addon": "",
                        "addon_uri": "",
                        "addon_input_type": "",
                        "decimals": 2
                      }
                    ],
                    "id": 1
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/scheduling-task-templates/{id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve a Scheduling Task Tempalte",
        "description": "Work with Scheduling Task Tempalte.Retrieves the Scheduling Task Tempalte with the given ID.",
        "operationId": "RetrieveaSchedulingTaskTempalte",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Scheduling Task Tempalte.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SchedulingTaskTempalteResponse"
                    },
                    {
                      "example": {
                        "title": "Scheduling Task Template title",
                        "task_title": "Scheduling Task title",
                        "task_description": "Task description",
                        "task_project_id": 1,
                        "task_assigned_to": "assigned_to_anyone",
                        "task_assigned_to_id": 1,
                        "task_checklist_template_id": 1,
                        "task_priority: `priority_low`": "",
                        "additional_fields": [
                          {
                            "name": "remark",
                            "title": "Remark",
                            "type": "string",
                            "position": 1,
                            "default_value": "none",
                            "min_length": "1",
                            "max_length": "128",
                            "is_required": 0,
                            "is_unique": 0,
                            "is_add": 1,
                            "show_in_list": 0,
                            "searchable": 0,
                            "readonly": 0,
                            "disabled": 0,
                            "hidden": 0,
                            "select_values": "",
                            "relation_module": "",
                            "set_default_value": 1,
                            "addon": "",
                            "addon_uri": "",
                            "addon_input_type": "",
                            "decimals": 2
                          }
                        ],
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "title": "Scheduling Task Template title",
                  "task_title": "Scheduling Task title",
                  "task_description": "Task description",
                  "task_project_id": 1,
                  "task_assigned_to": "assigned_to_anyone",
                  "task_assigned_to_id": 1,
                  "task_checklist_template_id": 1,
                  "task_priority: `priority_low`": "",
                  "additional_fields": [
                    {
                      "name": "remark",
                      "title": "Remark",
                      "type": "string",
                      "position": 1,
                      "default_value": "none",
                      "min_length": "1",
                      "max_length": "128",
                      "is_required": 0,
                      "is_unique": 0,
                      "is_add": 1,
                      "show_in_list": 0,
                      "searchable": 0,
                      "readonly": 0,
                      "disabled": 0,
                      "hidden": 0,
                      "select_values": "",
                      "relation_module": "",
                      "set_default_value": 1,
                      "addon": "",
                      "addon_uri": "",
                      "addon_input_type": "",
                      "decimals": 2
                    }
                  ],
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Config"
        ],
        "summary": "Update a Scheduling Task Tempalte",
        "description": "Work with Scheduling Task Tempalte.Update the Scheduling Task Tempalte with the given ID.",
        "operationId": "UpdateaSchedulingTaskTempalte",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Scheduling Task Tempalte.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateaSchedulingTaskTempalterequest"
              },
              "example": {
                "title": "Scheduling Task Template title update"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Config"
        ],
        "summary": "Delete a Scheduling Task Tempalte",
        "description": "Work with Scheduling Task Tempalte.Delete the Scheduling Task Tempalte with the given ID.",
        "operationId": "DeleteaSchedulingTaskTempalte",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Scheduling Task Tempalte.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/scheduling-checklist-templates": {
      "post": {
        "tags": [
          "Config"
        ],
        "summary": "Create a Scheduling Checklist Template",
        "description": "Creates a new Scheduling Checklist Tempalate.",
        "operationId": "CreateaSchedulingChecklistTemplate",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SchedulingChecklistTemplateAdd"
              },
              "example": {
                "title": "Connect client",
                "items": [
                  {
                    "name": "'Prepare materials / tools'",
                    "delete": 1
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SchedulingChecklistTemplateId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all Scheduling Checklist Tempaltes",
        "description": "Returns a list of your Scheduling Checklist Templates.",
        "operationId": "ListallSchedulingChecklistTempaltes",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SchedulingChecklistTempalteResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "title": "Connect client",
                      "id": 1,
                      "items": [
                        {
                          "name": "'Prepare materials / tools'",
                          "delete": 1,
                          "id": 1,
                          "checklist_template_id": 1
                        }
                      ]
                    }
                  ]
                },
                "example": [
                  {
                    "title": "Connect client",
                    "id": 1,
                    "items": [
                      {
                        "name": "'Prepare materials / tools'",
                        "delete": 1,
                        "id": 1,
                        "checklist_template_id": 1
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/scheduling-checklist-templates/{id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve a Scheduling Checklist Tempalte",
        "description": "Work with Scheduling Checklist Tempalte.Retrieves the Scheduling Checklist Tempalte with the given ID.",
        "operationId": "RetrieveaSchedulingChecklistTempalte",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Scheduling Checklist Tempalte.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SchedulingChecklistTempalteResponse"
                    },
                    {
                      "example": {
                        "title": "Connect client",
                        "id": 1,
                        "items": [
                          {
                            "name": "'Prepare materials / tools'",
                            "delete": 1,
                            "id": 1,
                            "checklist_template_id": 1
                          }
                        ]
                      }
                    }
                  ]
                },
                "example": {
                  "title": "Connect client",
                  "id": 1,
                  "items": [
                    {
                      "name": "'Prepare materials / tools'",
                      "delete": 1,
                      "id": 1,
                      "checklist_template_id": 1
                    }
                  ]
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Config"
        ],
        "summary": "Update a Scheduling Checklist Tempalte",
        "description": "Work with Scheduling Checklist Tempalte.Update the Scheduling Checklist Tempalte with the given ID.",
        "operationId": "UpdateaSchedulingChecklistTempalte",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Scheduling Checklist Tempalte.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateaSchedulingChecklistTempalterequest"
              },
              "example": {
                "title": "Disconnect client"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Config"
        ],
        "summary": "Delete a Scheduling Checklist Tempalte",
        "description": "Work with Scheduling Checklist Tempalte.Delete the Scheduling Checklist Tempalte with the given ID.",
        "operationId": "DeleteaSchedulingChecklistTempalte",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Scheduling Checklist Tempalte.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/taxes": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all taxes",
        "description": "Returns a list of your taxes.",
        "operationId": "Listalltaxes",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TaxResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "name": "default",
                      "rate": 2,
                      "type": "single",
                      "archived": 0,
                      "accounting_tax_rates_id": 29,
                      "einvoicing_tax_rates_id": 0
                    },
                    {
                      "id": 12,
                      "name": "Group tax",
                      "rate": 5,
                      "type": "group",
                      "archived": 0,
                      "accounting_tax_rates_id": 0,
                      "einvoicing_tax_rates_id": 0,
                      "items": [
                        {
                          "id": "9",
                          "type": "net",
                          "apply_to_all_previous": "0",
                          "position": "1"
                        },
                        {
                          "id": "10",
                          "type": "tax",
                          "apply_to_all_previous": "0",
                          "position": "2"
                        },
                        "items"
                      ]
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "name": "default",
                    "rate": 2,
                    "type": "single",
                    "archived": 0,
                    "accounting_tax_rates_id": 29,
                    "einvoicing_tax_rates_id": 0
                  },
                  {
                    "id": 12,
                    "name": "Group tax",
                    "rate": 5,
                    "type": "group",
                    "archived": 0,
                    "accounting_tax_rates_id": 0,
                    "einvoicing_tax_rates_id": 0,
                    "items": [
                      {
                        "id": "9",
                        "type": "net",
                        "apply_to_all_previous": "0",
                        "position": "1"
                      },
                      {
                        "id": "10",
                        "type": "tax",
                        "apply_to_all_previous": "0",
                        "position": "2"
                      },
                      "items"
                    ]
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/taxes/{id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve a tax",
        "description": "Work with taxes.Retrieves the tax with the given ID.",
        "operationId": "Retrieveatax",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired tax",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TaxResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "name": "default",
                      "rate": 2,
                      "type": "single",
                      "archived": 0,
                      "accounting_tax_rates_id": 29,
                      "einvoicing_tax_rates_id": 0
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "name": "default",
                    "rate": 2,
                    "type": "single",
                    "archived": 0,
                    "accounting_tax_rates_id": 29,
                    "einvoicing_tax_rates_id": 0
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/crm-pipeline": {
      "post": {
        "tags": [
          "Config"
        ],
        "summary": "Create a CRM pipeline status",
        "description": "Creates a new pipeline status.",
        "operationId": "CreateaCRMpipelinestatus",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CRMPipelineStatusBase"
              },
              "example": {
                "name": "New",
                "stage": "crm_lead_stage_new",
                "label": "default",
                "bg_color": "rgba(255,255,255,1)",
                "is_bg_color": false,
                "due_days": 3
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CRMPipelineStatusId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all CRM pipeline statuses",
        "description": "Returns a list of your CRM pipeline statuses.",
        "operationId": "ListallCRMpipelinestatuses",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CRMPipelineStatusResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "name": "New",
                      "stage": "crm_lead_stage_new",
                      "label": "default",
                      "bg_color": "rgba(255,255,255,1)",
                      "is_bg_color": false,
                      "due_days": 3,
                      "id": 1,
                      "is_base": 1,
                      "position": 8
                    }
                  ]
                },
                "example": [
                  {
                    "name": "New",
                    "stage": "crm_lead_stage_new",
                    "label": "default",
                    "bg_color": "rgba(255,255,255,1)",
                    "is_bg_color": false,
                    "due_days": 3,
                    "id": 1,
                    "is_base": 1,
                    "position": 8
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/crm-pipeline/{id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve a CRM pipeline status",
        "description": "Work with CRM pipeline status.Retrieves the CRM pipeline status with the given ID.",
        "operationId": "RetrieveaCRMpipelinestatus",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired CRM pipeline status.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CRMPipelineStatusResponse"
                    },
                    {
                      "example": {
                        "name": "New",
                        "stage": "crm_lead_stage_new",
                        "label": "default",
                        "bg_color": "rgba(255,255,255,1)",
                        "is_bg_color": false,
                        "due_days": 3,
                        "id": 1,
                        "is_base": 1,
                        "position": 8
                      }
                    }
                  ]
                },
                "example": {
                  "name": "New",
                  "stage": "crm_lead_stage_new",
                  "label": "default",
                  "bg_color": "rgba(255,255,255,1)",
                  "is_bg_color": false,
                  "due_days": 3,
                  "id": 1,
                  "is_base": 1,
                  "position": 8
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Config"
        ],
        "summary": "Update a CRM pipeline status",
        "description": "Work with CRM pipeline status.Update the CRM pipeline status with the given ID.",
        "operationId": "UpdateaCRMpipelinestatus",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired CRM pipeline status.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateaCRMpipelinestatusrequest"
              },
              "example": {
                "name": "Lost"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Config"
        ],
        "summary": "Delete a CRM pipeline status",
        "description": "Work with CRM pipeline status.Delete the CRM pipeline status with the given ID.\nYou can`t delete base statuses.",
        "operationId": "DeleteaCRMpipelinestatus",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired CRM pipeline status.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/transaction-categories": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Transaction categories configuration",
        "description": "Return transaction categories configuration",
        "operationId": "Transactioncategoriesconfiguration",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Transactioncategoriesconfigurationresponse"
                    },
                    {
                      "example": {
                        "transaction_type_bundle_activation_fee": {
                          "id": "0"
                        },
                        "transaction_type_bundle_cancellation_fee": {
                          "id": "0"
                        },
                        "transaction_type_bundle_service": {
                          "id": "5"
                        },
                        "transaction_type_bundle_service_discount": {
                          "id": "0"
                        },
                        "transaction_type_custom_service": {
                          "id": "1"
                        },
                        "transaction_type_custom_service_discount": {
                          "id": "0"
                        },
                        "transaction_type_internet_service": {
                          "id": "1"
                        },
                        "transaction_type_internet_service_discount": {
                          "id": "0"
                        },
                        "transaction_type_internet_top_up": {
                          "id": "1"
                        },
                        "transaction_type_inventory_sell": {
                          "id": "1"
                        },
                        "transaction_type_invoice_item": {
                          "id": "1"
                        },
                        "transaction_type_one_time_service": {
                          "id": "1"
                        },
                        "transaction_type_voice_service": {
                          "id": "1"
                        },
                        "transaction_type_voice_service_calls": {
                          "id": "1"
                        },
                        "transaction_type_voice_service_data": {
                          "id": "1"
                        },
                        "transaction_type_voice_service_discount": {
                          "id": "0"
                        },
                        "transaction_type_voice_service_messages": {
                          "id": "1"
                        }
                      }
                    }
                  ]
                },
                "example": {
                  "transaction_type_bundle_activation_fee": {
                    "id": "0"
                  },
                  "transaction_type_bundle_cancellation_fee": {
                    "id": "0"
                  },
                  "transaction_type_bundle_service": {
                    "id": "5"
                  },
                  "transaction_type_bundle_service_discount": {
                    "id": "0"
                  },
                  "transaction_type_custom_service": {
                    "id": "1"
                  },
                  "transaction_type_custom_service_discount": {
                    "id": "0"
                  },
                  "transaction_type_internet_service": {
                    "id": "1"
                  },
                  "transaction_type_internet_service_discount": {
                    "id": "0"
                  },
                  "transaction_type_internet_top_up": {
                    "id": "1"
                  },
                  "transaction_type_inventory_sell": {
                    "id": "1"
                  },
                  "transaction_type_invoice_item": {
                    "id": "1"
                  },
                  "transaction_type_one_time_service": {
                    "id": "1"
                  },
                  "transaction_type_voice_service": {
                    "id": "1"
                  },
                  "transaction_type_voice_service_calls": {
                    "id": "1"
                  },
                  "transaction_type_voice_service_data": {
                    "id": "1"
                  },
                  "transaction_type_voice_service_discount": {
                    "id": "0"
                  },
                  "transaction_type_voice_service_messages": {
                    "id": "1"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/states-provinces": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all states/provinces",
        "description": "Return a list of your states/provinces.",
        "operationId": "Listallstates/provinces",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StatesprovincesResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "code": "code",
                      "name": "name",
                      "date_changed": "2024-10-08",
                      "is_default": 0
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "code": "code",
                    "name": "name",
                    "date_changed": "2024-10-08",
                    "is_default": 0
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/states-provinces/{id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve state/province",
        "description": "Work with states/provinces.Retrieves the state/province with the given ID.",
        "operationId": "Retrievestate/province",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired state/province.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/StatesprovincesResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "code": "code",
                        "name": "name",
                        "date_changed": "2024-10-08",
                        "is_default": 0
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "code": "code",
                  "name": "name",
                  "date_changed": "2024-10-08",
                  "is_default": 0
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Config"
        ],
        "summary": "Update state/province",
        "description": "Work with states/provinces.Update the state/province with the given ID.",
        "operationId": "Updatestate/province",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired state/province.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "description": "State / province name."
                  },
                  "is_default": {
                    "type": "boolean",
                    "description": "Whether this is the default state / province."
                  }
                }
              },
              "example": {
                "name": "California",
                "is_default": false
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/labels": {
      "post": {
        "tags": [
          "Config"
        ],
        "summary": "Create a label",
        "description": "Creates a new label.",
        "operationId": "Createalabel",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Labelcreate"
              },
              "example": {
                "module": "customers",
                "label": "label title",
                "color": "#68e637"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/LabelID"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all labels",
        "description": "Returns a list of your labels.",
        "operationId": "Listalllabels",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Labelresponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "module": "customers",
                      "label": "label title",
                      "color": "#68e637",
                      "id": 1,
                      "textColor": "#fff"
                    }
                  ]
                },
                "example": [
                  {
                    "module": "customers",
                    "label": "label title",
                    "color": "#68e637",
                    "id": 1,
                    "textColor": "#fff"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/labels/{id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve a label",
        "description": "Work with labels.Retrieves the label with the given ID.",
        "operationId": "Retrievealabel",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired label.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Labelresponse"
                    },
                    {
                      "example": {
                        "module": "customers",
                        "label": "label title",
                        "color": "#68e637",
                        "id": 1,
                        "textColor": "#fff"
                      }
                    }
                  ]
                },
                "example": {
                  "module": "customers",
                  "label": "label title",
                  "color": "#68e637",
                  "id": 1,
                  "textColor": "#fff"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Config"
        ],
        "summary": "Update a label",
        "description": "Work with labels.Update the label with the given ID.",
        "operationId": "Updatealabel",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Updatealabelrequest"
              },
              "example": {
                "label": "Label #315955389"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Config"
        ],
        "summary": "Delete a label",
        "description": "Work with labels.Delete the label with the given ID.",
        "operationId": "Deletealabel",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/chunked-upload/{hash}": {
      "post": {
        "tags": [
          "Config"
        ],
        "summary": "Upload a file chunk",
        "description": "Universal API endpoint for chunked file uploads. Allows uploading large files in multiple chunks.\n\nUsage:\n1. Generate a unique hash (upload session ID)\n2. Send each chunk as `multipart/form-data` with `Content-Range` header\n3. Intermediate chunks return `200 OK`, the last chunk returns `201 Created` with file details\n\nSupported file types: `scheduling_task_attachment`, `scheduling_task_comment_attachment`, `ticket_attachment`.\n\nAfter uploading, use `file_ids` parameter in task attachments, task comments, or ticket attachments endpoints to attach the uploaded files.",
        "operationId": "UploadFileChunk",
        "parameters": [
          {
            "name": "hash",
            "in": "path",
            "description": "Unique upload session identifier (e.g. UUID or random string)",
            "required": true,
            "schema": {
              "type": "string",
              "example": "abc123def456"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "File type: `scheduling_task_attachment`, `scheduling_task_comment_attachment`, or `ticket_attachment`",
            "required": true,
            "schema": {
              "type": "string",
              "example": "scheduling_task_attachment"
            }
          },
          {
            "name": "Content-Range",
            "in": "header",
            "description": "Byte range of the chunk being uploaded, e.g. `bytes 0-1048575/5242880`",
            "required": true,
            "schema": {
              "type": "string",
              "example": "bytes 0-1048575/5242880"
            }
          }
        ],
        "requestBody": {
          "description": "File chunk as multipart/form-data",
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary",
                    "description": "File chunk data"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Intermediate chunk accepted",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "boolean",
                      "example": true
                    }
                  }
                },
                "example": {
                  "result": true
                }
              }
            }
          },
          "201": {
            "description": "Last chunk accepted, file fully uploaded",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "result": {
                      "type": "boolean",
                      "example": true
                    },
                    "message": {
                      "type": "string",
                      "example": "File uploaded!"
                    },
                    "files": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "integer",
                            "description": "File ID (use in file_ids parameter)",
                            "example": 42
                          },
                          "type": {
                            "type": "string",
                            "description": "File type",
                            "example": "scheduling_task_attachment"
                          },
                          "name": {
                            "type": "string",
                            "description": "Original file name",
                            "example": "document.pdf"
                          },
                          "size": {
                            "type": "string",
                            "description": "Human-readable file size",
                            "example": "5.0 MB"
                          },
                          "link": {
                            "type": "string",
                            "description": "Download link (relative path)",
                            "example": "/admin/download?module=scheduling_task_attachment&id=42&hash={hash}&time={timestamp}"
                          }
                        }
                      }
                    }
                  }
                },
                "example": {
                  "result": true,
                  "message": "File uploaded!",
                  "files": [
                    {
                      "id": 42,
                      "type": "scheduling_task_attachment",
                      "name": "document.pdf",
                      "size": "5.0 MB",
                      "link": "/admin/download?module=scheduling_task_attachment&id=42&hash={hash}&time={timestamp}"
                    }
                  ]
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/messengers/whatsapp-chats/{id}": {
      "get": {
        "tags": [
          "WhatsApp messaging"
        ],
        "summary": "Retrieve a chat",
        "description": "Retrieves the chat with the given ID.",
        "operationId": "Retrieveachat",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the chat.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/MessengerchatResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "customer_id": 1,
                        "assign_id": 1,
                        "phone": "420123456879",
                        "profile_name": "John Doe",
                        "active": false,
                        "is_blocked": false,
                        "is_marketing_blocked": false,
                        "created_at": "2023-12-04 05:45:02",
                        "blocked_at": "",
                        "new_messages": 0
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "customer_id": 1,
                  "assign_id": 1,
                  "phone": "420123456879",
                  "profile_name": "John Doe",
                  "active": false,
                  "is_blocked": false,
                  "is_marketing_blocked": false,
                  "created_at": "2023-12-04 05:45:02",
                  "blocked_at": "",
                  "new_messages": 0
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/messengers/whatsapp-reassign-chats/{id}": {
      "put": {
        "tags": [
          "WhatsApp messaging"
        ],
        "summary": "Reassign a chat",
        "description": "Reassign the chat to another admin with the given admin ID.",
        "operationId": "Reassignachat",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the chat.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Reassignachatrequest"
              },
              "example": {
                "admin_id": 1
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/messengers/whatsapp-close-chats/{id}": {
      "put": {
        "tags": [
          "WhatsApp messaging"
        ],
        "summary": "Close a chat",
        "description": "Close the chat with the given ID.",
        "operationId": "Closeachat",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the chat.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/messengers/whatsapp/{chat_id}/messages": {
      "get": {
        "tags": [
          "WhatsApp messaging"
        ],
        "summary": "List all messages",
        "description": "Returns all messages from the specified chat by parameters.",
        "operationId": "Listallmessages",
        "parameters": [
          {
            "name": "chat_id",
            "in": "path",
            "description": "The ID of the chat.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "params",
            "in": "query",
            "description": "Any parameters of record. <br>You should set at least one record`s parameter. <br>This parameters should be converted to query string.<br>For example:<br>$search = [ <br>&emsp;&emsp;'main_attributes' => [<br>&emsp;&emsp;&emsp;&emsp;'inbound' => 1<br>&emsp; &emsp;], <br>&emsp;&emsp;'limit' => 15,<br>&emsp;&emsp;'offset' => 5<br>];<br>",
            "required": true,
            "schema": {
              "type": "string",
              "example": "http_build_query($search)"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MessengermessageResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "chat_id": 1,
                      "conversation_id": 1,
                      "external_id": "SM333a12222",
                      "customer_id": 1,
                      "admin_id": 1,
                      "ticket_id": 1,
                      "body": "Text",
                      "status_id": "delivered",
                      "inbound": false,
                      "error": "Code 200",
                      "latitude": "123.11",
                      "longitude": "312.111",
                      "address": "Street 3",
                      "attachments": [
                        {
                          "filename_original": "image.png",
                          "download_link: `https://your.splynx.domain/files?id={hash_id}&type=files_upload`": "",
                          "size": 3120
                        }
                      ],
                      "actions": [],
                      "created_at": "2023-12-04 05:45:02",
                      "updated_at": "2023-12-04 05:45:02"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "chat_id": 1,
                    "conversation_id": 1,
                    "external_id": "SM333a12222",
                    "customer_id": 1,
                    "admin_id": 1,
                    "ticket_id": 1,
                    "body": "Text",
                    "status_id": "delivered",
                    "inbound": false,
                    "error": "Code 200",
                    "latitude": "123.11",
                    "longitude": "312.111",
                    "address": "Street 3",
                    "attachments": [
                      {
                        "filename_original": "image.png",
                        "download_link: `https://your.splynx.domain/files?id={hash_id}&type=files_upload`": "",
                        "size": 3120
                      }
                    ],
                    "actions": [],
                    "created_at": "2023-12-04 05:45:02",
                    "updated_at": "2023-12-04 05:45:02"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/messengers/whatsapp/{chat_id}/messages--{message_id}": {
      "get": {
        "tags": [
          "WhatsApp messaging"
        ],
        "summary": "Retrieve a message",
        "description": "Retrieves the message with the given ID.",
        "operationId": "Retrieveamessage",
        "parameters": [
          {
            "name": "chat_id",
            "in": "path",
            "description": "The ID of the chat.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "params",
            "in": "query",
            "description": "Any parameters of record. <br>You should set at least one record`s parameter. <br>This parameters should be converted to query string.<br>For example:<br>$search = [ <br>&emsp;&emsp;'main_attributes' => [<br>&emsp;&emsp;&emsp;&emsp;'inbound' => 1<br>&emsp; &emsp;], <br>&emsp;&emsp;'limit' => 15,<br>&emsp;&emsp;'offset' => 5<br>];<br>",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "http_build_query($search)"
            }
          },
          {
            "name": "message_id",
            "in": "path",
            "description": "The ID of the message.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 3
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/MessengermessageResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "chat_id": 1,
                        "conversation_id": 1,
                        "external_id": "SM333a12222",
                        "customer_id": 1,
                        "admin_id": 1,
                        "ticket_id": 1,
                        "body": "Text",
                        "status_id": "delivered",
                        "inbound": false,
                        "error": "Code 200",
                        "latitude": "123.11",
                        "longitude": "312.111",
                        "address": "Street 3",
                        "attachments": [
                          {
                            "filename_original": "image.png",
                            "download_link: `https://your.splynx.domain/files?id={hash_id}&type=files_upload`": "",
                            "size": 3120
                          }
                        ],
                        "actions": [],
                        "created_at": "2023-12-04 05:45:02",
                        "updated_at": "2023-12-04 05:45:02"
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "chat_id": 1,
                  "conversation_id": 1,
                  "external_id": "SM333a12222",
                  "customer_id": 1,
                  "admin_id": 1,
                  "ticket_id": 1,
                  "body": "Text",
                  "status_id": "delivered",
                  "inbound": false,
                  "error": "Code 200",
                  "latitude": "123.11",
                  "longitude": "312.111",
                  "address": "Street 3",
                  "attachments": [
                    {
                      "filename_original": "image.png",
                      "download_link: `https://your.splynx.domain/files?id={hash_id}&type=files_upload`": "",
                      "size": 3120
                    }
                  ],
                  "actions": [],
                  "created_at": "2023-12-04 05:45:02",
                  "updated_at": "2023-12-04 05:45:02"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/messengers/whatsapp-receive-messages": {
      "post": {
        "tags": [
          "WhatsApp messaging"
        ],
        "summary": "Create inbound message",
        "description": "Creates a new message received from the customer.",
        "operationId": "Createinboundmessage",
        "parameters": [
          {
            "name": "chat_id",
            "in": "query",
            "description": "The ID of the chat.",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "params",
            "in": "query",
            "description": "Any parameters of record. <br>You should set at least one record`s parameter. <br>This parameters should be converted to query string.<br>For example:<br>$search = [ <br>&emsp;&emsp;'main_attributes' => [<br>&emsp;&emsp;&emsp;&emsp;'inbound' => 1<br>&emsp; &emsp;], <br>&emsp;&emsp;'limit' => 15,<br>&emsp;&emsp;'offset' => 5<br>];<br>",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "http_build_query($search)"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/Createinboundmessagerequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/messengers/whatsapp-send-messages": {
      "post": {
        "tags": [
          "WhatsApp messaging"
        ],
        "summary": "Create outbound message",
        "description": "Creates a new message sent by the admin.",
        "operationId": "Createoutboundmessage",
        "parameters": [
          {
            "name": "chat_id",
            "in": "query",
            "description": "The ID of the chat.",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "params",
            "in": "query",
            "description": "Any parameters of record. <br>You should set at least one record`s parameter. <br>This parameters should be converted to query string.<br>For example:<br>$search = [ <br>&emsp;&emsp;'main_attributes' => [<br>&emsp;&emsp;&emsp;&emsp;'inbound' => 1<br>&emsp; &emsp;], <br>&emsp;&emsp;'limit' => 15,<br>&emsp;&emsp;'offset' => 5<br>];<br>",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "http_build_query($search)"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/Createoutboundmessagerequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Createoutboundmessagerequest"
              },
              "example": {
                "chat_id": 1,
                "admin_id": 1,
                "body": "Hello",
                "file_ids": [
                  123
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/messengers/whatsapp-send-template": {
      "post": {
        "tags": [
          "WhatsApp messaging"
        ],
        "summary": "Send template message",
        "description": "Sends a predefined template to the customer.",
        "operationId": "Sendtemplatemessage",
        "parameters": [
          {
            "name": "chat_id",
            "in": "query",
            "description": "The ID of the chat.",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          },
          {
            "name": "params",
            "in": "query",
            "description": "Any parameters of record. <br>You should set at least one record`s parameter. <br>This parameters should be converted to query string.<br>For example:<br>$search = [ <br>&emsp;&emsp;'main_attributes' => [<br>&emsp;&emsp;&emsp;&emsp;'inbound' => 1<br>&emsp; &emsp;], <br>&emsp;&emsp;'limit' => 15,<br>&emsp;&emsp;'offset' => 5<br>];<br>",
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "http_build_query($search)"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Sendtemplatemessagerequest"
              },
              "example": {
                "phone": "420123456879",
                "chat_id": 1,
                "template_id": 1,
                "customer_id": 1,
                "admin_id": 1
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/messengers/whatsapp-templates": {
      "get": {
        "tags": [
          "WhatsApp messaging"
        ],
        "summary": "Get list of templates",
        "description": "Get list of templates by parameters.",
        "operationId": "Getlistoftemplates",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MessengertemplatesResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "provider": "twilio",
                      "external_id": "HX333a12222",
                      "status": "approved",
                      "title": "welcome",
                      "body": "Text",
                      "error": "Code 200",
                      "created_at": "2023-12-04 05:45:02"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "provider": "twilio",
                    "external_id": "HX333a12222",
                    "status": "approved",
                    "title": "welcome",
                    "body": "Text",
                    "error": "Code 200",
                    "created_at": "2023-12-04 05:45:02"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/messengers/whatsapp-templates/{id}": {
      "get": {
        "tags": [
          "WhatsApp messaging"
        ],
        "summary": "Retrieve a template",
        "description": "Retrieves the template with the given ID.",
        "operationId": "Retrieveatemplate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the template.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 3
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/MessengertemplatesResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "provider": "twilio",
                        "external_id": "HX333a12222",
                        "status": "approved",
                        "title": "welcome",
                        "body": "Text",
                        "error": "Code 200",
                        "created_at": "2023-12-04 05:45:02"
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "provider": "twilio",
                  "external_id": "HX333a12222",
                  "status": "approved",
                  "title": "welcome",
                  "body": "Text",
                  "error": "Code 200",
                  "created_at": "2023-12-04 05:45:02"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/messengers/whatsapp-unread-counters": {
      "get": {
        "tags": [
          "WhatsApp messaging"
        ],
        "summary": "Get unread counters",
        "description": "Returns unread chat and message counters for the authenticated admin, grouped by assignment: all, not assigned, and assigned to the current admin. Requires admin authentication (API key auth is not allowed).",
        "operationId": "Getunreadcounters",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WhatsAppUnreadCountersResponse"
                },
                "example": {
                  "chats": {
                    "all": 5,
                    "not_assigned": 2,
                    "assigned_to_me": 1
                  },
                  "messages": {
                    "all": 12,
                    "not_assigned": 4,
                    "assigned_to_me": 3
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden. Returned when using API key authentication instead of admin authentication."
          },
          "405": {
            "description": "Method not allowed. Returned when WhatsApp module is disabled."
          }
        },
        "deprecated": false
      }
    },
    "/mobile/profile/mobile-notification-token": {
      "post": {
        "tags": [
          "Mobile App"
        ],
        "summary": "Create a mobile notification token",
        "description": "Works only if you authenticate like a customer. Required fields: login and password.Creates a new mobile notification token.",
        "operationId": "Createamobilenotificationtoken",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MobilenotificationtokenBase"
              },
              "example": {
                "user_id": 1,
                "token": "2dbf3280cf9sb3b8a7c15201c76b9s1",
                "application": "scheduling",
                "device_id": "12daw3j6g9edjg"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/MobilenotificationtokenId"
                    },
                    {
                      "example": {
                        "id": 1
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Mobile App"
        ],
        "summary": "List all mobile notification tokens",
        "description": "Works only if you authenticate like a customer. Required fields: login and password.Return a list of your mobile notification tokens.",
        "operationId": "Listallmobilenotificationtokens",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MobilenotificationtokenResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "user_id": 1,
                      "token": "2dbf3280cf9sb3b8a7c15201c76b9s1",
                      "application": "scheduling",
                      "device_id": "12daw3j6g9edjg",
                      "id": 1,
                      "created_at": "2019-09-23 14:54:15"
                    }
                  ]
                },
                "example": [
                  {
                    "user_id": 1,
                    "token": "2dbf3280cf9sb3b8a7c15201c76b9s1",
                    "application": "scheduling",
                    "device_id": "12daw3j6g9edjg",
                    "id": 1,
                    "created_at": "2019-09-23 14:54:15"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/mobile/profile/mobile-notification-token/{id}": {
      "get": {
        "tags": [
          "Mobile App"
        ],
        "summary": "Retrieve a mobile notification token",
        "description": "Works only if you authenticate like a customer. Required fields: login and password.Retrieve the mobile notification token with the given ID.",
        "operationId": "Retrieveamobilenotificationtoken",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired mobile notification token.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/MobilenotificationtokenResponse"
                    },
                    {
                      "example": {
                        "user_id": 1,
                        "token": "2dbf3280cf9sb3b8a7c15201c76b9s1",
                        "application": "scheduling",
                        "device_id": "12daw3j6g9edjg",
                        "id": 1,
                        "created_at": "2019-09-23 14:54:15"
                      }
                    }
                  ]
                },
                "example": {
                  "user_id": 1,
                  "token": "2dbf3280cf9sb3b8a7c15201c76b9s1",
                  "application": "scheduling",
                  "device_id": "12daw3j6g9edjg",
                  "id": 1,
                  "created_at": "2019-09-23 14:54:15"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Mobile App"
        ],
        "summary": "Delete a mobile notification token",
        "description": "Works only if you authenticate like a customer. Required fields: login and password.Delete the mobile notification token with the given ID.",
        "operationId": "Deleteamobilenotificationtoken",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired mobile notification token.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/mobile/config/settings": {
      "get": {
        "tags": [
          "Mobile App"
        ],
        "summary": "Retrieve a mobile App settings",
        "description": "Work with App settings.Retrieves all settings for the app based on the logged-in user.",
        "operationId": "RetrieveamobileAppsettings",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Appsettingsresponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "application": "scheduling",
                      "path": "main",
                      "type": "string",
                      "key": "field",
                      "value": "test",
                      "user_id": 105
                    }
                  ]
                },
                "example": [
                  {
                    "application": "scheduling",
                    "path": "main",
                    "type": "string",
                    "key": "field",
                    "value": "test",
                    "user_id": 105
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Mobile App"
        ],
        "summary": "Create App settings",
        "description": "Work with App settings.Add a new configuration entry for the specified application.",
        "operationId": "CreateAppsettings",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Appsettingsbase"
              },
              "example": {
                "application": "scheduling",
                "path": "main",
                "type": "string",
                "key": "field",
                "value": "test"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Mobile App"
        ],
        "summary": "Change an App setting",
        "description": "Work with App settings.Update the value of an existing application setting.",
        "operationId": "ChangeanAppsetting",
        "parameters": [
          {
            "name": "your_app_name",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "path",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "application",
            "in": "query",
            "description": "",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "{your_app_name}"
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangeanAppsettingrequest"
              },
              "example": {
                "value": "new value for setting"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Mobile App"
        ],
        "summary": "Delete an App setting",
        "description": "Work with App settings.Delete an existing application setting.",
        "operationId": "DeleteanAppsetting",
        "parameters": [
          {
            "name": "your_app_name",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "path",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "query",
            "description": "",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "application",
            "in": "query",
            "description": "",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "type": "string",
              "example": "{your_app_name}"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/inventory/items/link-hardware": {
      "post": {
        "tags": [
          "Inventory"
        ],
        "summary": "Bulk link Inventory Items to Monitoring devices",
        "description": "Link each `item_id` to its `hardware_id` in one request. Entries whose item is inaccessible to the admin or whose hardware is already linked to another item are skipped \u2014 the response reports successful links in `linked_count` and the rejected `item_id`s in `failed_ids`. Entries dropped during input normalization (malformed or duplicate `item_id`) are counted in `skipped_count`. The invariant `linked_count + len(failed_ids) + skipped_count == len(links)` holds.",
        "operationId": "BulkLinkInventoryItemsToHardware",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkLinkHardwareRequest"
              },
              "example": {
                "links": [
                  {
                    "item_id": 1,
                    "hardware_id": 10
                  },
                  {
                    "item_id": 2,
                    "hardware_id": 11
                  },
                  {
                    "item_id": 3,
                    "hardware_id": 10
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkLinkHardwareResponse"
                },
                "example": {
                  "linked_count": 2,
                  "failed_ids": [
                    3
                  ],
                  "skipped_count": 0
                }
              }
            }
          },
          "400": {
            "description": "Request body is missing the `links` array.",
            "content": {}
          },
          "422": {
            "description": "`links` array contains no usable entries after normalization (every entry was malformed).",
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/nas-types": {
      "post": {
        "tags": [
          "Config"
        ],
        "summary": "Create a NAS type",
        "description": "Work with NAS types.Creates a new NAS type.",
        "operationId": "CreateaNAStype",
        "parameters": [],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NAStypecreate"
              },
              "example": {
                "title": "NAS title",
                "mikrotik_api": false,
                "copySettingsFromId": 1
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NAStypeid"
                },
                "example": {
                  "id": 1
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all NAS types",
        "description": "Work with NAS types.Returns a list of your NAS types.",
        "operationId": "ListallNAStypes",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NAStyperesponse"
                  }
                },
                "example": [
                  {
                    "id": 1,
                    "title": "NAS title",
                    "mikrotik_api": false
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/nas-types/{id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve a NAS type",
        "description": "Work with NAS types.Retrieves the NAS type with the given ID.",
        "operationId": "RetrieveaNAStype",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired NAS type.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NAStyperesponse"
                },
                "example": {
                  "id": 1,
                  "title": "NAS title",
                  "mikrotik_api": false
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Config"
        ],
        "summary": "Update a NAS type",
        "description": "Work with NAS types.Update the NAS type with the given ID.",
        "operationId": "UpdateaNAStype",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired NAS type.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string",
                    "description": "NAS type title."
                  },
                  "mikrotik_api": {
                    "type": "boolean",
                    "description": "Whether the NAS type uses the Mikrotik API."
                  }
                }
              },
              "example": {
                "title": "NAS title",
                "mikrotik_api": false
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Config"
        ],
        "summary": "Delete a NAS type",
        "description": "Work with NAS types.Delete the NAS type with the given ID.",
        "operationId": "DeleteaNAStype",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired NAS type.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "204": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/messengers/whatsapp-chat-box": {
      "get": {
        "tags": [
          "WhatsApp messaging"
        ],
        "summary": "Get WhatsApp chat box",
        "description": "Returns aggregated WhatsApp chat box data \u2014 chats, messages, and templates available to the current admin.",
        "operationId": "GetWhatsAppchatbox",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true,
                  "description": "Chat box data structure (chats, messages, etc.)."
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/messengers/whatsapp-link-chat/{id}": {
      "put": {
        "tags": [
          "WhatsApp messaging"
        ],
        "summary": "Link WhatsApp chat to a customer or lead",
        "description": "Link the WhatsApp chat with the given ID to a customer or lead.",
        "operationId": "LinkWhatsAppchat",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the WhatsApp chat to link.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "requestBody": {
          "description": "",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "customer_id": {
                    "type": "number",
                    "description": "Customer ID to link the chat to."
                  },
                  "lead_id": {
                    "type": "number",
                    "description": "Lead ID to link the chat to."
                  }
                }
              },
              "example": {
                "customer_id": 1
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/messengers/whatsapp-unlink-chat/{id}": {
      "put": {
        "tags": [
          "WhatsApp messaging"
        ],
        "summary": "Unlink WhatsApp chat from a customer or lead",
        "description": "Unlink the WhatsApp chat with the given ID from any customer or lead it is currently linked to.",
        "operationId": "UnlinkWhatsAppchat",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the WhatsApp chat to link.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "202": {
            "description": "",
            "headers": {},
            "content": {}
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/connection-types": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "List all Connection Types",
        "description": "Returns a list of your Connection Types.",
        "operationId": "ListallConnectionTypes",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ConnectionTypeResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "title": "PPP",
                      "color": "#3498db",
                      "default_type": "0"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "title": "PPP",
                    "color": "#3498db",
                    "default_type": "0"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/config/connection-types/{id}": {
      "get": {
        "tags": [
          "Config"
        ],
        "summary": "Retrieve a Connection Type",
        "description": "Work with Connection Types. Retrieves the Connection Type with the given ID.",
        "operationId": "RetrieveaConnectionType",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Connection Type.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ConnectionTypeResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "title": "PPP",
                        "color": "#3498db",
                        "default_type": "0"
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "title": "PPP",
                  "color": "#3498db",
                  "default_type": "0"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/costs": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "List all Costs",
        "description": "Returns a list of your Costs.",
        "operationId": "ListallCosts",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CostResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "category_id": 5,
                      "supplier_invoice_id": 12,
                      "fixed_cost_id": 0,
                      "description": "Office rent - March",
                      "date_time": "2026-03-01 09:00:00",
                      "amount": 1500.0
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "category_id": 5,
                    "supplier_invoice_id": 12,
                    "fixed_cost_id": 0,
                    "description": "Office rent - March",
                    "date_time": "2026-03-01 09:00:00",
                    "amount": 1500.0
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/finance/costs/{id}": {
      "get": {
        "tags": [
          "Finance"
        ],
        "summary": "Retrieve a Cost",
        "description": "Work with Costs. Retrieves the Cost with the given ID.",
        "operationId": "RetrieveaCost",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Cost.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/CostResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "category_id": 5,
                        "supplier_invoice_id": 12,
                        "fixed_cost_id": 0,
                        "description": "Office rent - March",
                        "date_time": "2026-03-01 09:00:00",
                        "amount": 1500.0
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "category_id": 5,
                  "supplier_invoice_id": 12,
                  "fixed_cost_id": 0,
                  "description": "Office rent - March",
                  "date_time": "2026-03-01 09:00:00",
                  "amount": 1500.0
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/support/news": {
      "get": {
        "tags": [
          "Support"
        ],
        "summary": "List all News",
        "description": "Returns a list of your News entries. Each entry can be scoped to specific partners and/or locations via the `partners` and `locations` fields (empty value means available to all partners / locations).",
        "operationId": "ListallNews",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/NewsResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "title": "Maintenance window",
                      "text": "<p>Service will be unavailable on Sunday 02:00-04:00.</p>",
                      "description": "Planned maintenance on Sunday",
                      "partners": [
                        "1",
                        "2"
                      ],
                      "locations": [
                        "1"
                      ],
                      "date": "2026-03-15"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "title": "Maintenance window",
                    "text": "<p>Service will be unavailable on Sunday 02:00-04:00.</p>",
                    "description": "Planned maintenance on Sunday",
                    "partners": [
                      "1",
                      "2"
                    ],
                    "locations": [
                      "1"
                    ],
                    "date": "2026-03-15"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/support/news/{id}": {
      "get": {
        "tags": [
          "Support"
        ],
        "summary": "Retrieve a News",
        "description": "Work with News. Retrieves the News entry with the given ID. Each entry can be scoped to specific partners and/or locations via the `partners` and `locations` fields (empty value means available to all partners / locations).",
        "operationId": "RetrieveaNews",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired News.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/NewsResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "title": "Maintenance window",
                        "text": "<p>Service will be unavailable on Sunday 02:00-04:00.</p>",
                        "description": "Planned maintenance on Sunday",
                        "partners": [
                          "1",
                          "2"
                        ],
                        "locations": [
                          "1"
                        ],
                        "date": "2026-03-15"
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "title": "Maintenance window",
                  "text": "<p>Service will be unavailable on Sunday 02:00-04:00.</p>",
                  "description": "Planned maintenance on Sunday",
                  "partners": [
                    "1",
                    "2"
                  ],
                  "locations": [
                    "1"
                  ],
                  "date": "2026-03-15"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/voice/categories": {
      "get": {
        "tags": [
          "Voice"
        ],
        "summary": "List all Voice Categories",
        "description": "Returns a list of your Voice Categories.",
        "operationId": "ListallVoiceCategories",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VoiceCategoryResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "type": "call",
                      "title": "Local calls"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "type": "call",
                    "title": "Local calls"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/voice/categories/{id}": {
      "get": {
        "tags": [
          "Voice"
        ],
        "summary": "Retrieve a Voice Category",
        "description": "Work with Voice Categories. Retrieves the Voice Category with the given ID.",
        "operationId": "RetrieveaVoiceCategory",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Voice Category.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/VoiceCategoryResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "type": "call",
                        "title": "Local calls"
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "type": "call",
                  "title": "Local calls"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/voice/customer-rates": {
      "get": {
        "tags": [
          "Voice"
        ],
        "summary": "List all Voice Customer Rates",
        "description": "Returns a list of your Voice Customer Rates.",
        "operationId": "ListallVoiceCustomerRates",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VoiceCustomerRateResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "table_id": 3,
                      "name": "Local",
                      "description": "Local destinations",
                      "type": "call",
                      "category_id": 1,
                      "prefix": "380",
                      "price": 0.05,
                      "first_step": 60,
                      "tariffication_step": 30,
                      "connect_cost": 0.0
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "table_id": 3,
                    "name": "Local",
                    "description": "Local destinations",
                    "type": "call",
                    "category_id": 1,
                    "prefix": "380",
                    "price": 0.05,
                    "first_step": 60,
                    "tariffication_step": 30,
                    "connect_cost": 0.0
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/voice/customer-rates/{id}": {
      "get": {
        "tags": [
          "Voice"
        ],
        "summary": "Retrieve a Voice Customer Rate",
        "description": "Work with Voice Customer Rates. Retrieves the Voice Customer Rate with the given ID.",
        "operationId": "RetrieveaVoiceCustomerRate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Voice Customer Rate.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/VoiceCustomerRateResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "table_id": 3,
                        "name": "Local",
                        "description": "Local destinations",
                        "type": "call",
                        "category_id": 1,
                        "prefix": "380",
                        "price": 0.05,
                        "first_step": 60,
                        "tariffication_step": 30,
                        "connect_cost": 0.0
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "table_id": 3,
                  "name": "Local",
                  "description": "Local destinations",
                  "type": "call",
                  "category_id": 1,
                  "prefix": "380",
                  "price": 0.05,
                  "first_step": 60,
                  "tariffication_step": 30,
                  "connect_cost": 0.0
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/voice/prefixes": {
      "get": {
        "tags": [
          "Voice"
        ],
        "summary": "List all Voice Prefixes",
        "description": "Returns a list of your Voice Prefixes.",
        "operationId": "ListallVoicePrefixes",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VoicePrefixResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "prefix": "380",
                      "destination": "Ukraine",
                      "rate_type": "call",
                      "category_id": 1,
                      "is_hard": "0"
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "prefix": "380",
                    "destination": "Ukraine",
                    "rate_type": "call",
                    "category_id": 1,
                    "is_hard": "0"
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/voice/prefixes/{id}": {
      "get": {
        "tags": [
          "Voice"
        ],
        "summary": "Retrieve a Voice Prefix",
        "description": "Work with Voice Prefixes. Retrieves the Voice Prefix with the given ID.",
        "operationId": "RetrieveaVoicePrefix",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Voice Prefix.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/VoicePrefixResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "prefix": "380",
                        "destination": "Ukraine",
                        "rate_type": "call",
                        "category_id": 1,
                        "is_hard": "0"
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "prefix": "380",
                  "destination": "Ukraine",
                  "rate_type": "call",
                  "category_id": 1,
                  "is_hard": "0"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/voice/provider-rates": {
      "get": {
        "tags": [
          "Voice"
        ],
        "summary": "List all Voice Provider Rates",
        "description": "Returns a list of your Voice Provider Rates.",
        "operationId": "ListallVoiceProviderRates",
        "parameters": [],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/VoiceProviderRateResponse"
                  },
                  "description": "",
                  "example": [
                    {
                      "id": 1,
                      "provider_id": 2,
                      "name": "Local",
                      "description": "Local destinations",
                      "type": "call",
                      "category_id": 1,
                      "prefix": "380",
                      "price": 0.03,
                      "first_step": 60,
                      "tariffication_step": 30,
                      "connect_cost": 0.0
                    }
                  ]
                },
                "example": [
                  {
                    "id": 1,
                    "provider_id": 2,
                    "name": "Local",
                    "description": "Local destinations",
                    "type": "call",
                    "category_id": 1,
                    "prefix": "380",
                    "price": 0.03,
                    "first_step": 60,
                    "tariffication_step": 30,
                    "connect_cost": 0.0
                  }
                ]
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/admin/voice/provider-rates/{id}": {
      "get": {
        "tags": [
          "Voice"
        ],
        "summary": "Retrieve a Voice Provider Rate",
        "description": "Work with Voice Provider Rates. Retrieves the Voice Provider Rate with the given ID.",
        "operationId": "RetrieveaVoiceProviderRate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The ID of the desired Voice Provider Rate.",
            "required": true,
            "schema": {
              "type": "number",
              "format": "double",
              "example": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/VoiceProviderRateResponse"
                    },
                    {
                      "example": {
                        "id": 1,
                        "provider_id": 2,
                        "name": "Local",
                        "description": "Local destinations",
                        "type": "call",
                        "category_id": 1,
                        "prefix": "380",
                        "price": 0.03,
                        "first_step": 60,
                        "tariffication_step": 30,
                        "connect_cost": 0.0
                      }
                    }
                  ]
                },
                "example": {
                  "id": 1,
                  "provider_id": 2,
                  "name": "Local",
                  "description": "Local destinations",
                  "type": "call",
                  "category_id": 1,
                  "prefix": "380",
                  "price": 0.03,
                  "first_step": 60,
                  "tariffication_step": 30,
                  "connect_cost": 0.0
                }
              }
            }
          }
        },
        "deprecated": false
      }
    }
  },
  "components": {
    "schemas": {
      "Checkresponse": {
        "title": "Checkresponse",
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Request status",
            "example": "ok"
          },
          "message": {
            "type": "string",
            "description": "Request message",
            "example": "API is valid"
          },
          "same_server": {
            "type": "boolean",
            "description": "The result of checking the `code` parameter if it was passed, otherwise false",
            "example": false
          }
        }
      },
      "Tokenrequestdata": {
        "title": "Tokenrequestdata",
        "required": [
          "auth_type"
        ],
        "type": "object",
        "properties": {
          "auth_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/auth_type"
              },
              {
                "description": "Authorization type",
                "example": "customer"
              }
            ]
          },
          "login": {
            "type": "string",
            "description": "Admin or customer login. Required for auth types: `admin`, `customer`.",
            "example": "bob"
          },
          "password": {
            "type": "string",
            "description": "Admin or customer password. Required for auth types: `admin`, `customer`.",
            "example": "hard_password"
          },
          "key": {
            "type": "string",
            "description": "API key. Required for auth type `api_key`."
          },
          "secret": {
            "type": "string",
            "description": "API secret. Required for auth type `api_key`."
          },
          "session_id": {
            "type": "string",
            "description": "Splynx session id. Required for auth type `session`."
          },
          "code": {
            "type": "string",
            "description": "Two factor code. Can be used only with auth type `admin` when two factor authentication is enabled."
          },
          "fingerprint": {
            "type": "string",
            "description": "The fingerprint of the trusted device. Can be used only with auth type `admin` when two factor authentication is enabled. This fingerprint returns when you add a trusted device."
          }
        }
      },
      "Tokenrenewresponse": {
        "title": "Tokenrenewresponse",
        "type": "object",
        "properties": {
          "access_token": {
            "type": "string",
            "description": "Access token. Contains user information",
            "example": "2dbf3280cf9sb3b8a7c15201c76b9s1"
          },
          "access_token_expiration": {
            "type": "number",
            "description": "Access token expiration timestamp",
            "example": 1542493076
          },
          "refresh_token": {
            "type": "string",
            "description": "Refresh token",
            "example": "caebf3980cf9fb3b8c7c15501c77b980"
          },
          "refresh_token_expiration": {
            "type": "number",
            "description": "Refresh token expiration timestamp",
            "example": 1578673076
          }
        }
      },
      "Tokengenerateresponse": {
        "title": "Tokengenerateresponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/Tokenrenewresponse"
          },
          {
            "type": "object",
            "properties": {
              "permissions": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Token permissions"
              }
            }
          }
        ]
      },
      "TrusteddeviceBase": {
        "title": "TrusteddeviceBase",
        "required": [
          "device_type",
          "os",
          "name"
        ],
        "type": "object",
        "properties": {
          "device_type": {
            "type": "string",
            "description": "Device type",
            "example": "mobile"
          },
          "os": {
            "type": "string",
            "description": "Device operation system",
            "example": "Android"
          },
          "name": {
            "type": "string",
            "description": "Device name",
            "example": "Nexus 5x - Sheduling app"
          },
          "device_id": {
            "type": "string",
            "description": "Device ID.",
            "example": "goldfish"
          },
          "fingerprint": {
            "type": "string",
            "description": "Device fingerprint.",
            "example": "google/walleye/walleye:8.1.0/OPM2.171026.006.G1/4820017:user/release-keys"
          }
        }
      },
      "TrusteddeviceResponse": {
        "title": "TrusteddeviceResponse",
        "required": [
          "device_type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Trusted device ID",
            "example": 1
          },
          "admin_id": {
            "type": "number",
            "description": "Admin ID",
            "example": 1
          },
          "device_type": {
            "type": "string",
            "description": "Device type",
            "example": "mobile"
          },
          "os": {
            "type": "string",
            "description": "Device operation system",
            "example": "Android"
          },
          "name": {
            "type": "string",
            "description": "Device name",
            "example": "Nexus 5x - Sheduling app"
          },
          "finger_print_cookies": {
            "type": "string",
            "description": "Device fingerprint. You can use this fingerprint for authenticate without entering two-factor code.",
            "example": "iIqkQMh381CushYK/iDsIntTAfy"
          },
          "device_info": {
            "type": "object",
            "description": "Device additional info"
          },
          "added_time": {
            "type": "string",
            "description": "Datetime when device added",
            "example": "2019-09-23 14:54:15"
          }
        }
      },
      "TrusteddeviceId": {
        "title": "TrusteddeviceId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Trusted device ID",
            "example": 1
          },
          "fingerprint": {
            "type": "string",
            "description": "Trusted device fingerprint. You can use this fingerprint for authorize without entering two-factor code.",
            "example": "TPc65HBDLrawo+ik78zuQGefv"
          }
        }
      },
      "TwofactorRequest": {
        "title": "TwofactorRequest",
        "type": "object",
        "properties": {
          "login": {
            "type": "string",
            "description": "Administrator login or email",
            "example": "admin_login"
          }
        }
      },
      "TwofactorResponse": {
        "title": "TwofactorResponse",
        "type": "object",
        "properties": {
          "two_factor_enabled": {
            "type": "boolean",
            "description": "Whether two-factor authentication is enabled?",
            "example": true
          }
        }
      },
      "Createsessionresponse": {
        "title": "Createsessionresponse",
        "type": "object",
        "properties": {
          "session_id": {
            "type": "string",
            "description": "Splynx PHP session id",
            "example": "caebf3980cf9fb3b8c7c15501c77b980"
          },
          "csrf_token": {
            "type": "string",
            "description": "CSRF token",
            "example": "1953cbf82dae83fd26e6cc460506fca2"
          }
        }
      },
      "Dashboardoptionsresponse": {
        "title": "Dashboardoptionsresponse",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of widget",
            "example": "addon_isl_code_widget"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/type1"
              },
              {
                "description": "Type of widget",
                "example": "entry_point"
              }
            ]
          },
          "module": {
            "type": "string",
            "description": "Add-on module name. Included if type of widget is `entry_point`.",
            "example": "splynx_addon_isl"
          },
          "placement": {
            "allOf": [
              {
                "$ref": "#/components/schemas/placement"
              },
              {
                "description": "Widget placement area. Included if type of widget is `entry_point`.",
                "example": "after_content"
              }
            ]
          },
          "data": {
            "type": "object",
            "description": "Widget info. Included for `base` widgets. Shape depends on widget; the example shows typical fields.",
            "additionalProperties": true,
            "example": {
              "customersNew": 21,
              "customersOnline": 5,
              "tickets": 2,
              "other_info": "Other information"
            }
          }
        }
      },
      "Entrypointviewresponse": {
        "title": "Entrypointviewresponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Entry point id",
            "example": 123
          },
          "module": {
            "type": "string",
            "description": "Add-on module name.",
            "example": "splynx_addon_isl"
          },
          "place": {
            "type": "string",
            "description": "Entry point placement.",
            "example": "portal"
          },
          "type": {
            "type": "string",
            "description": "Entry point type.",
            "example": "code"
          },
          "size": {
            "type": "string",
            "description": "Entry point size.",
            "example": "large"
          },
          "title": {
            "type": "string",
            "description": "Entry point title.",
            "example": "Social registration"
          },
          "root": {
            "type": "string",
            "description": "Entry point root.",
            "example": "controllers\\portal\\LoginController"
          },
          "model": {
            "type": "string",
            "description": "Entry point model."
          },
          "icon": {
            "type": "string",
            "description": "Entry point icon. Used in entry points with type `action_link`."
          },
          "background": {
            "type": "string",
            "description": "Entry point background color. Used in entry points with type `menu_link`."
          },
          "url": {
            "type": "string",
            "description": "Entry point url. Used in entry points with types `action_link`, `menu_link` and `tab`."
          },
          "code": {
            "type": "string",
            "description": "Code of an entry point.",
            "example": "<h3>Widget code</h3>"
          }
        }
      },
      "Baseoptionsresponse": {
        "title": "Baseoptionsresponse",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Attribute name",
            "example": "module"
          },
          "title": {
            "type": "string",
            "description": "Attribute title",
            "example": "Module name"
          },
          "type": {
            "type": "string",
            "description": "Attribute type",
            "example": "string"
          },
          "required": {
            "type": "boolean",
            "description": "Is this attribute required",
            "example": true
          }
        }
      },
      "Customerlabel": {
        "title": "Customerlabel",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Customer label ID",
            "example": 1
          },
          "label": {
            "type": "string",
            "description": "Name of the customer label",
            "example": "Label name"
          },
          "color": {
            "type": "string",
            "description": "Color in hexadecimal format",
            "example": "#357bf2"
          }
        }
      },
      "Tarifflabel": {
        "title": "Tarifflabel",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Tariff label ID",
            "example": 1
          },
          "label": {
            "type": "string",
            "description": "Name of the tariff label",
            "example": "Label name"
          },
          "color": {
            "type": "string",
            "description": "Color in hexadecimal format",
            "example": "#357bf2"
          }
        }
      },
      "InternettariffBase": {
        "title": "InternettariffBase",
        "required": [
          "title",
          "partners_ids",
          "with_vat",
          "speed_download",
          "speed_upload",
          "hide_on_admin_portal",
          "show_on_customer_portal"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Unique title of tariff",
            "example": "Aplha"
          },
          "service_name": {
            "type": "string",
            "description": "Unique service name. If not set will be get from title",
            "example": "aplha"
          },
          "partners_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Array of partners (ids) who can use this tariff"
          },
          "price": {
            "type": "number",
            "description": "Price",
            "example": 100
          },
          "with_vat": {
            "type": "boolean",
            "description": "With VAT or not",
            "example": true
          },
          "vat_percent": {
            "type": "number",
            "description": "VAT value",
            "example": 19
          },
          "speed_download": {
            "type": "number",
            "description": "Download speed (kbps)",
            "example": 102400
          },
          "speed_upload": {
            "type": "number",
            "description": "Upload speed (kbps)",
            "example": 102400
          },
          "speed_limit_at": {
            "type": "number",
            "description": "Guaranteed speed limit at X%. Default: 10",
            "example": 10
          },
          "aggregation": {
            "type": "number",
            "description": "Aggregation: 1:X. Default: 1",
            "example": 1
          },
          "burst_limit": {
            "type": "number",
            "description": "Burst limit: +X%. Default: 0",
            "example": 0
          },
          "burst_limit_fixed_down": {
            "type": "number",
            "description": "Download burst limit. Default: 0",
            "example": 0
          },
          "burst_limit_fixed_up": {
            "type": "number",
            "description": "Upload burst limit. Default: 0",
            "example": 0
          },
          "burst_threshold": {
            "type": "number",
            "description": "Burst threshold: X%. Default: 0",
            "example": 0
          },
          "burst_threshold_fixed_down": {
            "type": "number",
            "description": "Download burst threshold. Default: 0",
            "example": 0
          },
          "burst_threshold_fixed_up": {
            "type": "number",
            "description": "Upload burst threshold. Default: 0",
            "example": 0
          },
          "burst_time": {
            "type": "number",
            "description": "Burst time: X sec. Default: 0",
            "example": 0
          },
          "burst_type": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Burst. Default: none"
          },
          "billing_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Types of billing"
          },
          "customer_categories": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Customer categories"
          },
          "exclude_traffic_classes": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "IDs of Traffic classes"
          },
          "hide_on_admin_portal": {
            "type": "boolean",
            "description": "Hide tariff on Admin portal. Default: false",
            "example": false
          },
          "show_on_customer_portal": {
            "type": "boolean",
            "description": "Show tariff on Customer portal. Default: false",
            "example": false
          },
          "priority": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Priority"
          },
          "speed_limit_type": {
            "type": "string",
            "description": "Type. Can be `none`, `percent`, `fixed`",
            "example": "none"
          },
          "speed_limit_fixed_down": {
            "type": "number",
            "description": "Guaranteed download speed limit. Default: 0",
            "example": 0
          },
          "speed_limit_fixed_up": {
            "type": "number",
            "description": "Guaranteed upload speed limit. Default: 0",
            "example": 0
          },
          "tax_id": {
            "type": "number",
            "description": "Tax id",
            "example": 0
          },
          "transaction_category_id": {
            "type": "number",
            "description": "Transaction category id. Default: 0",
            "example": 0
          },
          "billing_days_count": {
            "type": "number",
            "description": "Prepaid period days. Default: 1",
            "example": 1
          },
          "custom_period": {
            "allOf": [
              {
                "$ref": "#/components/schemas/custom_period"
              },
              {
                "description": "Use for check if use custom period",
                "example": 1
              }
            ]
          },
          "available_for_services": {
            "type": "boolean",
            "description": "Available to assign in services",
            "example": true
          },
          "available_for_locations": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of locations (ids)"
          },
          "customer_labels": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of customer labels (ids)"
          },
          "tariff_labels": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of tariff labels (ids)"
          }
        }
      },
      "InternettariffResponse": {
        "title": "InternettariffResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/InternettariffBase1"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Internet tariff ID",
                "example": 1
              },
              "services": {
                "type": "number",
                "description": "Number of services used",
                "example": 0
              }
            }
          }
        ]
      },
      "InternettarifflistResponse": {
        "title": "InternettarifflistResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/InternettariffResponse"
          },
          {
            "type": "object",
            "properties": {
              "tariffs_for_change": {
                "type": "array",
                "items": {
                  "type": "number"
                },
                "description": "Tariff plans available in customer portal for changing services (ids)"
              }
            }
          }
        ]
      },
      "InternettariffId": {
        "title": "InternettariffId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Internet tariff ID",
            "example": 1
          }
        }
      },
      "VoicetariffBase": {
        "title": "VoicetariffBase",
        "required": [
          "title",
          "type",
          "partners_ids",
          "with_vat"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Unique title of tariff",
            "example": "Aplha"
          },
          "service_name": {
            "type": "string",
            "description": "Unique service name. If not set will be get from title",
            "example": "aplha"
          },
          "type": {
            "type": "string",
            "description": "Type. Can be 'voip' for VoIP, 'fix' for Fix, 'mobile' for Mobile. Default: 'voip'",
            "example": "voip"
          },
          "partners_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Array of partners (ids) who can use this tariff"
          },
          "price": {
            "type": "number",
            "description": "Price",
            "example": 100
          },
          "with_vat": {
            "type": "boolean",
            "description": "With VAT or not",
            "example": true
          },
          "vat_percent": {
            "type": "number",
            "description": "VAT value",
            "example": 19
          },
          "billing_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Types of billing"
          },
          "billing_days_count": {
            "type": "number",
            "description": "Prepaid period days. Default: 1",
            "example": 1
          },
          "available_for_locations": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of locations (ids)"
          },
          "buy_price_increase": {
            "type": "number",
            "description": "Buy price increase",
            "example": 0
          },
          "connection_cost_included": {
            "type": "boolean",
            "description": "Included pricing cover connect cost",
            "example": true
          },
          "customer_categories": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Customer categories"
          },
          "customer_rate_table_id": {
            "type": "number",
            "description": "Rate table (id)"
          },
          "hide_on_admin_portal": {
            "type": "boolean",
            "description": "Hide tariff on Admin portal. Default: false",
            "example": false
          },
          "show_on_customer_portal": {
            "type": "boolean",
            "description": "Show tariff on Customer portal. Default: false",
            "example": false
          },
          "tax_id": {
            "type": "number",
            "description": "Tax id",
            "example": 0
          },
          "custom_period": {
            "allOf": [
              {
                "$ref": "#/components/schemas/custom_period"
              },
              {
                "description": "Use for check if use custom period",
                "example": 1
              }
            ]
          },
          "available_for_services": {
            "type": "boolean",
            "description": "Available to assign in services",
            "example": true
          },
          "customer_labels": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of customer labels (ids)"
          },
          "tariff_labels": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of tariff labels (ids)"
          }
        }
      },
      "VoicetariffResponse": {
        "title": "VoicetariffResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/VoicetariffBase1"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Voice tariff ID",
                "example": 1
              },
              "tariffs_for_change": {
                "type": "array",
                "items": {
                  "type": "number"
                },
                "description": "Tariff plans available in customer portal for changing services (ids)"
              },
              "services": {
                "type": "number",
                "description": "Number of services used",
                "example": 0
              },
              "transaction_category_id": {
                "type": "number",
                "example": 0
              },
              "transaction_category_id_for_calls": {
                "type": "number",
                "example": 0
              },
              "transaction_category_id_for_data": {
                "type": "number",
                "example": 0
              },
              "transaction_category_id_for_messages": {
                "type": "number",
                "example": 0
              }
            }
          }
        ]
      },
      "VoicetariffId": {
        "title": "VoicetariffId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Voice tariff ID",
            "example": 1
          }
        }
      },
      "RecurringtariffBase": {
        "title": "RecurringtariffBase",
        "required": [
          "title",
          "partners_ids",
          "with_vat",
          "hide_on_admin_portal"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Unique title of tariff",
            "example": "Aplha"
          },
          "service_name": {
            "type": "string",
            "description": "Unique service name. If not set will be get from title",
            "example": "aplha"
          },
          "partners_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Array of partners (ids) who can use this tariff"
          },
          "price": {
            "type": "number",
            "description": "Price",
            "example": 100
          },
          "with_vat": {
            "type": "boolean",
            "description": "With VAT or not",
            "example": true
          },
          "vat_percent": {
            "type": "number",
            "description": "VAT value",
            "example": 19
          },
          "billing_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Types of billing"
          },
          "billing_days_count": {
            "type": "number",
            "description": "Prepaid period days. Default: 1",
            "example": 1
          },
          "custom_period": {
            "allOf": [
              {
                "$ref": "#/components/schemas/custom_period"
              },
              {
                "description": "Use for check if use custom period",
                "example": 1
              }
            ]
          },
          "available_for_services": {
            "type": "boolean",
            "description": "Available to assign in services",
            "example": true
          },
          "available_for_locations": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of locations (ids)"
          },
          "customer_categories": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Customer categories"
          },
          "customer_labels": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of customer labels (ids)"
          },
          "tariff_labels": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of tariff labels (ids)"
          },
          "hide_on_admin_portal": {
            "type": "boolean",
            "description": "Hide tariff on Admin portal. Default: false",
            "example": false
          },
          "show_on_customer_portal": {
            "type": "boolean",
            "description": "Show tariff on Customer portal. Default: false",
            "example": false
          },
          "tax_id": {
            "type": "number",
            "description": "Tax id",
            "example": 0
          }
        }
      },
      "RecurringtariffResponse": {
        "title": "RecurringtariffResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/RecurringtariffBase1"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Recurring tariff ID",
                "example": 1
              },
              "services": {
                "type": "number",
                "description": "Number of services used",
                "example": 0
              },
              "tariffs_for_change": {
                "type": "array",
                "items": {
                  "type": "number"
                },
                "description": "Tariff plans available in customer portal for changing services (ids)"
              },
              "transaction_category_id": {
                "type": "number",
                "example": 0
              }
            }
          }
        ]
      },
      "RecurringtariffId": {
        "title": "RecurringtariffId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Recurring tariff ID",
            "example": 1
          }
        }
      },
      "BundletariffBase": {
        "title": "BundletariffBase",
        "required": [
          "title",
          "partners_ids"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Unique title of tariff",
            "example": "Aplha"
          },
          "service_description": {
            "type": "string",
            "description": "Unique service description",
            "example": "aplha"
          },
          "partners_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of partners (ids) who can use this tariff"
          },
          "price": {
            "type": "number",
            "description": "Price. Default: 0",
            "example": 100
          },
          "with_vat": {
            "type": "boolean",
            "description": "With VAT or not. Default: 1",
            "example": true
          },
          "vat_percent": {
            "type": "number",
            "description": "VAT value. Default: 21",
            "example": 19
          },
          "activation_fee": {
            "type": "number",
            "description": "Activation fee. Default: 0",
            "example": 0.5
          },
          "issue_invoice_while_service_creation": {
            "type": "boolean",
            "description": "Issue an invoice while service creation. Default: 0",
            "example": true
          },
          "cancellation_fee": {
            "type": "number",
            "description": "Cancellation fee. Default: 0",
            "example": 1.5
          },
          "prior_cancellation_fee": {
            "type": "number",
            "description": "Prior cancellation fee. Default: 0",
            "example": 1.5
          },
          "change_to_other_bundle_fee": {
            "type": "number",
            "description": "Change to other bundle fee. Default: 0",
            "example": 0
          },
          "contract_duration": {
            "type": "number",
            "description": "Contract duration",
            "example": 1
          },
          "get_activation_fee_when": {
            "type": "string",
            "description": "Get activation fee when create service: 'create_service' or after first service billing day: 'first_service_billing'",
            "example": "create_service"
          },
          "automatic_renewal": {
            "type": "boolean",
            "description": "Automatic renewal. Default: 0",
            "example": true
          },
          "auto_reactivate": {
            "type": "boolean",
            "description": "Auto reactivate when deposit become more then minimal balance. Default: 0",
            "example": false
          },
          "discount_period": {
            "type": "number",
            "description": "Discount period",
            "example": 5
          },
          "discount_type": {
            "type": "string",
            "description": "Type of discount: 'percent' or 'fixed'. Default value: 'percent'",
            "example": "percent"
          },
          "discount_value": {
            "type": "number",
            "description": "Discount value",
            "example": 15
          },
          "internet_tariffs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Internet tariffs plans"
          },
          "voice_tariffs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Voice tariffs plans"
          },
          "custom_tariffs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Custom tariffs plans"
          },
          "billing_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Types of billing"
          },
          "billing_days_count": {
            "type": "number",
            "description": "Prepaid period days. Default: 1",
            "example": 1
          },
          "custom_period": {
            "allOf": [
              {
                "$ref": "#/components/schemas/custom_period"
              },
              {
                "description": "Use for check if use custom period",
                "example": 1
              }
            ]
          },
          "available_for_services": {
            "type": "boolean",
            "description": "Available to assign in services",
            "example": true
          },
          "customer_labels": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of customer labels (ids)"
          },
          "tariff_labels": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of tariff labels (ids)"
          }
        }
      },
      "BundletariffResponse": {
        "title": "BundletariffResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/BundletariffBase1"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Bundle tariff ID",
                "example": 1
              }
            }
          }
        ]
      },
      "BundletariffId": {
        "title": "BundletariffId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Bundle tariff ID",
            "example": 1
          }
        }
      },
      "One-timetariffBase": {
        "title": "One-timetariffBase",
        "required": [
          "title",
          "partners_ids",
          "hide_on_admin_portal"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Unique title of tariff",
            "example": "Aplha"
          },
          "service_description": {
            "type": "string",
            "description": "Unique service description",
            "example": "aplha"
          },
          "price": {
            "type": "number",
            "description": "Price",
            "example": 100
          },
          "with_vat": {
            "type": "boolean",
            "description": "With VAT or not",
            "example": true
          },
          "vat_percent": {
            "type": "number",
            "description": "VAT value",
            "example": 19
          },
          "partners_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Array of partners (ids) who can use this tariff"
          },
          "customer_categories": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Customer categories"
          },
          "customer_labels": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of customer labels (ids)"
          },
          "tariff_labels": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of tariff labels (ids)"
          },
          "available_for_locations": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of locations (ids)"
          },
          "enabled": {
            "type": "boolean",
            "description": "Enabled",
            "example": true
          },
          "hide_on_admin_portal": {
            "type": "boolean",
            "description": "Hide tariff on Admin portal. Default: false",
            "example": false
          },
          "show_on_customer_portal": {
            "type": "boolean",
            "description": "Show tariff on Customer portal. Default: false",
            "example": false
          },
          "tax_id": {
            "type": "number",
            "description": "Tax id",
            "example": 0
          }
        }
      },
      "One-timetariffResponse": {
        "title": "One-timetariffResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/One-timetariffBase1"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "One-time tariff ID",
                "example": 1
              },
              "transaction_category_id": {
                "type": "number",
                "example": 0
              }
            }
          }
        ]
      },
      "One-timetariffId": {
        "title": "One-timetariffId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "One-time tariff ID",
            "example": 1
          }
        }
      },
      "ChangeTariffGetResponse": {
        "title": "ChangeTariffGetResponse",
        "required": [
          "target_date"
        ],
        "type": "object",
        "properties": {
          "target_date": {
            "type": "string",
            "description": "Start date of new tariff",
            "example": "2019-02-07"
          },
          "transaction_category_id": {
            "type": "number",
            "example": 0
          },
          "services": {
            "type": "number",
            "description": "Number of services used",
            "example": 0
          }
        }
      },
      "Tariffforchangeresponse": {
        "title": "Tariffforchangeresponse",
        "required": [
          "hide_on_admin_portal",
          "partners_ids",
          "speed_download",
          "speed_upload"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Tariff ID",
            "example": 3
          },
          "title": {
            "type": "string",
            "description": "Tariff title",
            "example": "Tariff title"
          },
          "price": {
            "type": "string",
            "description": "Tariff price",
            "example": "10.30"
          },
          "minimal_start_date": {
            "type": "string",
            "description": "Minimal allowed start date for the service change. Present only when \"service_id\" is passed.",
            "example": "2026-07-10"
          },
          "fee": {
            "type": "string",
            "description": "Localized fee charged when changing to this tariff. Present only when \"service_id\" is passed.",
            "example": "10.00"
          },
          "fee_raw": {
            "type": "number",
            "description": "Raw fee value charged when changing to this tariff. Present only when \"service_id\" is passed.",
            "example": 10
          },
          "vat_percent": {
            "type": "string",
            "description": "VAT percent",
            "example": "21.0"
          },
          "with_vat": {
            "type": "boolean",
            "description": "Price with VAT",
            "example": true
          },
          "other_properties": {
            "type": "string",
            "description": "And other properties according to tariff type",
            "example": "Other properties"
          },
          "hide_on_admin_portal": {
            "type": "boolean",
            "description": "Hide tariff on Admin portal. Default: false",
            "example": false
          },
          "show_on_customer_portal": {
            "type": "boolean",
            "description": "Show tariff on Customer portal. Default: false",
            "example": false
          },
          "available_for_locations": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of locations (ids)"
          },
          "customer_categories": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Customer categories"
          },
          "partners_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Array of partners (ids) who can use this tariff"
          },
          "tax_id": {
            "type": "number",
            "description": "Tax id",
            "example": 0
          },
          "service_name": {
            "type": "string",
            "description": "Unique service name. If not set will be get from title",
            "example": "aplha"
          },
          "billing_days_count": {
            "type": "number",
            "description": "Prepaid period days. Default: 1",
            "example": 1
          },
          "available_for_services": {
            "type": "boolean",
            "description": "Available to assign in services",
            "example": true
          },
          "billing_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Types of billing"
          },
          "tariffs_for_change": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Tariff plans available in customer portal for changing services (ids)"
          },
          "speed_download": {
            "type": "number",
            "description": "Download speed (kbps)",
            "example": 102400
          },
          "speed_upload": {
            "type": "number",
            "description": "Upload speed (kbps)",
            "example": 102400
          },
          "speed_limit_type": {
            "type": "string",
            "description": "Type. Can be `none`, `percent`, `fixed`",
            "example": "none"
          },
          "speed_limit_at": {
            "type": "number",
            "description": "Guaranteed speed limit at X%. Default: 10",
            "example": 10
          },
          "speed_limit_fixed_up": {
            "type": "number",
            "description": "Guaranteed upload speed limit. Default: 0",
            "example": 0
          },
          "speed_limit_fixed_down": {
            "type": "number",
            "description": "Guaranteed download speed limit. Default: 0",
            "example": 0
          },
          "aggregation": {
            "type": "number",
            "description": "Aggregation: 1:X. Default: 1",
            "example": 1
          },
          "burst_type": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Burst. Default: none"
          },
          "burst_limit": {
            "type": "number",
            "description": "Burst limit: +X%. Default: 0",
            "example": 0
          },
          "burst_limit_fixed_up": {
            "type": "number",
            "description": "Upload burst limit. Default: 0",
            "example": 0
          },
          "burst_limit_fixed_down": {
            "type": "number",
            "description": "Download burst limit. Default: 0",
            "example": 0
          },
          "burst_threshold": {
            "type": "number",
            "description": "Burst threshold: X%. Default: 0",
            "example": 0
          },
          "burst_threshold_fixed_up": {
            "type": "number",
            "description": "Upload burst threshold. Default: 0",
            "example": 0
          },
          "burst_threshold_fixed_down": {
            "type": "number",
            "description": "Download burst threshold. Default: 0",
            "example": 0
          },
          "burst_time": {
            "type": "number",
            "description": "Burst time: X sec. Default: 0",
            "example": 0
          },
          "priority": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Priority"
          },
          "exclude_traffic_classes": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "IDs of Traffic classes"
          },
          "services": {
            "type": "number",
            "description": "Number of services used",
            "example": 0
          }
        }
      },
      "FUPCounterResponse": {
        "title": "FUPCounterResponse",
        "required": [
          "service_id",
          "day_up",
          "day_down",
          "day_time",
          "day_bonus_up",
          "day_bonus_down",
          "week_up",
          "week_down",
          "week_bonus_up",
          "week_bonus_down",
          "week_time",
          "month_up",
          "month_down",
          "month_bonus_up",
          "month_bonus_down",
          "month_time",
          "cap_amount",
          "cap_used",
          "over_usage"
        ],
        "type": "object",
        "properties": {
          "service_id": {
            "type": "number",
            "description": "Service id"
          },
          "day_up": {
            "type": "number",
            "description": "Day up"
          },
          "day_down": {
            "type": "number",
            "description": "Day down"
          },
          "day_time": {
            "type": "number",
            "description": "Day time"
          },
          "day_bonus_up": {
            "type": "number",
            "description": "Day bonus up"
          },
          "day_bonus_down": {
            "type": "number",
            "description": "Day bonus down"
          },
          "week_up": {
            "type": "number",
            "description": "Week up"
          },
          "week_down": {
            "type": "number",
            "description": "Week down"
          },
          "week_bonus_up": {
            "type": "number",
            "description": "Week bonus up"
          },
          "week_bonus_down": {
            "type": "number",
            "description": "Week bonus down"
          },
          "week_time": {
            "type": "number",
            "description": "Week time"
          },
          "month_up": {
            "type": "number",
            "description": "Month up"
          },
          "month_down": {
            "type": "number",
            "description": "Month down"
          },
          "month_bonus_up": {
            "type": "number",
            "description": "Month bonus up"
          },
          "month_bonus_down": {
            "type": "number",
            "description": "Month bonus down"
          },
          "month_time": {
            "type": "number",
            "description": "Month time"
          },
          "cap_amount": {
            "type": "number",
            "description": "Cap amount"
          },
          "cap_used": {
            "type": "number",
            "description": "Cap used"
          },
          "over_usage": {
            "type": "number",
            "description": "Over usage"
          }
        }
      },
      "FUPCompilerResponse": {
        "title": "FUPCompilerResponse",
        "required": [
          "service_id",
          "customer_id",
          "traffic_accounting",
          "time_accounting",
          "fup_policy",
          "decrease_percent",
          "fixed_up",
          "fixed_down",
          "blocked",
          "is_hard",
          "restored",
          "changed",
          "current_download_speed",
          "current_upload_speed"
        ],
        "type": "object",
        "properties": {
          "service_id": {
            "type": "number",
            "description": "Service id"
          },
          "customer_id": {
            "type": "number",
            "description": "Customer id"
          },
          "traffic_accounting": {
            "type": "number",
            "description": "Traffic accounting. Value: 1 or 0"
          },
          "time_accounting": {
            "type": "number",
            "description": "Time accounting. Value: 1 or 0"
          },
          "fup_policy": {
            "type": "number",
            "description": "FUP policy"
          },
          "decrease_percent": {
            "type": "number",
            "description": "Decrease percent"
          },
          "fixed_up": {
            "type": "number",
            "description": "Upload in bytes"
          },
          "fixed_down": {
            "type": "number",
            "description": "Download in bytes"
          },
          "blocked": {
            "type": "number",
            "description": "Blocked. Value: 1 or 0"
          },
          "is_hard": {
            "type": "number",
            "description": "Is hard. Value: 1 or 0"
          },
          "restored": {
            "type": "number",
            "description": "Restored. Value: 1 or 0"
          },
          "changed": {
            "type": "number",
            "description": "Changed. Value: 1 or 0"
          },
          "current_download_speed": {
            "type": "integer",
            "description": "Current real download speed in Kbps. Calculated based on active rules priority: override > CAP > FUP rule > base tariff speed"
          },
          "current_upload_speed": {
            "type": "integer",
            "description": "Current real upload speed in Kbps. Calculated based on active rules priority: override > CAP > FUP rule > base tariff speed"
          }
        }
      },
      "FUPPolicyResponse": {
        "title": "FUPPolicyResponse",
        "required": [
          "id",
          "tariff_if",
          "name",
          "fixed_up",
          "fixed_down",
          "accounting_traffic",
          "accounting_online",
          "action"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Policy id"
          },
          "tariff_if": {
            "type": "number",
            "description": "Tariff id"
          },
          "name": {
            "type": "string",
            "description": "Name"
          },
          "fixed_up": {
            "type": "number",
            "description": "Upload in bytes"
          },
          "fixed_down": {
            "type": "number",
            "description": "Download in bytes"
          },
          "accounting_traffic": {
            "type": "number",
            "description": "Traffic accounting. Value: 1 or 0"
          },
          "accounting_online": {
            "type": "number",
            "description": "Time accounting. Value: 1 or 0"
          },
          "action": {
            "type": "string",
            "description": "Action. Value: 'increase', 'decrease' or 'block'"
          },
          "percent": {
            "type": "number",
            "description": "Percent"
          },
          "conditions": {
            "type": "string",
            "description": "Conditions"
          }
        }
      },
      "FUPLimitResponse": {
        "title": "FUPLimitResponse",
        "required": [
          "tariff_id",
          "traffic_days",
          "online_days"
        ],
        "type": "object",
        "properties": {
          "tariff_id": {
            "type": "number",
            "description": "Tariff id",
            "example": 1
          },
          "cap_tariff_id": {
            "type": "number",
            "description": "CAP tariff id",
            "example": 1
          },
          "traffic_from": {
            "type": "string",
            "description": "Traffic from. Default '00:00'",
            "example": "00:00"
          },
          "online_from": {
            "type": "string",
            "description": "Online from. Default '00:00'",
            "example": "00:00"
          },
          "traffic_to": {
            "type": "string",
            "description": "Traffic to. Default '24:00'",
            "example": "24:00"
          },
          "online_to": {
            "type": "string",
            "description": "Online to. Default '24:00'",
            "example": "24:00"
          },
          "traffic_days": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Traffic days. Default '1,2,3,4,5,6,7'"
          },
          "online_days": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Online days. Default '1,2,3,4,5,6,7'"
          },
          "action": {
            "type": "string",
            "description": "Action. Options('decrease', 'block'). Default 'block'",
            "example": "block"
          },
          "percent": {
            "type": "number",
            "description": "Percent",
            "example": 0
          },
          "traffic_amount": {
            "type": "number",
            "description": "Traffic amount",
            "example": 12334
          },
          "traffic_direction": {
            "type": "string",
            "description": "Options('up', 'down', 'up_down'). Default 'up_down'",
            "example": "up_down"
          },
          "traffic_in": {
            "type": "string",
            "description": "Traffic in. Options('kb', 'mb', 'gb', 'tb'). Default 'gb'",
            "example": "gb"
          },
          "override_traffic": {
            "type": "boolean",
            "description": "Override traffic",
            "example": false
          },
          "online_amount": {
            "type": "number",
            "description": "Online amount",
            "example": 123
          },
          "online_in": {
            "type": "string",
            "description": "Online in. Options('minutes', 'hours'). Default 'hours'",
            "example": "hours"
          },
          "override_online": {
            "type": "boolean",
            "description": "Override online",
            "example": false
          },
          "rollover_data": {
            "type": "boolean",
            "description": "Rollover data",
            "example": false
          },
          "rollover_time": {
            "type": "boolean",
            "description": "Rollover time",
            "example": false
          },
          "bonus_is_unlimited": {
            "type": "boolean",
            "description": "Bonus is unlimited. Default 'true'",
            "example": false
          },
          "bonus_traffic": {
            "type": "number",
            "description": "Bonus traffic",
            "example": 1
          },
          "bonus_traffic_in": {
            "type": "string",
            "description": "Bonus traffic in"
          },
          "fixed_up": {
            "type": "number",
            "description": "Upload in bytes"
          },
          "fixed_down": {
            "type": "number",
            "description": "Download in bytes"
          },
          "top_up_over_usage": {
            "type": "boolean",
            "description": "Compensate over usage via Top-Up"
          },
          "top_up_trigger_percent": {
            "type": "number",
            "description": "Auto Top-Up trigger value"
          },
          "use_bonus_when_normal_ended": {
            "type": "boolean",
            "description": "Allow the usage of bonus traffic when normal CAP is finished"
          }
        }
      },
      "FUPOverrideBase": {
        "title": "FUPOverrideBase",
        "required": [
          "service_id",
          "speed_download",
          "speed_upload",
          "start_datetime",
          "end_datetime"
        ],
        "type": "object",
        "properties": {
          "service_id": {
            "type": "number",
            "description": "Identifier of the related internet service",
            "example": 1
          },
          "speed_download": {
            "type": "number",
            "description": "Download speed limit in kbps/second",
            "example": 100000
          },
          "speed_upload": {
            "type": "number",
            "description": "Upload speed limit in kbps/second",
            "example": 150000
          },
          "start_datetime": {
            "type": "string",
            "description": "Start date and time",
            "example": "2025-07-08 08:00:00"
          },
          "end_datetime": {
            "type": "string",
            "description": "End date and time",
            "example": "2025-07-08 09:10:00"
          }
        }
      },
      "FUPOverrideId": {
        "title": "FUPOverrideId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Unique FUP Override ID",
            "example": 1
          }
        }
      },
      "FUPOverrideResponse": {
        "title": "FUPOverrideResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/FUPOverrideBase"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Unique FUP Override ID",
                "example": 1
              }
            }
          }
        ]
      },
      "FUPUsageResponse": {
        "title": "FUPUsageResponse",
        "type": "object",
        "properties": {
          "traffic_amount": {
            "type": "number",
            "description": "Total amount of used traffic in bytes",
            "example": 40000000000
          },
          "over_usage": {
            "type": "number",
            "description": "Amount of traffic used beyond the allocated limit in bytes",
            "example": 0
          },
          "used_amount": {
            "type": "number",
            "description": "Used traffic amount in bytes",
            "example": 323862
          },
          "remains_amount": {
            "type": "number",
            "description": "Remains traffic amount in bytes",
            "example": 676138
          },
          "cap_amount": {
            "type": "number",
            "description": "CAP traffic amount in bytes",
            "example": 2000000
          },
          "used_percent": {
            "type": "number",
            "description": "Used traffic part in percents",
            "example": 10.79
          },
          "remains_percent": {
            "type": "number",
            "description": "Remains traffic part in percents",
            "example": 22.53
          },
          "cap_percent": {
            "type": "number",
            "description": "CAP traffic part in percents",
            "example": 66.66
          },
          "bonus_traffic": {
            "type": "number",
            "description": "Bonus traffic",
            "example": 0
          },
          "bonus_is_unlimited": {
            "type": "number",
            "description": "Bonus is unlimited",
            "example": 0
          },
          "bonus_remains_amount": {
            "type": "number",
            "description": "Bonus remains amount",
            "example": 0
          },
          "bonus_cap_amount": {
            "type": "number",
            "description": "Bonus CAP amount",
            "example": 0
          },
          "bonus_used_percent": {
            "type": "number",
            "description": "Bonus used percent",
            "example": 0
          },
          "bonus_remains_percent": {
            "type": "number",
            "description": "Bonus remains percent",
            "example": 0
          },
          "bonus_cap_percent": {
            "type": "number",
            "description": "Bonus CAP percent",
            "example": 0
          },
          "cap_bar_position": {
            "type": "number",
            "description": "Position of `CAP` bar (on the Progress widget)",
            "example": 2
          },
          "remains_bar_position": {
            "type": "number",
            "description": "Position of `remains` bar (on the Progress widget)",
            "example": 1
          },
          "used_text": {
            "type": "string",
            "description": "Title of `used` bar. Returned only if param `with_texts` is true.",
            "example": "323.86 KB"
          },
          "used_label_title": {
            "type": "string",
            "description": "Title of `used` label. Returned only if param `with_texts` is true.",
            "example": "323.86 KB"
          },
          "capped_alt": {
            "type": "string",
            "description": "Text on hover of `CAP` bar. Returned only if param `with_texts` is true.",
            "example": "Remains: 2 MB / 2 MB CAP"
          },
          "capped_not_used_text": {
            "type": "string",
            "description": "Title of `CAP` bar. Returned only if param `with_texts` is true.",
            "example": "2 MB"
          },
          "capped_text_all": {
            "type": "string",
            "description": "Title of the `CAP` bar, indicating the total allocated limit.",
            "example": "2 MB"
          },
          "all_text": {
            "type": "string",
            "description": "All plan traffic title. Returned only if param `with_texts` is true.",
            "example": "1 MB"
          },
          "remains_text": {
            "type": "string",
            "description": "Title of `remains` bar. Returned only if param `with_texts` is true.",
            "example": "676.14 KB"
          },
          "used_alt": {
            "type": "string",
            "description": "Text on hover of `used` bar. Returned only if param `with_texts` is true.",
            "example": "Used: 323.86 KB / 1 MB (+2 MB CAP)"
          },
          "remains_alt": {
            "type": "string",
            "description": "Text on hover of `remains` bar. Returned only if param `with_texts` is true.",
            "example": "Remains: 676.14 KB / 1 MB (+2 MB CAP)"
          },
          "bonus_capped_text_all": {
            "type": "string",
            "description": "Title of the bonus `CAP` bar, indicating the total bonus traffic allocated.",
            "example": "(+2 MB Bonus CAP)"
          },
          "full_cap_amount": {
            "type": "number",
            "description": "Full CAP traffic amount in bytes",
            "example": 2000000
          },
          "bonus_all_text": {
            "type": "string",
            "description": "Title indicating the total bonus traffic available",
            "example": "0 B"
          },
          "bonus_used_label_title": {
            "type": "string",
            "description": "Title of the label indicating the amount of bonus traffic used",
            "example": "0 B"
          },
          "bonus_used_text": {
            "type": "string",
            "description": "Text displaying the used bonus traffic amount",
            "example": "0 B"
          },
          "bonus_used_alt": {
            "type": "string",
            "description": "Text displayed on hover over the bonus usage bar, showing the used and total bonus traffic",
            "example": "Used: 0 B \\/ 0 B"
          },
          "bonus_remains_text": {
            "type": "string",
            "description": "Text displaying the remaining bonus traffic",
            "example": "``"
          },
          "bonus_remains_alt": {
            "type": "string",
            "description": "Text displayed on hover over the bonus remaining bar, showing the remaining bonus traffic",
            "example": "Remains: 0 B \\/ 0 B"
          },
          "bonus_capped_not_used_text": {
            "type": "string",
            "description": "Title of the bonus `CAP` bar, indicating the amount of bonus traffic not yet used",
            "example": "0 B"
          },
          "bonus_capped_alt": {
            "type": "string",
            "description": "Text displayed on hover over the bonus `CAP` bar, showing the remaining and total bonus traffic",
            "example": "Remains: 0 B \\/ 0 B Bonus CAP"
          }
        }
      },
      "CappeddataBase": {
        "title": "CappeddataBase",
        "required": [
          "service_id"
        ],
        "type": "object",
        "properties": {
          "service_id": {
            "type": "number",
            "description": "Existing service Id.",
            "example": 1
          },
          "quantity": {
            "type": "number",
            "description": "Traffic amount. Required if not set `tariff_id`. Default: 0",
            "example": 10000000
          },
          "quantity_remind": {
            "type": "number",
            "description": "Remind traffic amount. Default: 0",
            "example": 10000000
          },
          "tariff_id": {
            "type": "number",
            "description": "Existing CAP Tariff Id. If set then `price` and `quantity` will be taken from tariff. Required if not set `price`.",
            "example": 1
          },
          "over_usage": {
            "type": "number",
            "description": "Represents the amount of traffic that exceeds the FUP limit. If the usage surpasses the FUP limit, over_usage is calculated as usage - fup limit.",
            "example": 1
          },
          "valid_till": {
            "type": "string",
            "description": "Valid till date.",
            "example": "0000-00-00 00:00:00"
          },
          "end_of_period": {
            "type": "string",
            "description": "End of period.",
            "example": "0000-00-00 00:00:00"
          },
          "price": {
            "type": "number",
            "description": "Price of the Capped data. Required if not set `tariff_id`. Default: 0",
            "example": 0
          }
        }
      },
      "CappeddataId": {
        "title": "CappeddataId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Capped data Id.",
            "example": 1
          }
        }
      },
      "CappeddataResponse": {
        "title": "CappeddataResponse",
        "required": [
          "id",
          "service_id",
          "quantity",
          "quantity_remind",
          "valid_till",
          "transaction_id",
          "price"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "CAP Id.",
            "example": 15
          },
          "service_id": {
            "type": "number",
            "description": "Service Id.",
            "example": 100
          },
          "quantity": {
            "type": "number",
            "description": "Traffic quantity.",
            "example": 50000000
          },
          "quantity_remind": {
            "type": "number",
            "description": "Remind traffic quantity.",
            "example": 50000000
          },
          "over_usage": {
            "type": "number",
            "description": "Represents the amount of traffic that exceeds the FUP limit. If the usage surpasses the FUP limit, over_usage is calculated as usage - fup limit.",
            "example": 1
          },
          "valid_till": {
            "type": "string",
            "description": "Valid till date.",
            "example": "0000-00-00 00:00:00"
          },
          "end_of_period": {
            "type": "string",
            "description": "End of period.",
            "example": "0000-00-00 00:00:00"
          },
          "transaction_id": {
            "type": "number",
            "description": "Transaction Id.",
            "example": 50
          },
          "price": {
            "type": "number",
            "description": "Price of the Capped data.",
            "example": 0
          },
          "added_by": {
            "type": "string",
            "description": "Added by: 'api', 'admin', 'customer', 'system'. Default value: 'system'",
            "example": "api"
          },
          "type": {
            "type": "string",
            "description": "Type: 'admin_top_up', 'customer_top_up', 'api_top_up', 'auto_top_up', 'rollover_unused', 'rollover_to_next_month'.",
            "example": "admin_top_up"
          },
          "description": {
            "type": "string",
            "description": "A dynamic description that provides information about the traffic rollover. The value depends on the specific context: it can describe the rollover traffic for a single service or the transfer of unused traffic from one service to another.",
            "example": "``"
          }
        }
      },
      "CaptariffBase": {
        "title": "CaptariffBase",
        "required": [
          "title",
          "amount",
          "validity"
        ],
        "type": "object",
        "properties": {
          "tariff_id": {
            "type": "number",
            "description": "Tariff ID",
            "example": 1
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "lte-top-1g"
          },
          "amount": {
            "type": "number",
            "description": "Amount",
            "example": 1
          },
          "amount_in": {
            "type": "string",
            "description": "Amount in: 'gb' or 'mb'. Default: 'mb'",
            "example": "gb"
          },
          "price": {
            "type": "number",
            "description": "Price",
            "example": 100
          },
          "type": {
            "type": "string",
            "description": "Type: 'manual', 'automatic'. Default: 'manual'",
            "example": "manual"
          },
          "validity": {
            "allOf": [
              {
                "$ref": "#/components/schemas/validity"
              },
              {
                "description": "Validity",
                "example": "number_of_hours"
              }
            ]
          },
          "validity_number": {
            "type": "number",
            "description": "Validity number is required if validity set to one of values: 'number_of_months', 'number_of_days', 'number_of_hours'. For 'number_of_months' values 1-12; for 'number_of_days' values 1-365; for 'number_of_hours' values 1-72.",
            "example": 5
          },
          "to_invoice": {
            "type": "number",
            "description": "To invoice: '0', '1'. Default '0'",
            "example": 1
          },
          "transaction_category_id": {
            "type": "number",
            "description": "Transaction category. Default '0'",
            "example": 1
          }
        }
      },
      "CaptariffId": {
        "title": "CaptariffId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Cap Tariff ID",
            "example": 1
          }
        }
      },
      "CaptariffResponse": {
        "title": "CaptariffResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/CaptariffBase"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Cap Tariff ID",
                "example": 1
              }
            }
          }
        ]
      },
      "Contact": {
        "title": "Contact",
        "type": "object",
        "description": "Single contact row from the customer or lead contact book. Same shape on read (GET) and write (POST/PUT inside `contacts[]`).",
        "properties": {
          "id": {
            "type": "number",
            "description": "Contact ID. On POST/PUT: omit to create a new contact, set to update an existing one.",
            "example": 1
          },
          "type": {
            "type": "string",
            "description": "Contact type: 'email' or 'phone'. Cannot be changed once the contact exists.",
            "example": "email"
          },
          "value": {
            "type": "string",
            "description": "Contact value: email address or phone number. Phone numbers are normalised to E.164 when libphonenumber accepts them.",
            "example": "john.doe@domain.com"
          },
          "label": {
            "type": "string",
            "description": "Contact label: 'primary', 'billing', 'additional', 'home', 'work', 'mobile', 'internal'.",
            "example": "primary"
          },
          "country_code": {
            "type": "string",
            "nullable": true,
            "description": "Numeric country code for phone contacts (e.g. '380'); null for email contacts and for unparseable phones.",
            "example": "380"
          },
          "is_primary": {
            "type": "boolean",
            "description": "Whether this contact is the primary one for its (type, label) tuple. Promote via the dedicated set-primary endpoint, not via PUT.",
            "example": true
          },
          "is_whatsapp": {
            "type": "boolean",
            "description": "Whether this phone contact is linked to a WhatsApp account. Phone-only; ignored for email contacts.",
            "example": false
          }
        }
      },
      "CustomerBase": {
        "title": "CustomerBase",
        "required": [
          "partner_id",
          "location_id",
          "name",
          "category"
        ],
        "type": "object",
        "properties": {
          "login": {
            "type": "string",
            "description": "Login",
            "example": "john_doe"
          },
          "status": {
            "type": "string",
            "description": "Status: 'new', 'active', 'blocked', 'disabled'. Default value: 'new'",
            "example": "new"
          },
          "partner_id": {
            "type": "number",
            "description": "Partner id. You can get it at page \"Administration / Partners\"",
            "example": 1
          },
          "location_id": {
            "type": "number",
            "description": "Location id. You can get it at page \"Administration / Locations\"",
            "example": 1
          },
          "parent_id": {
            "type": "number",
            "description": "ID of the main (parent) account.",
            "example": 0
          },
          "name": {
            "type": "string",
            "description": "Full name",
            "example": "John Doe"
          },
          "email": {
            "type": "string",
            "description": "Email",
            "example": "john.doe@domain.com"
          },
          "billing_email": {
            "type": "string",
            "description": "Billing email",
            "example": "john.doe.billing@domain.com"
          },
          "phone": {
            "type": "string",
            "description": "Phone number",
            "example": "555-0134"
          },
          "category": {
            "type": "string",
            "description": "Category: 'person' (for private person) or 'company' (for company). Default value: 'person'",
            "example": "person"
          },
          "street_1": {
            "type": "string",
            "description": "Address part #1",
            "example": "Paper Street"
          },
          "zip_code": {
            "type": "string",
            "description": "Zip"
          },
          "city": {
            "type": "string",
            "description": "City"
          },
          "date_add": {
            "type": "string",
            "description": "Date of adding. Format: 'YYYY-MM-DD'. Default value: current date"
          },
          "customer_labels": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of customer labels (ids)"
          },
          "subdivision_id": {
            "type": "number",
            "description": "State/province ID",
            "example": 1
          },
          "conversion_date": {
            "type": "string",
            "description": "Date conversion customer."
          },
          "daily_prepaid_cost": {
            "type": "number",
            "description": "Cost of daily prepayment."
          },
          "contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Contact"
            },
            "description": "Customer contacts. On POST/PUT items without `id` are created, items with `id` are updated; missing items are NOT auto-deleted. Mixing this with flat `email` / `phone` / `billing_email` in the same request is undefined behaviour — pick one form. Cross-customer `id` values are rejected."
          }
        }
      },
      "CustomersResponse": {
        "title": "CustomersResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomerBase1"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Customer ID",
                "example": 1
              }
            }
          }
        ]
      },
      "CustomerId": {
        "title": "CustomerId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          }
        }
      },
      "CustomerinfoResponse": {
        "title": "CustomerinfoResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "birthday": {
            "type": "string",
            "description": "Birthday"
          },
          "passport": {
            "type": "string",
            "description": "Passport number"
          },
          "company_id": {
            "type": "string",
            "description": "Company ID"
          },
          "contact_person": {
            "type": "string",
            "description": "Contact person"
          },
          "vat_id": {
            "type": "string",
            "description": "VAT ID"
          },
          "updated_at": {
            "type": "string",
            "description": "Last update date"
          }
        }
      },
      "CustomercapResponse": {
        "title": "CustomercapResponse",
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "auto_cap": {
            "type": "string",
            "description": "Auto cap. Default value: '0'",
            "example": "0"
          },
          "limitation_type": {
            "type": "string",
            "description": "Limitation type: \"auto_top_up\", \"manual_top_up\", \"any_top_up\". Default value: \"auto_top_up\"",
            "example": "auto_top_up"
          },
          "max_cap_during_month": {
            "type": "number",
            "description": "Max cap during per month. Default value: '0'",
            "example": 10
          },
          "transfer_usage_to_new_service": {
            "type": "string",
            "description": "Transfer usage to new service. Default value: '1'",
            "example": "1"
          },
          "deleted": {
            "type": "string",
            "description": "Deleted record. Default value: '0'",
            "example": "0"
          }
        }
      },
      "CustomercommentBase": {
        "title": "CustomercommentBase",
        "required": [
          "customer_id",
          "comment"
        ],
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "datetime": {
            "type": "string",
            "description": "Customer comment created datetime",
            "example": "0000-00-00 00:00:00"
          },
          "administrator_id": {
            "type": "number",
            "description": "Administrator ID",
            "example": 1
          },
          "type": {
            "type": "string",
            "description": "Type: 'comment', 'customer', 'finance', 'service', 'message', 'support', 'call'. Default: 'comment'",
            "example": "comment"
          },
          "pinned_date": {
            "type": "string",
            "description": "Pinned date time",
            "example": "0000-00-00 00:00:00"
          },
          "class": {
            "type": "string",
            "description": "Class: 'default', 'primary', 'success', 'warning', 'danger', 'info'.",
            "example": "info"
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "title"
          },
          "name": {
            "type": "string",
            "description": "Name",
            "example": "name"
          },
          "comment": {
            "type": "string",
            "description": "Comment",
            "example": "comment"
          },
          "values": {
            "type": "string",
            "description": "Values",
            "example": "values"
          },
          "scheduled_send_time": {
            "type": "string",
            "description": "Scheduled date time",
            "example": "0000-00-00 00:00:00"
          },
          "assigned_to": {
            "type": "number",
            "description": "Admin ID to be assigned a customer comment",
            "example": 1
          },
          "is_done": {
            "type": "string",
            "description": "Is done. Default value: '0'",
            "example": "1"
          },
          "is_send": {
            "type": "string",
            "description": "Is send. Default value: '0'",
            "example": "1"
          },
          "is_pinned": {
            "type": "string",
            "description": "Is pinned. Default value: '0'",
            "example": "1"
          }
        }
      },
      "CustomercommentsResponse": {
        "title": "CustomercommentsResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomercommentBase"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Customer comment ID",
                "example": 1
              },
              "is_edited": {
                "type": "string",
                "description": "Is edited. Default value: '0'",
                "example": "0"
              }
            }
          }
        ]
      },
      "CustomercommentId": {
        "title": "CustomercommentId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Customer comment ID",
            "example": 1
          }
        }
      },
      "CustomercommentResponse": {
        "title": "CustomercommentResponse",
        "required": [
          "customer_id",
          "comment"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Customer comment ID",
            "example": 1
          },
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "datetime": {
            "type": "string",
            "description": "Customer comment created datetime",
            "example": "0000-00-00 00:00:00"
          },
          "administrator_id": {
            "type": "number",
            "description": "Administrator ID",
            "example": 1
          },
          "type": {
            "type": "string",
            "description": "Type: 'comment', 'customer', 'finance', 'service', 'message', 'support', 'call'. Default: 'comment'",
            "example": "comment"
          },
          "class": {
            "type": "string",
            "description": "Class: 'default', 'primary', 'success', 'warning', 'danger', 'info'.",
            "example": "info"
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "title"
          },
          "name": {
            "type": "string",
            "description": "Name",
            "example": "name"
          },
          "comment": {
            "type": "string",
            "description": "Comment",
            "example": "comment"
          },
          "values": {
            "type": "string",
            "description": "Values",
            "example": "values"
          },
          "scheduled_send_time": {
            "type": "string",
            "description": "Scheduled date time",
            "example": "0000-00-00 00:00:00"
          },
          "assigned_to": {
            "type": "number",
            "description": "Admin ID to be assigned a customer comment",
            "example": 1
          },
          "is_done": {
            "type": "string",
            "description": "Is done. Default value: '0'",
            "example": "0"
          },
          "is_send": {
            "type": "string",
            "description": "Is send. Default value: '0'",
            "example": "0"
          },
          "is_edited": {
            "type": "string",
            "description": "Is edited. Default value: '0'",
            "example": "0"
          },
          "is_pinned": {
            "type": "string",
            "description": "Is pinned. Default value: '0'",
            "example": "0"
          }
        }
      },
      "CustomercontactBase": {
        "title": "CustomercontactBase",
        "required": [
          "customer_id",
          "contact_type",
          "contact_value"
        ],
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "number",
            "description": "Owning customer (or lead) ID. Maps to `customer_contacts.customer_id`.",
            "example": 1
          },
          "contact_type": {
            "type": "string",
            "description": "Contact type: `email` or `phone`.",
            "example": "email"
          },
          "contact_value": {
            "type": "string",
            "maxLength": 320,
            "description": "Email address or phone number. Emails are stored lower-cased; phones are normalised through libphonenumber.",
            "example": "alpha@example.com"
          },
          "label": {
            "type": "string",
            "description": "Contact label: `primary`, `billing`, `additional`, `home`, `work`, `mobile`, `internal`. Default: `primary`.",
            "example": "primary"
          },
          "is_primary": {
            "type": "boolean",
            "description": "When `true`, any existing primary for the same `(customer_id, contact_type, label)` tuple is demoted atomically.",
            "example": true
          },
          "is_whatsapp": {
            "type": "boolean",
            "description": "WhatsApp flag. Only valid for phone rows.",
            "example": false
          },
          "country_code": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 country code. Only valid for phone rows. If omitted, derived from libphonenumber when possible.",
            "example": "UA"
          },
          "contact_person_id": {
            "type": "number",
            "nullable": true,
            "description": "Optional link to a contact person row.",
            "example": 1
          },
          "metadata": {
            "type": "object",
            "nullable": true,
            "description": "Free-form JSON metadata (e.g. parse errors for invalid phones).",
            "example": {}
          }
        }
      },
      "CustomercontactUpdateRequest": {
        "title": "CustomercontactUpdateRequest",
        "type": "object",
        "description": "Body shape for `PUT /admin/customers/customer-contacts/{id}`. Forbidden fields: `customer_id`, `contact_type`, `is_primary`. For email rows, `country_code` and `is_whatsapp` are rejected.",
        "properties": {
          "contact_value": {
            "type": "string",
            "maxLength": 320,
            "description": "New contact value (email or phone).",
            "example": "beta@example.com"
          },
          "label": {
            "type": "string",
            "description": "New label.",
            "example": "billing"
          },
          "country_code": {
            "type": "string",
            "description": "New country code (phone rows only).",
            "example": "UA"
          },
          "is_whatsapp": {
            "type": "boolean",
            "description": "New WhatsApp flag (phone rows only).",
            "example": false
          },
          "contact_person_id": {
            "type": "number",
            "nullable": true,
            "description": "New contact person reference.",
            "example": 1
          },
          "metadata": {
            "type": "object",
            "nullable": true,
            "description": "New JSON metadata.",
            "example": {}
          }
        }
      },
      "CustomercontactsResponse": {
        "title": "CustomercontactsResponse",
        "type": "object",
        "required": [
          "id",
          "customer_id",
          "contact_type",
          "contact_value"
        ],
        "properties": {
          "id": {
            "type": "number",
            "description": "Contact row ID.",
            "example": 1
          },
          "customer_id": {
            "type": "number",
            "description": "Owning customer (or lead) ID.",
            "example": 1
          },
          "contact_person_id": {
            "type": "number",
            "nullable": true,
            "description": "Optional link to a contact person row.",
            "example": 1
          },
          "contact_type": {
            "type": "string",
            "description": "Contact type: `email` or `phone`.",
            "example": "email"
          },
          "contact_value": {
            "type": "string",
            "maxLength": 320,
            "description": "Email address or phone number.",
            "example": "alpha@example.com"
          },
          "label": {
            "type": "string",
            "description": "Contact label.",
            "example": "primary"
          },
          "country_code": {
            "type": "string",
            "nullable": true,
            "description": "ISO 3166-1 alpha-2 country code (phone rows only).",
            "example": "UA"
          },
          "is_primary": {
            "type": "string",
            "description": "`1` for the primary contact in its `(customer_id, contact_type, label)` tuple, otherwise `0`.",
            "example": "1"
          },
          "is_whatsapp": {
            "type": "string",
            "description": "`1` when the phone is flagged as WhatsApp-enabled, otherwise `0`.",
            "example": "0"
          },
          "metadata": {
            "type": "object",
            "nullable": true,
            "description": "Free-form JSON metadata.",
            "example": {}
          },
          "created_at": {
            "type": "string",
            "description": "Row creation datetime.",
            "example": "2026-05-21 10:00:00"
          },
          "updated_at": {
            "type": "string",
            "description": "Row last-update datetime.",
            "example": "2026-05-21 10:00:00"
          }
        }
      },
      "CustomercontactResponse": {
        "title": "CustomercontactResponse",
        "required": [
          "id",
          "customer_id",
          "contact_type",
          "contact_value"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Contact row ID.",
            "example": 1
          },
          "customer_id": {
            "type": "number",
            "description": "Owning customer (or lead) ID.",
            "example": 1
          },
          "contact_person_id": {
            "type": "number",
            "nullable": true,
            "description": "Optional link to a contact person row.",
            "example": 1
          },
          "contact_type": {
            "type": "string",
            "description": "Contact type: `email` or `phone`.",
            "example": "email"
          },
          "contact_value": {
            "type": "string",
            "maxLength": 320,
            "description": "Email address or phone number.",
            "example": "alpha@example.com"
          },
          "label": {
            "type": "string",
            "description": "Contact label.",
            "example": "primary"
          },
          "country_code": {
            "type": "string",
            "nullable": true,
            "description": "ISO 3166-1 alpha-2 country code (phone rows only).",
            "example": "UA"
          },
          "is_primary": {
            "type": "string",
            "description": "`1` for the primary contact in its `(customer_id, contact_type, label)` tuple, otherwise `0`.",
            "example": "1"
          },
          "is_whatsapp": {
            "type": "string",
            "description": "`1` when the phone is flagged as WhatsApp-enabled, otherwise `0`.",
            "example": "0"
          },
          "metadata": {
            "type": "object",
            "nullable": true,
            "description": "Free-form JSON metadata, or `null`.",
            "example": {}
          },
          "created_at": {
            "type": "string",
            "description": "Row creation datetime.",
            "example": "2026-05-21 10:00:00"
          },
          "updated_at": {
            "type": "string",
            "description": "Row last-update datetime.",
            "example": "2026-05-21 10:00:00"
          }
        }
      },
      "CustomercontactId": {
        "title": "CustomercontactId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Contact row ID.",
            "example": 1
          }
        }
      },
      "ContactErrorResponse": {
        "title": "ContactErrorResponse",
        "type": "object",
        "description": "Standard Splynx API v2 error envelope returned for `404` / `405` / `500` etc. on contact endpoints.",
        "properties": {
          "error": {
            "type": "object",
            "properties": {
              "message": {
                "type": "string",
                "example": "Contact not found."
              },
              "code": {
                "type": "integer",
                "example": 404
              },
              "internal_code": {
                "type": "string",
                "example": "NOT_FOUND"
              }
            }
          }
        }
      },
      "ContactValidationError": {
        "title": "ContactValidationError",
        "type": "object",
        "description": "Shape returned by `BaseContactsController::respondWithServiceErrors()` for `422` responses on contact endpoints. The wire format is an array of these envelopes (one entry per service-level error message).",
        "required": [
          "field",
          "is_additional_attribute",
          "message"
        ],
        "properties": {
          "field": {
            "type": "string",
            "description": "Attribute name when known. Service-level errors emit an empty string because they are not bound to a single attribute.",
            "example": ""
          },
          "is_additional_attribute": {
            "type": "boolean",
            "description": "Always `false` for contact endpoints — `customer_contacts` has no additional-fields surface.",
            "example": false
          },
          "message": {
            "type": "string",
            "description": "Human-readable error message returned by `ContactBookService`.",
            "example": "Cannot delete the last primary email."
          }
        }
      },
      "CustomerResponse": {
        "title": "CustomerResponse",
        "required": [
          "partner_id",
          "location_id",
          "name",
          "category"
        ],
        "type": "object",
        "properties": {
          "login": {
            "type": "string",
            "description": "Login",
            "example": "john_doe"
          },
          "status": {
            "type": "string",
            "description": "Status: 'new', 'active', 'blocked', 'disabled'. Default value: 'new'",
            "example": "new"
          },
          "partner_id": {
            "type": "number",
            "description": "Partner id. You can get it at page \"Administration / Partners\"",
            "example": 1
          },
          "location_id": {
            "type": "number",
            "description": "Location id. You can get it at page \"Administration / Locations\"",
            "example": 1
          },
          "password": {
            "type": "string",
            "description": "Password",
            "example": "marla_my_love"
          },
          "name": {
            "type": "string",
            "description": "Full name",
            "example": "John Doe"
          },
          "email": {
            "type": "string",
            "description": "Email",
            "example": "john.doe@domain.com"
          },
          "billing_email": {
            "type": "string",
            "description": "Billing email",
            "example": "john.doe.billing@domain.com"
          },
          "phone": {
            "type": "string",
            "description": "Phone number",
            "example": "555-0134"
          },
          "category": {
            "type": "string",
            "description": "Category: 'person' (for private person) or 'company' (for company). Default value: 'person'",
            "example": "person"
          },
          "street_1": {
            "type": "string",
            "description": "Address part #1",
            "example": "Paper Street"
          },
          "zip_code": {
            "type": "string",
            "description": "Zip"
          },
          "city": {
            "type": "string",
            "description": "City"
          },
          "date_add": {
            "type": "string",
            "description": "Date of adding. Format: 'YYYY-MM-DD'. Default value: current date"
          },
          "gps": {
            "type": "string",
            "description": "Geo data customer. Format: '49.9902794,36.2303893'."
          },
          "mrr_total": {
            "type": "number",
            "description": "Mrr total. Default value: 0.0000."
          },
          "billing_type": {
            "type": "string",
            "description": "Billing type."
          },
          "added_by": {
            "type": "string",
            "description": "\"admin\"."
          },
          "added_by_id": {
            "type": "number",
            "description": "Id of the administrator who added the custom."
          },
          "last_online": {
            "type": "string",
            "description": "Date last online customer."
          },
          "last_update": {
            "type": "string",
            "description": "Last date update customer."
          },
          "customer_labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Customerlabel"
            },
            "description": "Array of customer labels."
          },
          "subdivision_id": {
            "type": "number",
            "description": "State/province ID",
            "example": 1
          },
          "conversion_date": {
            "type": "string",
            "description": "Date conversion customer."
          },
          "daily_prepaid_cost": {
            "type": "number",
            "description": "Cost of daily prepayment."
          },
          "account_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/account_type"
              },
              {
                "description": "Read-only. Account type. Shows only if sub accounts are used in the system"
              }
            ]
          },
          "can_manage_aggregated_sub_accounts": {
            "type": "string",
            "enum": [
              "0",
              "1"
            ],
            "description": "Read-only. Whether this account can manage its linked aggregated sub-accounts: `1` for a main account that has sub-account management enabled, otherwise `0`. Shows only if sub accounts are used in the system."
          },
          "contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Contact"
            },
            "description": "Customer contacts — full list of email and phone rows from the contact book. The flat `email` / `phone` / `billing_email` fields above stay populated for backward compatibility and are computed from the same rows."
          }
        }
      },
      "CustomerDocumentsResponse": {
        "title": "CustomerDocumentsResponse",
        "required": [
          "customer_id",
          "type",
          "title"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "example": 1
          },
          "added_by": {
            "type": "string",
            "example": "api"
          },
          "added_by_id": {
            "type": "number",
            "example": 1
          },
          "customer_id": {
            "type": "number",
            "example": 1
          },
          "type": {
            "type": "string",
            "example": "uploaded"
          },
          "title": {
            "type": "string",
            "example": "customer document title"
          },
          "created_at": {
            "type": "string",
            "example": "2017-01-01 16:05:28"
          },
          "updated_at": {
            "type": "string",
            "example": "2017-01-02 12:12:43"
          },
          "description": {
            "type": "string",
            "description": "Document description",
            "example": "document description"
          },
          "visible_by_customer": {
            "type": "string",
            "description": "Visibility on customer portal",
            "example": "0"
          },
          "filename_original": {
            "type": "string",
            "description": "Original document name",
            "example": "SOME FILE NAME"
          },
          "filename_uploaded": {
            "type": "string",
            "description": "Uploaded document name",
            "example": "SOME FILE NAME"
          },
          "code": {
            "type": "string",
            "description": "Document's code",
            "example": "file code"
          },
          "sign_date": {
            "type": "string",
            "description": "Signature date",
            "example": "2017-01-01 16:05:28"
          },
          "contract_date": {
            "type": "string",
            "description": "Date when contract starts (readonly for signed contracts)",
            "example": "2017-01-01"
          },
          "terms_month": {
            "type": "string",
            "description": "Term (month)",
            "example": "1"
          },
          "end_of_term": {
            "type": "string",
            "description": "End of term",
            "example": "2017-02-01"
          },
          "sign_contract": {
            "type": "string",
            "description": "Sign contract",
            "example": "1"
          },
          "terms": {
            "type": "boolean",
            "description": "This contract has a term",
            "example": false
          },
          "download_link": {
            "type": "string",
            "description": "A directly link to this document",
            "example": "https://yourdomain/a"
          },
          "has_thumbnail": {
            "type": "boolean",
            "description": "Whether this file has a thumbnail.",
            "example": true
          },
          "thumbnail_link": {
            "type": "string",
            "description": "A link to the document's thumbnail. The field is returned when has_thumbnail = true",
            "example": "https://yourdomain/b"
          }
        }
      },
      "CustomerDocumentsID": {
        "title": "CustomerDocumentsID",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Customer Documents ID",
            "example": 1
          }
        }
      },
      "CustomerDocumentsRequest": {
        "title": "CustomerDocumentsRequest",
        "required": [
          "customer_id",
          "type",
          "title"
        ],
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "number",
            "example": 1
          },
          "type": {
            "type": "string",
            "example": "uploaded"
          },
          "title": {
            "type": "string",
            "example": "customer document title"
          },
          "description": {
            "type": "string",
            "example": "document description"
          },
          "visible_by_customer": {
            "type": "string",
            "description": "Visibility on customer portal",
            "example": "0"
          },
          "contract_date": {
            "type": "string",
            "description": "Date when contract starts",
            "example": "2017-01-01"
          }
        }
      },
      "CustomerStatistics": {
        "title": "CustomerStatistics",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "ID",
            "example": 1
          },
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "service_id": {
            "type": "string",
            "description": "Service ID",
            "example": "1"
          },
          "tariff_id": {
            "type": "string",
            "description": "Tariff ID",
            "example": "1"
          },
          "partner_id": {
            "type": "string",
            "description": "Partner ID",
            "example": "1"
          },
          "nas_id": {
            "type": "string",
            "description": "NAS ID",
            "example": "1"
          },
          "login": {
            "type": "string",
            "description": "Login"
          },
          "in_bytes": {
            "type": "string",
            "description": "Download",
            "example": "0"
          },
          "out_bytes": {
            "type": "string",
            "description": "Upload",
            "example": "0"
          },
          "start_date": {
            "type": "string",
            "description": "Start date",
            "example": "0000-00-00"
          },
          "start_time": {
            "type": "string",
            "description": "Start time",
            "example": "00:00:00"
          },
          "end_date": {
            "type": "string",
            "description": "End date",
            "example": "1970-01-01"
          },
          "end_time": {
            "type": "string",
            "description": "End time",
            "example": "01:00:00"
          },
          "ipv4": {
            "type": "string",
            "description": "IPv4",
            "example": "0.0.0.0"
          },
          "ipv6": {
            "type": "string",
            "description": "IPv6"
          },
          "mac": {
            "type": "string",
            "description": "MAC address"
          },
          "call_to": {
            "type": "string",
            "description": "Call to"
          },
          "port": {
            "type": "string",
            "description": "Port"
          },
          "error": {
            "type": "string",
            "description": "Error",
            "example": "0"
          },
          "error_repeat": {
            "type": "string",
            "description": "Error repeat",
            "example": "0"
          },
          "price": {
            "type": "string",
            "description": "Price",
            "example": "0.0000"
          },
          "session_id": {
            "type": "string",
            "description": "Session ID"
          },
          "terminate_cause": {
            "type": "string",
            "description": "Terminate cause"
          }
        }
      },
      "CustomerBilling": {
        "title": "CustomerBilling",
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "enabled": {
            "type": "number",
            "example": 1
          },
          "type": {
            "type": "string",
            "example": "1"
          },
          "deposit": {
            "type": "string",
            "example": "7412.0000"
          },
          "billing_date": {
            "type": "string",
            "example": "1"
          },
          "billing_due": {
            "type": "string",
            "example": "2"
          },
          "blocking_period": {
            "type": "string",
            "example": "0"
          },
          "grace_period": {
            "type": "string",
            "example": "3"
          },
          "make_invoices": {
            "type": "string",
            "example": "1"
          },
          "payment_method": {
            "type": "string",
            "example": "1"
          },
          "min_balance": {
            "type": "string",
            "example": "0.0000"
          },
          "request_auto_enable": {
            "type": "string",
            "example": "0"
          },
          "request_auto_day": {
            "type": "string",
            "example": "1"
          },
          "request_auto_period": {
            "type": "string",
            "example": "0"
          },
          "reminder_enable": {
            "type": "string",
            "example": "1"
          },
          "reminder_day_1": {
            "type": "string",
            "example": "2"
          },
          "reminder_day_2": {
            "type": "string",
            "example": "8"
          },
          "reminder_day_3": {
            "type": "string",
            "example": "20"
          },
          "reminder_payment": {
            "type": "string",
            "example": "0"
          },
          "reminder_payment_value": {
            "type": "string",
            "example": "0.0000"
          },
          "reminder_payment_comment": {
            "type": "string"
          },
          "reminder_type": {
            "type": "string",
            "example": "0"
          },
          "billing_person": {
            "type": "string"
          },
          "billing_street_1": {
            "type": "string"
          },
          "billing_zip_code": {
            "type": "string"
          },
          "billing_city": {
            "type": "string"
          },
          "sub_billing_mode": {
            "type": "string",
            "description": "Linked billing mode: 'independent', 'aggregated'. Default: 'independent'. Defines the billing mode for sub-accounts",
            "example": "independent"
          },
          "request_auto_type": {
            "type": "number",
            "description": "Proforma payment period",
            "example": 1
          },
          "request_auto_next": {
            "type": "string",
            "description": "Next request",
            "example": "0000-00-00"
          },
          "send_finance_notification": {
            "type": "string",
            "description": "Send billing notifications",
            "example": "1"
          },
          "partner_percent": {
            "type": "string",
            "description": "Partner percent",
            "example": "0.0000"
          }
        }
      },
      "CustomerOnlineBase": {
        "title": "CustomerOnlineBase",
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "string",
            "example": "1"
          },
          "service_id": {
            "type": "string",
            "example": "1"
          },
          "tariff_id": {
            "type": "string",
            "example": "1"
          },
          "partner_id": {
            "type": "string",
            "example": "1"
          },
          "nas_id": {
            "type": "string",
            "example": "1"
          },
          "login": {
            "type": "string",
            "example": "login_8873"
          },
          "username_real": {
            "type": "string",
            "example": "14:71:0e:fc:ec:fa"
          },
          "in_bytes": {
            "type": "string",
            "example": "100125"
          },
          "out_bytes": {
            "type": "string",
            "example": "100998"
          },
          "start_session": {
            "type": "string",
            "example": "2016-01-01 16:05:28"
          },
          "ipv4": {
            "type": "string",
            "example": "10.0.0.1"
          },
          "ipv6": {
            "type": "string"
          },
          "ipv6_prefix": {
            "type": "string",
            "description": "IPv6 prefix",
            "example": "2001:db8::/32"
          },
          "mac": {
            "type": "string"
          },
          "call_to": {
            "type": "string"
          },
          "port": {
            "type": "string"
          },
          "price": {
            "type": "string",
            "example": "0.0000"
          },
          "time_on": {
            "type": "string",
            "example": "0"
          },
          "last_change": {
            "type": "string",
            "example": "2016-01-15 16:05:28"
          },
          "type": {
            "type": "string",
            "example": "mikrotik_api"
          },
          "login_is": {
            "type": "string",
            "example": "user"
          },
          "session_id": {
            "type": "string"
          },
          "nas_identifier": {
            "type": "string",
            "description": "NAS identifier",
            "example": "BRANCH-ROUTER-01"
          }
        }
      },
      "CustomerOnlineResponse": {
        "title": "CustomerOnlineResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomerOnlineBase"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Record ID",
                "example": 1
              }
            }
          }
        ]
      },
      "OnlineId": {
        "title": "OnlineId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Record ID",
            "example": 1
          }
        }
      },
      "CustomerChangesLogsFirst": {
        "title": "CustomerChangesLogsFirst",
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "date of change",
            "example": "2019-11-16"
          },
          "time": {
            "type": "string",
            "description": "time of change",
            "example": "00:01:06"
          },
          "old_status": {
            "type": "string",
            "description": "customer status before change",
            "example": "new"
          },
          "new_status": {
            "type": "string",
            "description": "customer status after change",
            "example": "active"
          },
          "service_id": {
            "type": "string",
            "description": "id of customer service",
            "nullable": true,
            "example": "null"
          },
          "tariff_type": {
            "type": "string",
            "description": "Type of tariff: 'internet', 'voice', 'custom' (recurring).",
            "nullable": true,
            "example": "null"
          },
          "old_tariff": {
            "type": "string",
            "description": "id of old tariff.",
            "nullable": true,
            "example": "null"
          },
          "new_tariff": {
            "type": "string",
            "description": "id of new tariff.",
            "nullable": true,
            "example": "null"
          },
          "administrator_id": {
            "type": "number",
            "description": "id of admin (system change if 0).",
            "example": 0
          }
        }
      },
      "CustomerChangesLogsLast": {
        "title": "CustomerChangesLogsLast",
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "date of change",
            "example": "2020-08-01"
          },
          "time": {
            "type": "string",
            "description": "time of change",
            "example": "09:59:48"
          },
          "old_status": {
            "type": "string",
            "description": "customer status before change",
            "example": "disabled"
          },
          "new_status": {
            "type": "string",
            "description": "customer status after change",
            "example": "active"
          },
          "service_id": {
            "type": "string",
            "description": "id of customer service",
            "nullable": true,
            "example": "null"
          },
          "tariff_type": {
            "type": "string",
            "description": "Type of tariff: 'internet', 'voice', 'custom' (recurring).",
            "nullable": true,
            "example": "null"
          },
          "old_tariff": {
            "type": "string",
            "description": "id of old tariff.",
            "nullable": true,
            "example": "null"
          },
          "new_tariff": {
            "type": "string",
            "description": "id of new tariff.",
            "nullable": true,
            "example": "null"
          },
          "administrator_id": {
            "type": "number",
            "description": "id of admin (system change if 0).",
            "example": 2
          }
        }
      },
      "CAPhistoryResponse": {
        "title": "CAPhistoryResponse",
        "type": "object",
        "properties": {
          "service_id": {
            "type": "string",
            "description": "ID of customer internet service",
            "example": "34"
          },
          "date_time": {
            "type": "string",
            "description": "Date",
            "example": "2020-01-29 16:01:48"
          },
          "action": {
            "type": "string",
            "description": "Actions: 'auto_top_up', 'manual_top_up', 'portal_top_up', 'api_top_up', 'rollover_to_next_month', 'rollover_to_new_service', 'end_of_period', 'end_of_validity', 'disable_top_ups', 'ended_quantity', 'delete', 'remove_cap'",
            "example": "manual_top_up"
          },
          "amount": {
            "type": "number",
            "description": "amount of action (bytes)",
            "example": 40480000
          },
          "total_amount": {
            "type": "number",
            "description": "total amount",
            "example": 40480000
          }
        }
      },
      "CardsPrepaidserie": {
        "title": "CardsPrepaidserie",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Voucher ID",
            "example": 120
          },
          "status": {
            "type": "string",
            "description": "Voucher Status: \"active\", \"used\", \"disabled\", \"expired\", \"new\", \"online\"",
            "example": "new"
          },
          "login": {
            "type": "string",
            "description": "Voucher Login (unique)",
            "example": "SomeRANdomGeneratedLogin"
          },
          "speed_download": {
            "type": "number",
            "description": "Download speed kbps",
            "example": 1024
          },
          "speed_upload": {
            "type": "number",
            "description": "Upload speed kbps",
            "example": 1024
          },
          "traffic_in_total": {
            "type": "number",
            "description": "Traffic In total",
            "example": 5000
          },
          "traffic_in_used": {
            "type": "number",
            "description": "Traffic In used",
            "example": 0
          },
          "traffic_out_total": {
            "type": "number",
            "description": "Traffic Out total",
            "example": 5000
          },
          "traffic_out_used": {
            "type": "number",
            "description": "Traffic Out used",
            "example": 0
          },
          "traffic_all_total": {
            "type": "number",
            "description": "Traffic All total",
            "example": 9000
          },
          "traffic_all_used": {
            "type": "number",
            "description": "Traffic All used",
            "example": 0
          },
          "time_online": {
            "type": "number",
            "description": "Time online",
            "example": 48
          },
          "time_online_selector": {
            "type": "string",
            "description": "Time online selector: \"minutes\", \"hours\", \"days\"",
            "example": "hours"
          },
          "time_online_used": {
            "type": "number",
            "description": "Used time online",
            "example": 0
          }
        }
      },
      "CardPrepaidBase": {
        "title": "CardPrepaidBase",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Voucher ID",
            "example": 120
          },
          "type": {
            "type": "string",
            "description": "Card type",
            "example": "prepaid"
          },
          "status": {
            "type": "string",
            "description": "Voucher Status: \"active\", \"used\", \"disabled\", \"expired\", \"new\", \"online\"",
            "example": "new"
          },
          "price": {
            "type": "number",
            "description": "Voucher price",
            "example": 5
          },
          "pool_id": {
            "type": "number",
            "description": "IPv4 Pool ID, **\"-1\" for \"Router will assign IP\", \"0\" - Any**",
            "example": 2
          },
          "partner_id": {
            "type": "number",
            "description": "Partner ID (0 - Any)",
            "example": 1
          },
          "location_id": {
            "type": "number",
            "description": "Location ID (0 - Any)",
            "example": 2
          },
          "speed_download": {
            "type": "number",
            "description": "Download speed kbps",
            "example": 1024
          },
          "speed_upload": {
            "type": "number",
            "description": "Upload speed kbps",
            "example": 1024
          },
          "traffic_in_total": {
            "type": "number",
            "description": "Traffic In total",
            "example": 5000
          },
          "traffic_in_used": {
            "type": "number",
            "description": "Traffic In used",
            "example": 0
          },
          "traffic_in_used_mb": {
            "type": "number",
            "description": "Traffic In used Mb",
            "example": 0
          },
          "traffic_out_total": {
            "type": "number",
            "description": "Traffic Out total",
            "example": 5000
          },
          "traffic_out_used": {
            "type": "number",
            "description": "Traffic Out used",
            "example": 0
          },
          "traffic_out_used_mb": {
            "type": "number",
            "description": "Traffic Out used Mb",
            "example": 0
          },
          "traffic_all_total": {
            "type": "number",
            "description": "Traffic All total",
            "example": 9000
          },
          "traffic_all_used": {
            "type": "number",
            "description": "Traffic All used",
            "example": 0
          },
          "traffic_all_used_mb": {
            "type": "number",
            "description": "Traffic All used Mb",
            "example": 0
          },
          "prefix": {
            "type": "string",
            "description": "Serie Prefix",
            "example": "SPLCP"
          },
          "short_login": {
            "type": "string",
            "description": "Voucher Login (unique)",
            "example": "SomeRANdomGeneratedLogin"
          },
          "login": {
            "type": "string",
            "description": "Voucher Login with Prefix (unique)",
            "example": "SPLCPSomeRANdomGeneratedLogin"
          },
          "password": {
            "type": "string",
            "description": "Vaucher password",
            "example": "dJHBdwu56R"
          },
          "seller_name": {
            "type": "string",
            "description": "Vaucher seller name",
            "example": "seller name"
          },
          "full_name": {
            "type": "string",
            "description": "Full name",
            "example": "full name"
          },
          "email": {
            "type": "string",
            "description": "email",
            "example": "test@email.box"
          },
          "phone": {
            "type": "string",
            "description": "Phone",
            "example": "1234567"
          },
          "remark": {
            "type": "string",
            "description": "Remark",
            "example": "remark"
          },
          "activated_at": {
            "type": "string",
            "description": "Voucher activation datetime",
            "example": "0000-00-00 00:00:00"
          },
          "time_online": {
            "type": "number",
            "description": "Time online",
            "example": 48
          },
          "time_online_selector": {
            "type": "string",
            "description": "Time online selector: \"minutes\", \"hours\", \"days\"",
            "example": "hours"
          },
          "time_online_used": {
            "type": "number",
            "description": "Used time online",
            "example": 0
          },
          "valid_till": {
            "type": "string",
            "description": "Valid till",
            "example": "2018-12-31"
          },
          "time_expired": {
            "type": "number",
            "description": "Expired time",
            "example": 0
          },
          "mac": {
            "type": "string",
            "description": "MAC address",
            "example": "00:00:00:00:00:00"
          },
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "tariff_id": {
            "type": "number",
            "description": "Tariff ID",
            "example": 1
          },
          "invoice_id": {
            "type": "number",
            "description": "Invoice ID",
            "example": 1
          },
          "expired_by_selector": {
            "type": "string",
            "example": "NULL"
          },
          "time_expired_selector": {
            "type": "string",
            "description": "Expired selector: \"minutes\", \"hours\", \"days\"",
            "example": "minutes"
          },
          "serie": {
            "type": "string",
            "description": "Serie",
            "example": "201801"
          },
          "changed": {
            "type": "string",
            "description": "Changed: \"Y\", \"N\"",
            "example": "Y"
          },
          "is_import": {
            "type": "string",
            "description": "Card is import: \"1\", \"0\"",
            "example": "1"
          },
          "created_at": {
            "type": "string",
            "description": "Created at",
            "example": "2018-01-22 14:09:26"
          }
        }
      },
      "CardsPrepaidSeries": {
        "title": "CardsPrepaidSeries",
        "required": [
          "serie",
          "prefix"
        ],
        "type": "object",
        "properties": {
          "serie": {
            "type": "string",
            "description": "Voucher Prepaid Series ID",
            "example": "201801"
          },
          "prefix": {
            "type": "string",
            "description": "Voucher Prepaid Series Prefix",
            "example": "SPLCP"
          },
          "amount": {
            "type": "number",
            "description": "Voucher Praid amount",
            "example": 15
          },
          "created_at": {
            "type": "string",
            "description": "Voucher Prepaid Serie created at",
            "example": "2018-01-12 10:55:34"
          }
        }
      },
      "CardsPrepaidSeriesId": {
        "title": "CardsPrepaidSeriesId",
        "type": "object",
        "properties": {
          "serie": {
            "type": "string",
            "description": "Voucher Prepaid Series ID",
            "example": "201803"
          }
        }
      },
      "CardsPrepaidCreate": {
        "title": "CardsPrepaidCreate",
        "required": [
          "prefix",
          "quantity",
          "price",
          "valid_till"
        ],
        "type": "object",
        "properties": {
          "prefix": {
            "type": "string",
            "description": "Voucher prefix",
            "example": "PREFIX-"
          },
          "quantity": {
            "type": "number",
            "description": "Serie Quantity",
            "example": 10
          },
          "price": {
            "type": "number",
            "description": "Serie price per voucher",
            "example": 5
          },
          "valid_till": {
            "type": "string",
            "description": "Valid date",
            "example": "2019-01-01"
          },
          "pool_id": {
            "type": "number",
            "description": "IPv4 pool id: 0 - Any, -1 - Router assign IP",
            "example": -1
          },
          "partner_id": {
            "type": "number",
            "description": "Partner Id, 0 - Any",
            "example": 0
          },
          "location_id": {
            "type": "number",
            "description": "Location Id, 0 - Any",
            "example": 0
          },
          "speed_download": {
            "type": "number",
            "description": "Download speed per voucher",
            "example": 1024
          },
          "speed_upload": {
            "type": "number",
            "description": "Upload speed per voucher",
            "example": 1024
          },
          "traffic_in_total": {
            "type": "number",
            "description": "Traffic IN per voucher",
            "example": 5000
          },
          "traffic_out_total": {
            "type": "number",
            "description": "Traffic OUT per voucher",
            "example": 5000
          },
          "traffic_all_total": {
            "type": "number",
            "description": "Traffic Total per voucher",
            "example": 9000
          },
          "time_online": {
            "type": "number",
            "description": "Online time",
            "example": 48
          },
          "time_online_selector": {
            "type": "string",
            "description": "Online time unit",
            "example": "hours"
          }
        }
      },
      "CardsPrepaidCreatenew": {
        "title": "CardsPrepaidCreatenew",
        "allOf": [
          {
            "$ref": "#/components/schemas/CardsPrepaidCreate"
          },
          {
            "required": [
              "expired_by"
            ],
            "type": "object",
            "properties": {
              "expired_by": {
                "type": "string",
                "description": "Validity method: \"valid_date\", \"activation_time\"",
                "example": "valid_date"
              }
            }
          }
        ]
      },
      "CardsPrepaid": {
        "title": "CardsPrepaid",
        "allOf": [
          {
            "$ref": "#/components/schemas/CardPrepaidBase"
          },
          {
            "required": [
              "expired_by"
            ],
            "type": "object",
            "properties": {
              "expired_by": {
                "type": "string",
                "description": "Validity method: \"valid_date\", \"activation_time\"",
                "example": "valid_date"
              }
            }
          }
        ]
      },
      "PrepaidCardsStatistics": {
        "title": "PrepaidCardsStatistics",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "ID",
            "example": 1
          },
          "card_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "nas_id": {
            "type": "string",
            "description": "NAS ID",
            "example": "1"
          },
          "login": {
            "type": "string",
            "description": "Login"
          },
          "in_bytes": {
            "type": "string",
            "description": "Download",
            "example": "0"
          },
          "out_bytes": {
            "type": "string",
            "description": "Upload",
            "example": "0"
          },
          "start_date": {
            "type": "string",
            "description": "Start date",
            "example": "0000-00-00"
          },
          "start_time": {
            "type": "string",
            "description": "Start time",
            "example": "00:00:00"
          },
          "end_date": {
            "type": "string",
            "description": "End date",
            "example": "1970-01-01"
          },
          "end_time": {
            "type": "string",
            "description": "End time",
            "example": "01:00:00"
          },
          "ipv4": {
            "type": "string",
            "description": "IPv4",
            "example": "0.0.0.0"
          },
          "mac": {
            "type": "string",
            "description": "MAC address"
          },
          "call_to": {
            "type": "string",
            "description": "Call to"
          },
          "port": {
            "type": "string",
            "description": "Port"
          },
          "error": {
            "type": "string",
            "description": "Error",
            "example": "0"
          },
          "error_repeat": {
            "type": "string",
            "description": "Error repeat",
            "example": "0"
          },
          "session_id": {
            "type": "string",
            "description": "Session ID"
          },
          "terminate_cause": {
            "type": "string",
            "description": "Terminate cause",
            "example": "0"
          },
          "nas_identifier": {
            "type": "string",
            "description": "NAS identifier",
            "example": "'PPPD'"
          }
        }
      },
      "SendDocumentBase": {
        "title": "SendDocumentBase",
        "required": [
          "type",
          "id"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Type of message: \"mail\", \"sms\", \"customer-portal\", \"customer-portal_and_mail\"",
            "example": "mail"
          },
          "id": {
            "type": "number",
            "description": "Document id. **Attention! In case document_type \"empty\" is customer's id to send message**",
            "example": 5
          },
          "subject": {
            "type": "string",
            "description": "It is required if the field \u00e2\u20ac\u0153type\u00e2\u20ac\u009d is \u00e2\u20ac\u0153mail\u00e2\u20ac\u009d or \u00e2\u20ac\u0153customer-portal_and_mail\u00e2\u20ac\u009d",
            "example": "Customer contract"
          }
        }
      },
      "SendDocument": {
        "title": "SendDocument",
        "allOf": [
          {
            "$ref": "#/components/schemas/SendDocumentBase"
          },
          {
            "required": [
              "document_type"
            ],
            "type": "object",
            "properties": {
              "document_type": {
                "type": "string",
                "description": "Type of desired document: \"document\", \"invoice\", \"request\", \"payment\", \"credit_note\", \"empty\".",
                "example": "document"
              },
              "template_id": {
                "type": "number",
                "description": "Template id for message, **Beware! template_id MUST be before message.** \"template_id\" will be required if \"message\" is empty.",
                "example": 15
              },
              "message": {
                "type": "string",
                "description": "Message text. \"message\" will be required if \"template_id\" is empty.",
                "example": "Hello customer, We have sent you a contract document"
              },
              "send_to_billing_email": {
                "type": "boolean",
                "description": "If the condition is true, the document will be sent to the customer's billing email address. Default value: false",
                "example": false
              },
              "copy_to": {
                "type": "string",
                "description": "If an email address is specified, a copy (CC) of the document will also be sent to this address.",
                "example": "test@test.com"
              },
              "notification_category": {
                "type": "string",
                "description": "Optional. Notification category used for opt-in/opt-out filtering. Allowed values: \"billing_and_payments\", \"service_and_support\", \"promotions_and_offers\", \"sub_accounts\", \"account_and_security\", \"administrative_notifications\". If omitted or empty, it defaults to \"billing_and_payments\" for finance document types (invoice, request, payment, credit_note) and to \"account_and_security\" for other document types.",
                "example": "billing_and_payments"
              }
            }
          }
        ]
      },
      "LeadBase": {
        "title": "LeadBase",
        "required": [
          "partner_id",
          "location_id",
          "name",
          "category"
        ],
        "type": "object",
        "properties": {
          "billing_type": {
            "type": "string",
            "description": "Billing type: 'recurring', 'prepaid_monthly'",
            "example": "recurring"
          },
          "partner_id": {
            "type": "number",
            "description": "Partner id. You can get it at page \"Administration / Partners\"",
            "example": 1
          },
          "location_id": {
            "type": "number",
            "description": "Location id. You can get it at page \"Administration / Locations\"",
            "example": 1
          },
          "added_by": {
            "type": "string",
            "description": "Added by: 'api', 'admin', 'widget'",
            "example": "admin"
          },
          "added_by_id": {
            "type": "number",
            "description": "Added by id",
            "example": 1
          },
          "name": {
            "type": "string",
            "description": "Full name",
            "example": "Lead Name"
          },
          "email": {
            "type": "string",
            "description": "Email",
            "example": "test@mail.com"
          },
          "billing_email": {
            "type": "string",
            "description": "Billing email",
            "example": "test@mail.com"
          },
          "phone": {
            "type": "string",
            "description": "Phone number",
            "example": "555-0135"
          },
          "category": {
            "type": "string",
            "description": "Category: 'person' (for private person) or 'company' (for company). Default value: 'person'",
            "example": "person"
          },
          "street_1": {
            "type": "string",
            "description": "Address part #1",
            "example": "2nd Street"
          },
          "zip_code": {
            "type": "string",
            "description": "Zip"
          },
          "city": {
            "type": "string",
            "description": "City"
          },
          "date_add": {
            "type": "string",
            "description": "Date of adding. Format: 'YYYY-MM-DD'. Default value: current date"
          },
          "last_update": {
            "type": "string",
            "description": "Last date update customer.",
            "example": "2022-04-21 05:09:06"
          },
          "subdivision_id": {
            "type": "number",
            "description": "State/province ID",
            "example": 1
          },
          "lead_labels": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of lead labels (ids)"
          },
          "contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Contact"
            },
            "description": "Lead contacts. On POST/PUT items without `id` are created, items with `id` are updated; missing items are NOT auto-deleted. Mixing this with flat `email` / `phone` / `billing_email` in the same request is undefined behaviour — pick one form. Cross-lead `id` values are rejected."
          }
        }
      },
      "LeadBase1": {
        "title": "LeadBase1",
        "required": [
          "partner_id",
          "location_id",
          "name",
          "category"
        ],
        "type": "object",
        "properties": {
          "billing_type": {
            "type": "string",
            "description": "Billing type: 'recurring', 'prepaid_monthly'",
            "example": "recurring"
          },
          "partner_id": {
            "type": "number",
            "description": "Partner id. You can get it at page \"Administration / Partners\"",
            "example": 1
          },
          "location_id": {
            "type": "number",
            "description": "Location id. You can get it at page \"Administration / Locations\"",
            "example": 1
          },
          "added_by": {
            "type": "string",
            "description": "Added by: 'api', 'admin', 'widget'",
            "example": "admin"
          },
          "added_by_id": {
            "type": "number",
            "description": "Added by id",
            "example": 1
          },
          "name": {
            "type": "string",
            "description": "Full name",
            "example": "Lead Name"
          },
          "email": {
            "type": "string",
            "description": "Email",
            "example": "test@mail.com"
          },
          "billing_email": {
            "type": "string",
            "description": "Billing email",
            "example": "test@mail.com"
          },
          "phone": {
            "type": "string",
            "description": "Phone number",
            "example": "555-0135"
          },
          "category": {
            "type": "string",
            "description": "Category: 'person' (for private person) or 'company' (for company). Default value: 'person'",
            "example": "person"
          },
          "street_1": {
            "type": "string",
            "description": "Address part #1",
            "example": "2nd Street"
          },
          "zip_code": {
            "type": "string",
            "description": "Zip"
          },
          "city": {
            "type": "string",
            "description": "City"
          },
          "date_add": {
            "type": "string",
            "description": "Date of adding. Format: 'YYYY-MM-DD'. Default value: current date"
          },
          "last_update": {
            "type": "string",
            "description": "Last date update customer.",
            "example": "2022-04-21 05:09:06"
          },
          "subdivision_id": {
            "type": "number",
            "description": "State/province ID",
            "example": 1
          },
          "lead_labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Customerlabel"
            },
            "description": "Array of lead labels"
          },
          "contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Contact"
            },
            "description": "Lead contacts — full list of email and phone rows from the contact book. List endpoints bulk-load this field so there is no N+1."
          }
        }
      },
      "Leadconverttocustomer": {
        "title": "Leadconverttocustomer",
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Status: 'new', 'active', 'blocked', 'disabled'. Default value: 'active'",
            "example": "new"
          },
          "category": {
            "type": "string",
            "description": "Category: 'person' (for private person) or 'company' (for company). Default value: 'person'",
            "example": "person"
          }
        }
      },
      "LeadsResponse": {
        "title": "LeadsResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/LeadBase1"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Lead ID",
                "example": 1
              }
            }
          }
        ]
      },
      "LeadId": {
        "title": "LeadId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Lead ID",
            "example": 1
          }
        }
      },
      "LeadinfoResponse": {
        "title": "LeadinfoResponse",
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "number",
            "description": "Lead ID",
            "example": 1
          },
          "deal_value": {
            "type": "number",
            "description": "Deal amount",
            "example": 100
          },
          "deal_comment": {
            "type": "string",
            "description": "Deal comment",
            "example": "+100"
          },
          "score": {
            "type": "number",
            "description": "Score number (min: 1, max: 100)",
            "example": 20
          },
          "crm_status": {
            "type": "string",
            "description": "status (CRM pipeline)",
            "example": "Contacted"
          },
          "owner": {
            "type": "string",
            "description": "Admin ID or 'api'",
            "example": "api"
          },
          "source": {
            "type": "string",
            "description": "Lead source"
          },
          "lead_category": {
            "allOf": [
              {
                "$ref": "#/components/schemas/lead_category"
              },
              {
                "description": "Lead category. Default: `person`"
              }
            ]
          },
          "last_contacted": {
            "type": "string",
            "description": "Last contacted date",
            "example": "2019-05-05 16:05:05"
          },
          "last_status_changed": {
            "type": "string",
            "description": "Last status changed date",
            "example": "2019-05-05 16:05:05"
          },
          "status_due_notification_sent": {
            "type": "string",
            "description": "Status due notification sent: '1', '0'",
            "example": "1"
          }
        }
      },
      "LeadNotesResponse": {
        "title": "LeadNotesResponse",
        "required": [
          "customer_id",
          "comment"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Lead Notes ID",
            "example": 1
          },
          "customer_id": {
            "type": "number",
            "description": "Lead ID.",
            "example": 1
          },
          "datetime": {
            "type": "string",
            "description": "Date added comment.",
            "example": "2019-07-03 12:38:14"
          },
          "administrator_id": {
            "type": "number",
            "description": "Administrator ID.",
            "example": 1
          },
          "type": {
            "type": "string",
            "description": "Type notes: 'comment', 'customer', 'finance', 'service', 'message', 'call'. Default comment.",
            "example": "comment"
          },
          "pinned_date": {
            "type": "string",
            "description": "Date pinned comment.",
            "example": "2019-07-03 12:38:14"
          },
          "class": {
            "type": "string",
            "description": "Class for notes.",
            "example": "success"
          },
          "title": {
            "type": "string",
            "description": "Title for notes.",
            "example": "test notes"
          },
          "name": {
            "type": "string",
            "description": "Name for notes.",
            "example": "name notes"
          },
          "comment": {
            "type": "string",
            "description": "Comment.",
            "example": "text comment notes"
          },
          "values": {
            "type": "string",
            "description": "Values.",
            "example": "values"
          },
          "scheduled_send_time": {
            "type": "string",
            "description": "Scheduled date time",
            "example": "0000-00-00 00:00:00"
          },
          "assigned_to": {
            "type": "number",
            "description": "Admin ID to be assigned a customer comment",
            "example": 1
          },
          "is_done": {
            "type": "string",
            "description": "Is done. Default value: '0'",
            "example": "0"
          },
          "is_send": {
            "type": "string",
            "description": "Is send. Default value: '0'",
            "example": "0"
          },
          "is_edited": {
            "type": "string",
            "description": "Is edited. Default value: '0'",
            "example": "0"
          },
          "is_pinned": {
            "type": "string",
            "description": "Is pinned. Default value: '0'",
            "example": "0"
          }
        }
      },
      "LeadNotesRequest": {
        "title": "LeadNotesRequest",
        "required": [
          "customer_id",
          "comment"
        ],
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "number",
            "description": "Lead ID.",
            "example": 1
          },
          "type": {
            "type": "string",
            "description": "Type notes: 'comment', 'customer', 'finance', 'service', 'message', 'call'. Default comment.",
            "example": "comment"
          },
          "class": {
            "type": "string",
            "description": "Class for notes.",
            "example": "success"
          },
          "title": {
            "type": "string",
            "description": "Title for notes.",
            "example": "test notes"
          },
          "name": {
            "type": "string",
            "description": "Name for notes.",
            "example": "name notes"
          },
          "comment": {
            "type": "string",
            "description": "Comment.",
            "example": "text comment notes"
          },
          "values": {
            "type": "string",
            "description": "Values.",
            "example": "values"
          }
        }
      },
      "LeadResponse": {
        "title": "LeadResponse",
        "required": [
          "partner_id",
          "location_id",
          "name",
          "category"
        ],
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Status: 'new', 'active', 'blocked', 'disabled'. Default value: 'new'",
            "example": "new"
          },
          "partner_id": {
            "type": "number",
            "description": "Partner id. You can get it at page \"Administration / Partners\"",
            "example": 1
          },
          "location_id": {
            "type": "number",
            "description": "Location id. You can get it at page \"Administration / Locations\"",
            "example": 1
          },
          "password": {
            "type": "string",
            "description": "Password",
            "example": "secret@@string"
          },
          "name": {
            "type": "string",
            "description": "Full name",
            "example": "Lead Name"
          },
          "email": {
            "type": "string",
            "description": "Email",
            "example": "test@mail.com"
          },
          "phone": {
            "type": "string",
            "description": "Phone number",
            "example": "555-0135"
          },
          "category": {
            "type": "string",
            "description": "Category: 'person' (for private person) or 'company' (for company). Default value: 'person'",
            "example": "person"
          },
          "street_1": {
            "type": "string",
            "description": "Address part #1",
            "example": "2d Street"
          },
          "zip_code": {
            "type": "string",
            "description": "Zip"
          },
          "city": {
            "type": "string",
            "description": "City"
          },
          "date_add": {
            "type": "string",
            "description": "Date of adding. Format: 'YYYY-MM-DD'. Default value: current date"
          },
          "subdivision_id": {
            "type": "number",
            "description": "State/province ID",
            "example": 1
          },
          "lead_labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Customerlabel"
            },
            "description": "Array of lead labels."
          },
          "contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Contact"
            },
            "description": "Lead contacts — full list of email and phone rows from the contact book. The flat `email` / `phone` / `billing_email` fields stay populated for backward compatibility and are computed from the same rows."
          }
        }
      },
      "LeadDocumentsResponse": {
        "title": "LeadDocumentsResponse",
        "required": [
          "customer_id",
          "type",
          "title"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "example": 1
          },
          "added_by": {
            "type": "string",
            "example": "api"
          },
          "added_by_id": {
            "type": "number",
            "example": 1
          },
          "customer_id": {
            "type": "number",
            "example": 1
          },
          "type": {
            "type": "string",
            "example": "uploaded"
          },
          "title": {
            "type": "string",
            "example": "lead document title"
          },
          "created_at": {
            "type": "string",
            "example": "2019-01-01 16:05:28"
          },
          "updated_at": {
            "type": "string",
            "example": "2019-01-02 12:12:43"
          },
          "description": {
            "type": "string",
            "description": "Document description",
            "example": "document description"
          },
          "visible_by_customer": {
            "type": "string",
            "description": "Will be visible on customer portal",
            "example": "0"
          },
          "filename_original": {
            "type": "string",
            "description": "Original document name",
            "example": "SOME FILE NAME"
          },
          "filename_uploaded": {
            "type": "string",
            "description": "Uploaded document name",
            "example": "SOME FILE NAME"
          },
          "code": {
            "type": "string",
            "description": "Document's code",
            "example": "file code"
          },
          "sign_date": {
            "type": "string",
            "description": "Signature date",
            "example": "2017-01-01 16:05:28"
          },
          "contract_date": {
            "type": "string",
            "description": "Date when contract starts (readonly for signed contracts)",
            "example": "2017-01-01"
          },
          "terms_month": {
            "type": "string",
            "description": "Term (month)",
            "example": "1"
          },
          "end_of_term": {
            "type": "string",
            "description": "End of term",
            "example": "2017-02-01"
          },
          "sign_contract": {
            "type": "string",
            "description": "Sign contract",
            "example": "1"
          },
          "terms": {
            "type": "boolean",
            "description": "This contract has a term",
            "example": false
          },
          "download_link": {
            "type": "string",
            "description": "A directly link to this document",
            "example": "https://yourdomain/a"
          },
          "has_thumbnail": {
            "type": "boolean",
            "description": "Whether this file has a thumbnail.",
            "example": true
          },
          "thumbnail_link": {
            "type": "string",
            "description": "A link to the document's thumbnail.",
            "example": "https://yourdomain/b"
          }
        }
      },
      "LeadDocumentsID": {
        "title": "LeadDocumentsID",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Lead Documents ID",
            "example": 1
          }
        }
      },
      "LeadCommentID": {
        "title": "LeadCommentID",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Lead Comment ID",
            "example": 1
          }
        }
      },
      "LeadContactRequest": {
        "title": "LeadContactRequest",
        "required": [
          "customer_id",
          "contact_type",
          "contact_value"
        ],
        "type": "object",
        "description": "Body shape for `POST /admin/crm/leads-contacts`. The parent row identified by `customer_id` must have `category = 'lead'`, otherwise the endpoint returns `404`.",
        "properties": {
          "customer_id": {
            "type": "number",
            "description": "Owning lead ID. Maps to `customer_contacts.customer_id`.",
            "example": 1
          },
          "contact_type": {
            "type": "string",
            "description": "Contact type: `email` or `phone`.",
            "example": "phone"
          },
          "contact_value": {
            "type": "string",
            "maxLength": 320,
            "description": "Email address or phone number.",
            "example": "+380501234567"
          },
          "label": {
            "type": "string",
            "description": "Contact label: `primary`, `billing`, `additional`, `home`, `work`, `mobile`, `internal`. Default: `primary`.",
            "example": "mobile"
          },
          "is_primary": {
            "type": "boolean",
            "description": "When `true`, any existing primary for the same `(customer_id, contact_type, label)` tuple is demoted atomically.",
            "example": true
          },
          "is_whatsapp": {
            "type": "boolean",
            "description": "WhatsApp flag. Phone rows only.",
            "example": true
          },
          "country_code": {
            "type": "string",
            "description": "ISO 3166-1 alpha-2 country code. Phone rows only.",
            "example": "UA"
          },
          "contact_person_id": {
            "type": "number",
            "nullable": true,
            "description": "Optional link to a contact person row.",
            "example": 1
          },
          "metadata": {
            "type": "object",
            "nullable": true,
            "description": "Free-form JSON metadata.",
            "example": {}
          }
        }
      },
      "LeadContactUpdateRequest": {
        "title": "LeadContactUpdateRequest",
        "type": "object",
        "description": "Body shape for `PUT /admin/crm/leads-contacts/{id}`. Forbidden fields: `customer_id`, `contact_type`, `is_primary`. For email rows, `country_code` and `is_whatsapp` are rejected.",
        "properties": {
          "contact_value": {
            "type": "string",
            "maxLength": 320,
            "description": "New contact value (email or phone).",
            "example": "+380501239999"
          },
          "label": {
            "type": "string",
            "description": "New label.",
            "example": "mobile"
          },
          "country_code": {
            "type": "string",
            "description": "New country code (phone rows only).",
            "example": "UA"
          },
          "is_whatsapp": {
            "type": "boolean",
            "description": "New WhatsApp flag (phone rows only).",
            "example": false
          },
          "contact_person_id": {
            "type": "number",
            "nullable": true,
            "description": "New contact person reference.",
            "example": 1
          },
          "metadata": {
            "type": "object",
            "nullable": true,
            "description": "New JSON metadata.",
            "example": {}
          }
        }
      },
      "LeadContactsResponse": {
        "title": "LeadContactsResponse",
        "type": "object",
        "required": [
          "id",
          "customer_id",
          "contact_type",
          "contact_value"
        ],
        "properties": {
          "id": {
            "type": "number",
            "description": "Contact row ID.",
            "example": 1
          },
          "customer_id": {
            "type": "number",
            "description": "Owning lead ID.",
            "example": 1
          },
          "contact_person_id": {
            "type": "number",
            "nullable": true,
            "description": "Optional link to a contact person row.",
            "example": 1
          },
          "contact_type": {
            "type": "string",
            "description": "Contact type: `email` or `phone`.",
            "example": "phone"
          },
          "contact_value": {
            "type": "string",
            "maxLength": 320,
            "description": "Email address or phone number.",
            "example": "+380501234567"
          },
          "label": {
            "type": "string",
            "description": "Contact label.",
            "example": "mobile"
          },
          "country_code": {
            "type": "string",
            "nullable": true,
            "description": "ISO 3166-1 alpha-2 country code (phone rows only).",
            "example": "UA"
          },
          "is_primary": {
            "type": "string",
            "description": "`1` for the primary contact in its `(customer_id, contact_type, label)` tuple, otherwise `0`.",
            "example": "1"
          },
          "is_whatsapp": {
            "type": "string",
            "description": "`1` when the phone is flagged as WhatsApp-enabled, otherwise `0`.",
            "example": "1"
          },
          "metadata": {
            "type": "object",
            "nullable": true,
            "description": "Free-form JSON metadata, or `null`.",
            "example": {}
          },
          "created_at": {
            "type": "string",
            "description": "Row creation datetime.",
            "example": "2026-05-21 10:00:00"
          },
          "updated_at": {
            "type": "string",
            "description": "Row last-update datetime.",
            "example": "2026-05-21 10:00:00"
          }
        }
      },
      "LeadContactResponse": {
        "title": "LeadContactResponse",
        "type": "object",
        "required": [
          "id",
          "customer_id",
          "contact_type",
          "contact_value"
        ],
        "properties": {
          "id": {
            "type": "number",
            "description": "Contact row ID.",
            "example": 1
          },
          "customer_id": {
            "type": "number",
            "description": "Owning lead ID.",
            "example": 1
          },
          "contact_person_id": {
            "type": "number",
            "nullable": true,
            "description": "Optional link to a contact person row.",
            "example": 1
          },
          "contact_type": {
            "type": "string",
            "description": "Contact type: `email` or `phone`.",
            "example": "phone"
          },
          "contact_value": {
            "type": "string",
            "maxLength": 320,
            "description": "Email address or phone number.",
            "example": "+380501234567"
          },
          "label": {
            "type": "string",
            "description": "Contact label.",
            "example": "mobile"
          },
          "country_code": {
            "type": "string",
            "nullable": true,
            "description": "ISO 3166-1 alpha-2 country code (phone rows only).",
            "example": "UA"
          },
          "is_primary": {
            "type": "string",
            "description": "`1` for the primary contact in its `(customer_id, contact_type, label)` tuple, otherwise `0`.",
            "example": "1"
          },
          "is_whatsapp": {
            "type": "string",
            "description": "`1` when the phone is flagged as WhatsApp-enabled, otherwise `0`.",
            "example": "1"
          },
          "metadata": {
            "type": "object",
            "nullable": true,
            "description": "Free-form JSON metadata, or `null`.",
            "example": {}
          },
          "created_at": {
            "type": "string",
            "description": "Row creation datetime.",
            "example": "2026-05-21 10:00:00"
          },
          "updated_at": {
            "type": "string",
            "description": "Row last-update datetime.",
            "example": "2026-05-21 10:00:00"
          }
        }
      },
      "LeadContactID": {
        "title": "LeadContactID",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Lead Contact ID",
            "example": 1
          }
        }
      },
      "LeadDocumentsRequest": {
        "title": "LeadDocumentsRequest",
        "required": [
          "customer_id",
          "type",
          "title"
        ],
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "number",
            "example": 1
          },
          "type": {
            "type": "string",
            "example": "uploaded"
          },
          "title": {
            "type": "string",
            "example": "lead document title"
          },
          "description": {
            "type": "string",
            "example": "document description"
          },
          "visible_by_customer": {
            "type": "string",
            "description": "Will be visible on customer portal",
            "example": "0"
          },
          "contract_date": {
            "type": "string",
            "description": "Date when contract starts",
            "example": "2017-01-01"
          }
        }
      },
      "LeadDownloadResponse": {
        "title": "LeadDownloadResponse",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Documents name",
            "example": "lead_test_document.pdf"
          },
          "content_type": {
            "type": "string",
            "description": "Content type",
            "example": "application\\/pdf"
          },
          "content": {
            "type": "string",
            "description": "Document content encoded in  base64 format",
            "example": "V=A000de=BERi0xLjQKJeLjUeXBlIC9QYWdlC..."
          }
        }
      },
      "QuoteBase": {
        "title": "QuoteBase",
        "required": [
          "customer_id",
          "is_sent",
          "items"
        ],
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "number",
            "description": "Quote ID",
            "example": 1
          },
          "number": {
            "type": "string",
            "description": "Quote number"
          },
          "status": {
            "type": "string",
            "description": "Status: 'new', 'sent', 'on_review', 'accepted', 'denied'",
            "example": "new"
          },
          "date_created": {
            "type": "string",
            "description": "Date created",
            "example": "2019-05-16"
          },
          "real_create_datetime": {
            "type": "string",
            "description": "Real create datetime",
            "example": "2019-05-16 12:00:00"
          },
          "date_updated": {
            "type": "string",
            "description": "Date updated",
            "example": "2019-05-16"
          },
          "date_of_decision": {
            "type": "string",
            "description": "Date when quote was accepted or denied",
            "example": "2019-05-16"
          },
          "date_till": {
            "type": "string",
            "description": "Date till",
            "example": "2019-06-16"
          },
          "total": {
            "type": "number",
            "description": "Total amount",
            "example": 120
          },
          "invoice_id": {
            "type": "number",
            "description": "Invoice ID",
            "example": 1
          },
          "request_id": {
            "type": "number",
            "description": "Request ID"
          },
          "is_sent": {
            "type": "boolean",
            "description": "Values: true or false. Is sent Quote",
            "example": false
          },
          "note": {
            "type": "string",
            "description": "Note",
            "example": "some text"
          },
          "memo": {
            "type": "string",
            "description": "Memo",
            "example": "some text"
          },
          "signature": {
            "type": "string",
            "description": "Signature",
            "example": "some text"
          },
          "is_customers": {
            "type": "boolean",
            "description": "Is customer's quote",
            "example": false
          },
          "added_by": {
            "type": "string",
            "description": "Added by: 'api', 'admin', 'system'",
            "example": "api"
          },
          "added_by_id": {
            "type": "number",
            "description": "Added by ID",
            "example": 1
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Quoteitem"
            },
            "description": "Items of Quote"
          }
        }
      },
      "Quoteitem": {
        "title": "Quoteitem",
        "required": [
          "description",
          "quantity",
          "unit"
        ],
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description of Quote item",
            "example": "Desc of item"
          },
          "quantity": {
            "type": "number",
            "description": "Quantity. Default: 1",
            "example": 1
          },
          "unit": {
            "type": "number",
            "description": "Unit"
          },
          "price": {
            "type": "number",
            "description": "Price",
            "example": 120
          },
          "tax": {
            "type": "number",
            "description": "VAT %",
            "example": 0
          }
        }
      },
      "QuoteId": {
        "title": "QuoteId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Quote ID",
            "example": 1
          }
        }
      },
      "QuotesResponse": {
        "title": "QuotesResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/QuoteBase"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Quote ID",
                "example": 1
              }
            }
          }
        ]
      },
      "CommunicationCallBase": {
        "title": "CommunicationCallBase",
        "required": [
          "from",
          "to",
          "duration",
          "datetime"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Call ID",
            "example": "1"
          },
          "from": {
            "type": "string",
            "description": "Phone number of author",
            "example": "1234500"
          },
          "to": {
            "type": "string",
            "description": "Phone number of receiver",
            "example": "5432100"
          },
          "duration": {
            "type": "number",
            "description": "Duration of the call in seconds",
            "example": 60
          },
          "direction": {
            "type": "string",
            "description": "Call direction: : 'incoming', 'outgoing'. If empty will be detected automatically",
            "example": "incoming"
          },
          "comment": {
            "type": "string",
            "example": "Text coment"
          },
          "recording_url": {
            "type": "string",
            "description": "Url of the page where you can view recording",
            "example": "http://test.resource.com/recording"
          },
          "voice_file_url": {
            "type": "string",
            "description": "Link to recording file. Needed for playback in system",
            "example": "http://test.resource.com/get-file"
          },
          "datetime": {
            "type": "string",
            "description": "Date of call",
            "example": "2021-09-07 10:00:00"
          },
          "ticket_id": {
            "type": "number",
            "description": "Ticket id. If you want link call to the ticket",
            "example": 1
          },
          "client_id": {
            "type": "number",
            "description": "Customer/Lead id. If empty will be defined by phone number",
            "example": 1
          },
          "agent_id": {
            "type": "number",
            "description": "Agent(admin) id. If empty will be defined by phone number",
            "example": 1
          },
          "added_by": {
            "allOf": [
              {
                "$ref": "#/components/schemas/added_by"
              },
              {
                "description": "The identifier who added the communication call",
                "example": "system"
              }
            ]
          },
          "added_by_id": {
            "type": "number",
            "example": 1
          }
        }
      },
      "CommunicationCallBase1": {
        "title": "CommunicationCallBase1",
        "required": [
          "id",
          "from",
          "to",
          "duration",
          "datetime"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Call ID",
            "example": 1
          },
          "from": {
            "type": "string",
            "description": "Phone number of author",
            "example": "1234500"
          },
          "to": {
            "type": "string",
            "description": "Phone number of receiver",
            "example": "5432100"
          },
          "duration": {
            "type": "number",
            "description": "Duration of the call in seconds",
            "example": 60
          },
          "direction": {
            "type": "string",
            "description": "Call direction: : 'incoming', 'outgoing'. If empty will be detected automatically",
            "example": "incoming"
          },
          "comment": {
            "type": "string",
            "example": "Text coment"
          },
          "recording_url": {
            "type": "string",
            "description": "Url of the page where you can view recording",
            "example": "http://test.resource.com/recording"
          },
          "voice_file_url": {
            "type": "string",
            "description": "Link to recording file. Needed for playback in system",
            "example": "http://test.resource.com/get-file"
          },
          "datetime": {
            "type": "string",
            "description": "Date of call",
            "example": "2021-09-07 10:00:00"
          },
          "ticket_id": {
            "type": "number",
            "description": "Ticket id. If you want link call to the ticket",
            "example": 1
          },
          "client_id": {
            "type": "number",
            "description": "Customer/Lead id. If empty will be defined by phone number",
            "example": 1
          },
          "agent_id": {
            "type": "number",
            "description": "Agent(admin) id. If empty will be defined by phone number",
            "example": 1
          },
          "added_by": {
            "allOf": [
              {
                "$ref": "#/components/schemas/added_by"
              },
              {
                "description": "The identifier who added the communication call",
                "example": "system"
              }
            ]
          },
          "added_by_id": {
            "type": "number",
            "example": 1
          }
        }
      },
      "CommunicationCallId": {
        "title": "CommunicationCallId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Call ID",
            "example": 1
          }
        }
      },
      "ServiceBase": {
        "title": "ServiceBase",
        "required": [
          "customer_id",
          "tariff_id",
          "status",
          "description",
          "quantity",
          "start_date",
          "end_date"
        ],
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "tariff_id": {
            "type": "number",
            "description": "Tariff ID",
            "example": 1
          },
          "status": {
            "type": "string",
            "description": "Status. Values: 'active', 'stopped', 'disabled', 'hidden', 'pending'",
            "example": "active"
          },
          "description": {
            "type": "string",
            "description": "Description",
            "example": "Some Description"
          },
          "quantity": {
            "type": "number",
            "description": "Quantity",
            "example": 1
          },
          "unit": {
            "type": "number",
            "description": "Unit"
          },
          "unit_price": {
            "type": "number",
            "description": "Unit price"
          },
          "start_date": {
            "type": "string",
            "description": "Start date. Format: YYYY-MM-DD",
            "example": "2016-01-01"
          },
          "end_date": {
            "type": "string",
            "description": "End date. Format: YYYY-MM-DD. Set to '0000-00-00' for endless",
            "example": "0000-00-00"
          },
          "discount": {
            "type": "string",
            "description": "Discount"
          },
          "discount_type": {
            "type": "string",
            "description": "Type of discount: 'percent' or 'fixed'. Default value: 'percent'",
            "example": "percent"
          },
          "discount_value": {
            "type": "number",
            "description": "Discount value"
          },
          "discount_start_date": {
            "type": "string",
            "description": "Discount start date"
          },
          "discount_end_date": {
            "type": "string",
            "description": "Discount end date"
          },
          "discount_text": {
            "type": "string",
            "description": "Discount message"
          }
        }
      },
      "CustomerInternetserviceBase": {
        "title": "CustomerInternetserviceBase",
        "allOf": [
          {
            "$ref": "#/components/schemas/ServiceBase"
          },
          {
            "required": [
              "login",
              "taking_ipv4"
            ],
            "type": "object",
            "properties": {
              "router_id": {
                "type": "number",
                "description": "Router ID"
              },
              "sector_id": {
                "type": "number",
                "description": "Router sector ID. If you set router you can set its sector"
              },
              "login": {
                "type": "string",
                "description": "Service login. Recommended to use customer login as prefix"
              },
              "password": {
                "type": "string",
                "description": "Service password"
              },
              "taking_ipv4": {
                "type": "number",
                "description": "Taking IPv4. Values: '0' - None (Router will assign IP), '1' - Permanent IP (from Static IPs), '2' - Dynamic IP (from IP Pools)"
              },
              "ipv4": {
                "type": "string",
                "description": "If taking_ipv4 set to 1 you can set IPv4"
              },
              "ipv4_route": {
                "type": "string",
                "description": "If taking_ipv4 set to 1 you can set additional network"
              },
              "ipv4_pool_id": {
                "type": "number",
                "description": "If 'taking_ipv4' set to 2 you can set pool id."
              },
              "ipv6": {
                "type": "string",
                "description": "IPv6 network"
              },
              "ipv6_delegated": {
                "type": "string",
                "description": "IPv6 delegated network"
              },
              "ipv6_pool_id": {
                "type": "number",
                "description": "IPv6 Pool ID"
              },
              "taking_ipv6": {
                "type": "number",
                "description": "Taking IPv6. Values: '0' - None (Router will assign IP), '1' - Permanent IP (from Static IPs), '2' - Dynamic IP (from IP Pools)",
                "example": 0
              },
              "mac": {
                "type": "string",
                "description": "Mac(s,)"
              },
              "port_id": {
                "type": "number",
                "description": "Port ID"
              },
              "access_device": {
                "type": "number",
                "description": "ID of access device hardware ([Monitoring device](/#reference/networking/monitoring/retrieve-a-monitoring)). Default: 0"
              },
              "bundle_service_id": {
                "type": "number",
                "description": "ID of bundle service. 0 for none",
                "example": 0
              },
              "status_new": {
                "type": "string",
                "description": "Indicates the status of the parent service. Default: ''",
                "example": "stopped"
              },
              "top_up_tariff_id": {
                "type": "number",
                "description": "Cap tariff id. Default: 0",
                "example": 1
              },
              "parent_id": {
                "type": "number",
                "description": "ID of Parent service. 0 for none",
                "example": 1
              },
              "on_approve": {
                "type": "string",
                "description": "Indicates whether the service needs to be approved. Values: '0', '1'. Default: 0",
                "example": "0"
              },
              "period": {
                "type": "string",
                "description": "Period of which to charge for this service: 0 for postpaid and number of period (from 1 to 99). Default: -1",
                "example": "-1"
              }
            }
          }
        ]
      },
      "GeoData": {
        "title": "GeoData",
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "description": "Address"
          },
          "marker": {
            "type": "string",
            "description": "Coordinates in format 29.888893387,15.0991171153"
          },
          "src": {
            "allOf": [
              {
                "$ref": "#/components/schemas/src"
              },
              {
                "description": "Source of geo data.",
                "example": "customer"
              }
            ]
          }
        }
      },
      "CustomerInternetserviceResponse": {
        "title": "CustomerInternetserviceResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomerInternetserviceBase"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Internet service Id",
                "example": 1
              },
              "geo": {
                "$ref": "#/components/schemas/GeoData"
              },
              "type": {
                "type": "string",
                "description": "Service type",
                "example": "internet"
              },
              "speed_download": {
                "type": "integer",
                "description": "Download speed (kbps) taken from the tariff the service is based on. `null` if the tariff no longer exists.",
                "nullable": true,
                "example": 100000
              },
              "speed_upload": {
                "type": "integer",
                "description": "Upload speed (kbps) taken from the tariff the service is based on. `null` if the tariff no longer exists.",
                "nullable": true,
                "example": 50000
              }
            }
          }
        ]
      },
      "CustomerInternetserviceId": {
        "title": "CustomerInternetserviceId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Internet service Id",
            "example": 1
          }
        }
      },
      "CustomerVoiceserviceBase": {
        "title": "CustomerVoiceserviceBase",
        "allOf": [
          {
            "$ref": "#/components/schemas/ServiceBase"
          },
          {
            "required": [
              "phone"
            ],
            "type": "object",
            "properties": {
              "voice_device_id": {
                "type": "number",
                "description": "Voice device ID"
              },
              "phone": {
                "type": "string",
                "description": "Phone number"
              },
              "phonesArray": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Phone numbers"
              },
              "bundle_service_id": {
                "type": "number",
                "description": "ID of bundle service. 0 for none",
                "example": 0
              },
              "direction": {
                "type": "string",
                "description": "Call direction. Values: 'incoming', 'outgoing'. Default: 'outgoing'",
                "example": "outgoing"
              },
              "status_new": {
                "type": "string",
                "description": "Indicates the status of the parent service. Default: ''",
                "example": "stopped"
              },
              "parent_id": {
                "type": "number",
                "description": "ID of Parent service. 0 for none",
                "example": 1
              },
              "on_approve": {
                "type": "string",
                "description": "Indicates whether the service needs to be approved. Values: '0', '1'. Default: 0",
                "example": "0"
              },
              "period": {
                "type": "string",
                "description": "Period of which to charge for this service: 0 for postpaid and number of period (from 1 to 99). Default: -1",
                "example": "-1"
              }
            }
          }
        ]
      },
      "CustomerVoiceserviceResponse": {
        "title": "CustomerVoiceserviceResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomerVoiceserviceBase"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Voice service Id",
                "example": 1
              },
              "geo": {
                "$ref": "#/components/schemas/GeoData"
              },
              "type": {
                "type": "string",
                "description": "Service type",
                "example": "voice"
              }
            }
          }
        ]
      },
      "CustomerVoiceserviceId": {
        "title": "CustomerVoiceserviceId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Voice service Id",
            "example": 1
          }
        }
      },
      "CustomerRecurringserviceBase": {
        "title": "CustomerRecurringserviceBase",
        "allOf": [
          {
            "$ref": "#/components/schemas/ServiceBase"
          },
          {
            "type": "object",
            "properties": {
              "status_new": {
                "type": "string",
                "description": "Indicates the status of the parent service. Default: ''",
                "example": "stopped"
              },
              "bundle_service_id": {
                "type": "number",
                "description": "ID of bundle service. 0 for none",
                "example": 0
              },
              "parent_id": {
                "type": "number",
                "description": "ID of Parent service. 0 for none",
                "example": 1
              },
              "on_approve": {
                "type": "string",
                "description": "Indicates whether the service needs to be approved. Values: '0', '1'. Default: 0",
                "example": "0"
              },
              "period": {
                "type": "string",
                "description": "Period of which to charge for this service: 0 for postpaid and number of period (from 1 to 99). Default: -1",
                "example": "-1"
              }
            }
          }
        ]
      },
      "CustomerRecurringserviceResponse": {
        "title": "CustomerRecurringserviceResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomerRecurringserviceBase"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Recurring service Id",
                "example": 1
              },
              "geo": {
                "$ref": "#/components/schemas/GeoData"
              },
              "type": {
                "type": "string",
                "description": "Service type",
                "example": "custom"
              }
            }
          }
        ]
      },
      "CustomerRecurringserviceId": {
        "title": "CustomerRecurringserviceId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Recurring service Id",
            "example": 1
          }
        }
      },
      "CustomerBundleserviceBase": {
        "title": "CustomerBundleserviceBase",
        "required": [
          "customer_id",
          "bundle_id",
          "status",
          "description",
          "start_date",
          "end_date"
        ],
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "bundle_id": {
            "type": "number",
            "description": "Bundle plan ID",
            "example": 1
          },
          "status": {
            "type": "string",
            "description": "Status. Values: 'active', 'stopped', 'disabled', 'hidden', 'pending'",
            "example": "active"
          },
          "description": {
            "type": "string",
            "description": "Description",
            "example": "Some Description"
          },
          "unit_price": {
            "type": "number",
            "description": "Unit price"
          },
          "start_date": {
            "type": "string",
            "description": "Start date. Format: YYYY-MM-DD",
            "example": "2016-01-01"
          },
          "end_date": {
            "type": "string",
            "description": "End date. Format: YYYY-MM-DD. Set to '0000-00-00' for endless",
            "example": "0000-00-00"
          },
          "discount": {
            "type": "string",
            "description": "Discount",
            "example": "0"
          },
          "discount_type": {
            "type": "string",
            "description": "Type of discount: 'percent' or 'fixed'. Default value: 'percent'",
            "example": "percent"
          },
          "discount_value": {
            "type": "number",
            "description": "Discount value"
          },
          "discount_start_date": {
            "type": "string",
            "description": "Discount start date"
          },
          "discount_end_date": {
            "type": "string",
            "description": "Discount end date"
          },
          "discount_text": {
            "type": "string",
            "description": "Discount message"
          },
          "automatic_renewal": {
            "type": "boolean",
            "description": "Automatic renewal. Default: false",
            "example": true
          },
          "activation_fee": {
            "type": "number",
            "description": "Activation fee. Default: 0",
            "example": 0.5
          },
          "auto_reactivate": {
            "type": "boolean",
            "description": "Auto reactivate when deposit become more then minimal balance. Default: 0",
            "example": false
          },
          "get_activation_fee_when": {
            "type": "string",
            "description": "Get activation fee when create service: 'create_service' or after first service billing day: 'first_service_billing'",
            "example": "create_service"
          },
          "issue_invoice_while_service_creation": {
            "type": "boolean",
            "description": "Issue an invoice while service creation. Default: 0",
            "example": true
          },
          "cancellation_fee": {
            "type": "number",
            "description": "Cancellation fee. Default: 0",
            "example": 1.5
          },
          "prior_cancellation_fee": {
            "type": "number",
            "description": "Prior cancellation fee. Default: 0",
            "example": 1.5
          },
          "services_internet": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerInternetserviceBase"
            },
            "description": "Internet services"
          },
          "services_voice": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerVoiceserviceBase"
            },
            "description": "Voice services"
          },
          "services_custom": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomerRecurringserviceBase"
            },
            "description": "Custom services"
          },
          "activation_fee_transaction_id": {
            "type": "number",
            "description": "Activation fee transaction id. Default: 0",
            "example": 137
          },
          "cancellation_fee_transaction_id": {
            "type": "number",
            "description": "Cancellation fee transaction id. Default: (null)",
            "example": 137
          },
          "prior_cancellation_fee_transaction_id": {
            "type": "number",
            "description": "Prior cancellation fee transaction id. Default: 0",
            "example": 137
          }
        }
      },
      "CustomerBundleserviceResponse": {
        "title": "CustomerBundleserviceResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomerBundleserviceBase"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Recurring service Id",
                "example": 1
              },
              "type": {
                "type": "string",
                "description": "Service type",
                "example": "bundle"
              }
            }
          }
        ]
      },
      "CustomerBundleserviceId": {
        "title": "CustomerBundleserviceId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Bundle service Id",
            "example": 1
          }
        }
      },
      "CustomerBundleservicecancellation": {
        "title": "CustomerBundleservicecancellation",
        "required": [
          "charge_cancellation_fee"
        ],
        "type": "object",
        "properties": {
          "charge_cancellation_fee": {
            "type": "boolean",
            "description": "Charge cancellation fee"
          }
        }
      },
      "AdditionaldiscountBase": {
        "title": "AdditionaldiscountBase",
        "required": [
          "service_type",
          "service_id",
          "enabled",
          "percent",
          "start_date"
        ],
        "type": "object",
        "properties": {
          "service_type": {
            "type": "string",
            "description": "Service type. Possible types: `internet`, `voice`, `custom` or `bundle`.",
            "example": "internet"
          },
          "service_id": {
            "type": "number",
            "description": "Service ID",
            "example": 1
          },
          "enabled": {
            "type": "number",
            "description": "This discount is enabled or not? Possible values: `0` or `1`.",
            "example": 1
          },
          "percent": {
            "type": "number",
            "description": "Discount percent",
            "example": 20
          },
          "start_date": {
            "type": "string",
            "description": "Discount start date",
            "example": "2018-07-05"
          },
          "end_date": {
            "type": "string",
            "description": "Discount end date",
            "example": "2018-07-15"
          },
          "message": {
            "type": "string",
            "description": "Discount message. Used in discount's transaction description.",
            "example": "Holidays discount 20%"
          }
        }
      },
      "AdditionaldiscountResponse": {
        "title": "AdditionaldiscountResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/AdditionaldiscountBase"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Additional discount ID",
                "example": 1
              }
            }
          }
        ]
      },
      "AdditionaldiscountId": {
        "title": "AdditionaldiscountId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Additional discount ID",
            "example": 1
          }
        }
      },
      "ServiceTrafficRRD": {
        "title": "ServiceTrafficRRD",
        "required": [
          "download",
          "upload"
        ],
        "type": "object",
        "properties": {
          "service_id": {
            "type": "number",
            "description": "Internet Service ID",
            "example": 1
          },
          "download": {
            "type": "number",
            "description": "Number of bytes was downloaded (min: 0)",
            "example": 40960000
          },
          "upload": {
            "type": "number",
            "description": "Number of bytes was uploaded (min: 0)",
            "example": 20480000
          },
          "time": {
            "type": "number",
            "description": "Online time (seconds)",
            "example": 280
          },
          "interval": {
            "type": "number",
            "description": "Accounting interval (seconds, default 300 (5 minutes))",
            "example": 300
          }
        }
      },
      "ToBillCreate": {
        "title": "ToBillCreate",
        "type": "object",
        "properties": {
          "toBillDate": {
            "type": "string",
            "description": "Billing day. Format: YYYY-MM-DD",
            "example": "2017-01-01"
          },
          "transactionDate": {
            "type": "string",
            "description": "Transaction date. Format: YYYY-MM-DD",
            "example": "2017-01-01"
          },
          "period": {
            "type": "number",
            "description": "Period of billing - 0 for postpay and number of months for prepay (from 1 to 12)",
            "example": 1
          }
        }
      },
      "TransactionBase": {
        "title": "TransactionBase",
        "required": [
          "type",
          "customer_id",
          "tax_percent",
          "date",
          "category"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Type. Values: 'debit' for \"+ Income\" or 'credit' for \"- Charge\"",
            "example": "debit"
          },
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "quantity": {
            "type": "number",
            "description": "Quantity. Default: 1",
            "example": 1
          },
          "unit": {
            "type": "string",
            "description": "Unit"
          },
          "price": {
            "type": "number",
            "description": "Price",
            "example": 158.25
          },
          "tax_percent": {
            "type": "number",
            "description": "VAT %",
            "example": 19
          },
          "remind_amount": {
            "type": "number",
            "description": "Remind amount",
            "example": 0
          },
          "date": {
            "type": "string",
            "description": "Date. Format: YYYY-MM-DD",
            "example": "2016-01-01"
          },
          "category": {
            "type": "string",
            "description": "Category ID. You can get it on page \"Config / Finance / Transaction categories\"",
            "example": "1"
          },
          "description": {
            "type": "string",
            "description": "Description",
            "example": "Description"
          },
          "period_from": {
            "type": "string",
            "description": "Begin of period. Format: YYYY-MM-DD"
          },
          "period_to": {
            "type": "string",
            "description": "End of period. Format: YYYY-MM-DD"
          },
          "service_id": {
            "type": "number",
            "description": "Service ID",
            "nullable": true
          },
          "payment_id": {
            "type": "number",
            "description": "Payment ID",
            "nullable": true
          },
          "credit_note_id": {
            "type": "number",
            "description": "Credit note ID",
            "example": 0
          },
          "invoice_id": {
            "type": "number",
            "description": "Invoice ID",
            "nullable": true
          },
          "invoiced_by_id": {
            "type": "number",
            "description": "Invoiced by ID",
            "nullable": true
          },
          "comment": {
            "type": "string",
            "description": "Comment"
          },
          "to_invoice": {
            "type": "boolean",
            "description": "To invoice. Default: false",
            "example": false
          },
          "service_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/service_type"
              },
              {
                "description": "Service type",
                "example": "internet"
              }
            ]
          },
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/source"
              },
              {
                "description": "Source",
                "example": "manual"
              }
            ]
          },
          "tax_id": {
            "type": "number",
            "description": "Tax ID",
            "example": 1
          },
          "sub_account_id": {
            "type": "number",
            "description": "ID of the sub-account this transaction is associated with. Used for aggregated billing.",
            "example": 0
          }
        }
      },
      "TransactionResponse": {
        "title": "TransactionResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/TransactionBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Transaction ID",
                "example": 1
              },
              "total": {
                "type": "number",
                "description": "Total",
                "example": 10
              }
            }
          }
        ]
      },
      "TransactionId": {
        "title": "TransactionId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Transaction ID",
            "example": 1
          }
        }
      },
      "InvoiceBase": {
        "title": "InvoiceBase",
        "required": [
          "customer_id",
          "status",
          "number",
          "items"
        ],
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "date_created": {
            "type": "string",
            "description": "Create date. Format: YYYY-MM-DD",
            "example": "2016-01-01"
          },
          "date_updated": {
            "type": "string",
            "description": "Update date. Format: YYYY-MM-DD"
          },
          "date_till": {
            "type": "string",
            "description": "Pay till date. Format: YYYY-MM-DD"
          },
          "use_transactions": {
            "allOf": [
              {
                "$ref": "#/components/schemas/use_transactions"
              },
              {
                "description": "Use transactions",
                "example": "1"
              }
            ]
          },
          "note": {
            "type": "string",
            "description": "Note"
          },
          "memo": {
            "type": "string",
            "description": "Memo"
          },
          "date_payment": {
            "type": "string",
            "description": "Payment date. Format: YYYY-MM-DD"
          },
          "status": {
            "type": "string",
            "description": "Status. Values: 'not_paid' for \"Not paid\", 'paid' for \"Paid\", 'pending' for \"Pending\" and 'deleted' for \"Deleted\"",
            "example": "not_paid"
          },
          "number": {
            "type": "string",
            "description": "Number",
            "example": "201601010003"
          },
          "payment_id": {
            "type": "number",
            "description": "Payment ID."
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/type2"
              },
              {
                "description": "Type",
                "example": "one_time"
              }
            ]
          },
          "payd_from_deposit": {
            "type": "number",
            "description": "Set to 1 of invoice payd from deposit. Values: 0 or 1"
          },
          "is_sent": {
            "allOf": [
              {
                "$ref": "#/components/schemas/is_sent"
              },
              {
                "description": "Is sent",
                "example": "0"
              }
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Invoiceitem"
            },
            "description": "Items of invoice"
          }
        }
      },
      "InvoiceResponse": {
        "title": "InvoiceResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/InvoiceBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Invoice ID",
                "example": 1
              },
              "real_create_datetime": {
                "type": "string",
                "description": "Real create date. Format: YYYY-MM-DD H:i:s",
                "example": "2024-05-27 15:02:57"
              },
              "total": {
                "type": "number",
                "description": "Total",
                "example": 10
              },
              "due": {
                "type": "number",
                "description": "Due",
                "example": 0
              },
              "added_by": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/added_by1"
                  },
                  {
                    "description": "Added by",
                    "example": "admin"
                  }
                ]
              },
              "added_by_id": {
                "type": "number",
                "description": "Added by ID",
                "example": 1
              }
            }
          }
        ]
      },
      "InvoiceId": {
        "title": "InvoiceId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Invoice ID",
            "example": 1
          }
        }
      },
      "Invoiceitem": {
        "title": "Invoiceitem",
        "required": [
          "description",
          "quantity",
          "unit"
        ],
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description of invoice item",
            "example": "Desc of item"
          },
          "quantity": {
            "type": "number",
            "description": "Quantity. Default: 1",
            "example": 1
          },
          "unit": {
            "type": "number",
            "description": "Unit"
          },
          "price": {
            "type": "number",
            "description": "Price",
            "example": 123
          },
          "tax": {
            "type": "number",
            "description": "VAT %",
            "example": 0
          },
          "period_from": {
            "type": "string",
            "description": "Date. Format: YYYY-MM-DD",
            "example": "2016-01-01"
          },
          "period_to": {
            "type": "string",
            "description": "Date. Format: YYYY-MM-DD",
            "example": "2016-01-02"
          },
          "categoryIdForTransaction": {
            "type": "number",
            "description": "Allows to set transaction category for item transaction",
            "example": 1
          },
          "sub_account_id": {
            "type": "number",
            "description": "ID of the sub-account this invoice item is related to. Used for aggregated billing.",
            "example": 0
          }
        }
      },
      "CreditnoteBase": {
        "title": "CreditnoteBase",
        "required": [
          "customer_id",
          "status",
          "number",
          "items"
        ],
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "date_created": {
            "type": "string",
            "description": "Create date. Format: YYYY-MM-DD",
            "example": "2016-01-01"
          },
          "date_updated": {
            "type": "string",
            "description": "Update date. Format: YYYY-MM-DD"
          },
          "date_payment": {
            "type": "string",
            "description": "Payment date. Format: YYYY-MM-DD"
          },
          "status": {
            "type": "string",
            "description": "Status. Values: 'not_refunded' for \"Not refunded\", 'refunded' for \"Refunded\" and 'deleted' for \"Deleted\"",
            "example": "not_refunded"
          },
          "number": {
            "type": "string",
            "description": "Number",
            "example": "201601010003"
          },
          "payment_id": {
            "type": "number",
            "description": "Payment ID."
          },
          "resetPeriodForService": {
            "type": "boolean",
            "description": "Resets the 'invoiced until' date on an invoice item. Default: false",
            "example": true
          },
          "note": {
            "type": "string",
            "description": "Note"
          },
          "is_sent": {
            "allOf": [
              {
                "$ref": "#/components/schemas/is_sent"
              },
              {
                "description": "Is sent",
                "example": "0"
              }
            ]
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Creditnoteitem"
            },
            "description": "Items of credit note"
          }
        }
      },
      "CreditnoteResponse": {
        "title": "CreditnoteResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/CreditnoteBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Credit note ID",
                "example": 1
              },
              "real_create_datetime": {
                "type": "string",
                "description": "Real create date. Format: YYYY-MM-DD H:i:s",
                "example": "2024-05-27 15:40:22"
              },
              "total": {
                "type": "number",
                "description": "Total",
                "example": 10
              },
              "remind_amount": {
                "type": "number",
                "description": "Remind amount",
                "example": 0
              },
              "added_by": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/added_by1"
                  },
                  {
                    "description": "Added by",
                    "example": "system"
                  }
                ]
              },
              "added_by_id": {
                "type": "number",
                "description": "Added by ID",
                "example": 1
              },
              "partiallyUse": {
                "type": "boolean",
                "description": "When credit note is partially used. Default: false",
                "example": true
              }
            }
          }
        ]
      },
      "CreditnoteId": {
        "title": "CreditnoteId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Credit note ID",
            "example": 1
          }
        }
      },
      "Creditnoteitem": {
        "title": "Creditnoteitem",
        "required": [
          "description",
          "quantity",
          "unit"
        ],
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description of credit note item",
            "example": "Desc of item"
          },
          "quantity": {
            "type": "number",
            "description": "Quantity. Default: 1",
            "example": 1
          },
          "unit": {
            "type": "number",
            "description": "Unit"
          },
          "price": {
            "type": "number",
            "description": "Price",
            "example": 123
          },
          "tax": {
            "type": "number",
            "description": "VAT %",
            "example": 0
          },
          "sub_account_id": {
            "type": "number",
            "description": "ID of the sub-account this credit note item is related to. Used for aggregated billing.",
            "example": 0
          },
          "invoice_item_id": {
            "type": "number",
            "description": "ID of the invoice item this credit note item is related to. Used only if credit note item is created from invoice item. Fields 'description', 'quantity', 'unit', 'price' and 'tax' for 'items' must have same values as invoice item.",
            "example": 0
          }
        }
      },
      "PaymentBase": {
        "title": "PaymentBase",
        "required": [
          "customer_id",
          "payment_type",
          "receipt_number",
          "date",
          "amount",
          "field_1",
          "field_2",
          "field_3",
          "field_4",
          "field_5"
        ],
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "invoice_id": {
            "type": "number",
            "description": "Invoice ID",
            "nullable": true
          },
          "credit_note_id": {
            "type": "number",
            "description": "Credit note ID",
            "nullable": true
          },
          "request_id": {
            "type": "number",
            "description": "Request ID",
            "nullable": true
          },
          "transaction_id": {
            "type": "number",
            "description": "Transaction ID"
          },
          "payment_statement_id": {
            "type": "number",
            "description": "Payment statement ID",
            "nullable": true
          },
          "payment_type": {
            "type": "string",
            "description": "Type ID. You can get it on page \"Config / Finance / Payment methods\""
          },
          "receipt_number": {
            "type": "string",
            "description": "Receipt Number"
          },
          "date": {
            "type": "string",
            "description": "Date. Format: YYYY-MM-DD"
          },
          "amount": {
            "type": "string",
            "description": "Sum"
          },
          "comment": {
            "type": "string",
            "description": "Comment"
          },
          "is_sent": {
            "allOf": [
              {
                "$ref": "#/components/schemas/is_sent"
              },
              {
                "description": "Is sent",
                "example": "0"
              }
            ]
          },
          "field_1": {
            "type": "string",
            "description": "Field #1"
          },
          "field_2": {
            "type": "string",
            "description": "Field #2"
          },
          "field_3": {
            "type": "string",
            "description": "Field #3"
          },
          "field_4": {
            "type": "string",
            "description": "Field #4"
          },
          "field_5": {
            "type": "string",
            "description": "Field #5"
          },
          "note": {
            "type": "string",
            "description": "Note"
          },
          "memo": {
            "type": "string",
            "description": "Memo"
          },
          "void": {
            "type": "boolean",
            "description": "Voided payment"
          }
        }
      },
      "PaymentBaseAdvanced": {
        "title": "PaymentBaseAdvanced",
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentBase"
          },
          {
            "type": "object",
            "properties": {
              "refund_payment_id": {
                "type": "number",
                "description": "Refund payment ID"
              }
            }
          }
        ]
      },
      "PaymentResponse": {
        "title": "PaymentResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Payment ID",
                "example": 1
              },
              "remind_amount": {
                "type": "number",
                "description": "Remind amount",
                "example": 0
              },
              "real_create_datetime": {
                "type": "string",
                "description": "Real create date. Format: YYYY-MM-DD H:i:s",
                "example": "2024-05-27 15:30:35"
              },
              "added_by": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/added_by1"
                  },
                  {
                    "description": "Added by",
                    "example": "api"
                  }
                ]
              },
              "added_by_id": {
                "type": "number",
                "description": "Added by ID",
                "example": 1
              },
              "void": {
                "type": "boolean",
                "description": "Voided payment",
                "example": false
              }
            }
          }
        ]
      },
      "PaymentId": {
        "title": "PaymentId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Payment ID",
            "example": 1
          }
        }
      },
      "PaymentMethodsBase": {
        "title": "PaymentMethodsBase",
        "required": [
          "name",
          "is_active"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Payment method's name.",
            "example": "Bank transfer"
          },
          "is_active": {
            "type": "boolean",
            "description": "Values: true or false. Active or inactive.",
            "example": true
          },
          "name_1": {
            "type": "string",
            "description": "Payment method's field 1.",
            "example": "Account"
          },
          "name_2": {
            "type": "string",
            "description": "Payment method's field 2.",
            "example": "Transaction ID Bank transfer"
          },
          "name_3": {
            "type": "string",
            "description": "Payment method's field 3.",
            "example": "field 3"
          },
          "name_4": {
            "type": "string",
            "description": "Payment method's field 4.",
            "example": "field 4"
          },
          "name_5": {
            "type": "string",
            "description": "Payment method's field 5.",
            "example": "field 5"
          }
        }
      },
      "PaymentMethodsResponse": {
        "title": "PaymentMethodsResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentMethodsBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Payment method ID",
                "example": 1
              },
              "accounting_bank_accounts_id": {
                "type": "number",
                "description": "Mapped record ID",
                "example": 0
              },
              "einvoicing_payment_methods_id": {
                "type": "number",
                "description": "Mapped record ID",
                "example": 3
              }
            }
          }
        ]
      },
      "PaymentMethodsId": {
        "title": "PaymentMethodsId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Payment method ID",
            "example": 1
          }
        }
      },
      "TransactionCategoriesBase": {
        "title": "TransactionCategoriesBase",
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Transaction category name.",
            "example": "Deposit"
          },
          "is_base": {
            "allOf": [
              {
                "$ref": "#/components/schemas/is_base"
              },
              {
                "description": "Default categories\n    + Members\n        + `0` - No\n        + `1` - Yes",
                "example": "0"
              }
            ]
          }
        }
      },
      "TransactionCategoriesResponse": {
        "title": "TransactionCategoriesResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/TransactionCategoriesBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Transaction categories ID",
                "example": 1
              },
              "accounting_category_id": {
                "type": "number",
                "description": "Mapped record ID",
                "nullable": true
              },
              "einvoicing_category_id": {
                "type": "number",
                "description": "Mapped record ID",
                "example": 0
              },
              "einvoicing_private_person_category_id": {
                "type": "number",
                "description": "Mapped record ID",
                "example": 0
              },
              "einvoicing_type_id": {
                "type": "number",
                "description": "Mapped record ID",
                "example": 0
              },
              "einvoicing_private_person_type_id": {
                "type": "number",
                "description": "Mapped record ID",
                "example": 0
              }
            }
          }
        ]
      },
      "TransactionCategoriesId": {
        "title": "TransactionCategoriesId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Transaction categories ID",
            "example": 1
          }
        }
      },
      "ProformaInvoiceBase": {
        "title": "ProformaInvoiceBase",
        "required": [
          "customer_id",
          "status",
          "number",
          "items"
        ],
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "date_created": {
            "type": "string",
            "description": "Create date. Format: YYYY-MM-DD",
            "example": "2016-01-01"
          },
          "date_updated": {
            "type": "string",
            "description": "Last update. Format: YYYY-MM-DD"
          },
          "date_till": {
            "type": "string",
            "description": "Pay till date. Format: YYYY-MM-DD"
          },
          "date_payment": {
            "type": "string",
            "description": "Payment date. Format: YYYY-MM-DD"
          },
          "status": {
            "type": "string",
            "description": "Status. Values: 'not_paid' for \"Not paid\", 'paid' for \"Paid\", 'pending' for \"Pending\"",
            "example": "not_paid"
          },
          "number": {
            "type": "string",
            "description": "Number",
            "example": "201601010003"
          },
          "payment_id": {
            "type": "number",
            "description": "Payment ID."
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ProformaInvoiceitem"
            },
            "description": "Items of Proforma invoice"
          }
        }
      },
      "ProformaInvoiceResponse": {
        "title": "ProformaInvoiceResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/ProformaInvoiceBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Request ID",
                "example": 1
              }
            }
          }
        ]
      },
      "ProformaInvoiceId": {
        "title": "ProformaInvoiceId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Request ID",
            "example": 1
          }
        }
      },
      "ProformaInvoiceitem": {
        "title": "ProformaInvoiceitem",
        "required": [
          "description",
          "quantity",
          "unit"
        ],
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description of Proforma Invoice item",
            "example": "Desc of item"
          },
          "quantity": {
            "type": "number",
            "description": "Quantity. Default: 1",
            "example": 1
          },
          "unit": {
            "type": "number",
            "description": "Unit"
          },
          "price": {
            "type": "number",
            "description": "Price",
            "example": 123
          },
          "tax": {
            "type": "number",
            "description": "VAT %",
            "example": 0
          },
          "period_from": {
            "type": "string",
            "description": "Date. Format: YYYY-MM-DD",
            "example": "2016-01-01"
          },
          "period_to": {
            "type": "string",
            "description": "Date. Format: YYYY-MM-DD",
            "example": "2016-01-02"
          },
          "sub_account_id": {
            "type": "number",
            "description": "ID of the sub-account this proforma invoice item is related to. Used for aggregated billing.",
            "example": 0
          }
        }
      },
      "LastChargeToBillRecord": {
        "title": "LastChargeToBillRecord",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "To Bill record ID",
            "example": 1
          },
          "customer_id": {
            "type": "number",
            "description": "Related customer ID",
            "example": 1
          },
          "date": {
            "type": "string",
            "description": "Date. Format: YYYY-MM-DD",
            "example": "2016-01-02"
          },
          "real_date_time": {
            "type": "string",
            "description": "Real date of creating To Bill record. Format: YYYY-MM-DD HH:II:SS",
            "example": "2016-01-02 09:48:12"
          },
          "transactions_id": {
            "type": "string",
            "description": "Related transactions splitted by comma",
            "example": "2,3,1"
          },
          "invoice_id": {
            "type": "number",
            "description": "Related invoice ID",
            "example": 43
          },
          "request_id": {
            "type": "number",
            "description": "Related proforma invoice ID",
            "example": 54
          },
          "next_request_before": {
            "type": "string",
            "description": "Date. Format: YYYY-MM-DD",
            "example": "2016-02-02"
          },
          "history_id": {
            "type": "number",
            "description": "Finance history ID",
            "example": 1
          },
          "transactions_sum": {
            "type": "number",
            "description": "Transactions sum",
            "example": 123
          },
          "max_period_to": {
            "type": "string",
            "description": "Date. Format: YYYY-MM-DD",
            "example": "2016-02-02"
          }
        }
      },
      "LastChargeInvoice": {
        "title": "LastChargeInvoice",
        "required": [
          "customer_id",
          "status",
          "number"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Invoice ID",
            "example": 1
          },
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "date_created": {
            "type": "string",
            "description": "Create date. Format: YYYY-MM-DD",
            "example": "2016-01-01"
          },
          "date_updated": {
            "type": "string",
            "description": "Update date. Format: YYYY-MM-DD"
          },
          "date_till": {
            "type": "string",
            "description": "Pay till date. Format: YYYY-MM-DD"
          },
          "date_payment": {
            "type": "string",
            "description": "Payment date. Format: YYYY-MM-DD"
          },
          "status": {
            "type": "string",
            "description": "Status. Values: 'not_paid' for \"Not paid\", 'paid' for \"Paid\", 'pending' for \"Pending\" and 'deleted' for \"Deleted\"",
            "example": "not_paid"
          },
          "number": {
            "type": "string",
            "description": "Number",
            "example": "201601010003"
          },
          "payment_id": {
            "type": "number",
            "description": "Payment ID."
          },
          "payd_from_deposit": {
            "type": "number",
            "description": "Set to 1 of invoice payd from deposit. Values: 0 or 1"
          },
          "total": {
            "type": "number",
            "description": "Total of the Invoice",
            "example": 123
          },
          "due": {
            "type": "number",
            "description": "Due sum of the Invoice",
            "example": 100
          }
        }
      },
      "LastChargeProformaInvoice": {
        "title": "LastChargeProformaInvoice",
        "required": [
          "customer_id",
          "status",
          "number"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Request ID",
            "example": 1
          },
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "date_created": {
            "type": "string",
            "description": "Create date. Format: YYYY-MM-DD",
            "example": "2016-01-01"
          },
          "date_updated": {
            "type": "string",
            "description": "Last update. Format: YYYY-MM-DD"
          },
          "date_till": {
            "type": "string",
            "description": "Pay till date. Format: YYYY-MM-DD"
          },
          "date_payment": {
            "type": "string",
            "description": "Payment date. Format: YYYY-MM-DD"
          },
          "status": {
            "type": "string",
            "description": "Status. Values: 'not_paid' for \"Not paid\", 'paid' for \"Paid\", 'pending' for \"Pending\"",
            "example": "not_paid"
          },
          "number": {
            "type": "string",
            "description": "Number",
            "example": "201601010003"
          },
          "payment_id": {
            "type": "number",
            "description": "Payment ID."
          },
          "total": {
            "type": "number",
            "description": "Total of the Proforma Invoice",
            "example": 123
          }
        }
      },
      "ViewLastChargeResponseInfo": {
        "title": "ViewLastChargeResponseInfo",
        "type": "object",
        "properties": {
          "date": {
            "type": "string",
            "description": "Date of a charge. Format: YYYY-MM-DD",
            "example": "2016-01-01"
          },
          "maxPeriodTo": {
            "type": "string",
            "description": "Max period in last charge. Format: YYYY-MM-DD",
            "example": "2016-01-01"
          },
          "countTransactions": {
            "type": "number",
            "description": "Count of transactions to cancel",
            "example": 1
          },
          "totalSum": {
            "type": "number",
            "description": "Total sum of invoice to cancel",
            "example": 10
          },
          "emptyCharge": {
            "type": "boolean",
            "description": "Whether charge is empty",
            "example": true
          },
          "invoices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LastChargeInvoice"
            },
            "description": ""
          },
          "ipi_invoices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LastChargeInvoice"
            },
            "description": ""
          },
          "requests": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LastChargeProformaInvoice"
            },
            "description": ""
          },
          "transactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TransactionResponse"
            },
            "description": ""
          },
          "toBillRecords": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LastChargeToBillRecord"
            },
            "description": ""
          }
        }
      },
      "ViewLastChargeResponse": {
        "title": "ViewLastChargeResponse",
        "required": [
          "lastChargeExist"
        ],
        "type": "object",
        "properties": {
          "lastChargeExist": {
            "type": "boolean",
            "description": "Values: true or false. Whether a last charge exists.",
            "example": true
          },
          "info": {
            "$ref": "#/components/schemas/ViewLastChargeResponseInfo"
          }
        }
      },
      "PaymentStatementBase": {
        "title": "PaymentStatementBase",
        "required": [
          "title"
        ],
        "type": "object",
        "properties": {
          "date_time": {
            "type": "string",
            "description": "Datetime. Format: YYYY-MM-DD HH:II:SS",
            "example": "2021-07-15 09:50:00"
          },
          "title": {
            "type": "string",
            "description": "File name",
            "example": "filename.csv"
          },
          "handler": {
            "type": "string",
            "description": "Handler\u00e2\u20ac\u2122s name of folder in /var/www/splynx/system/external_handlers/finance/bank-statements/",
            "example": "handler"
          },
          "payment_type": {
            "type": "number",
            "description": "Payment type",
            "example": 2
          },
          "status": {
            "type": "string",
            "description": "Status. Values: new, fail, success",
            "example": "new"
          },
          "filename_original": {
            "type": "string",
            "description": "File name",
            "example": "filename.csv"
          },
          "filename_uploaded": {
            "type": "string",
            "description": "Path to uploaded file",
            "example": "/var/www/splynx/uploads/statements/2021-08/2666df6a8056abc4"
          },
          "filename_parsed": {
            "type": "string",
            "description": "Path to parsed file",
            "example": "/var/www/splynx/uploads/statements/2021-08/e89e98648573973b"
          },
          "delimiter": {
            "type": "string",
            "description": "Delimiter",
            "example": "tabulator"
          }
        }
      },
      "PaymentStatementsResponse": {
        "title": "PaymentStatementsResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentStatementBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Payment Statement ID",
                "example": 1
              }
            }
          }
        ]
      },
      "PaymentStatementId": {
        "title": "PaymentStatementId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Payment Statement ID",
            "example": 1
          }
        }
      },
      "PaymentStatementImportId": {
        "title": "PaymentStatementImportId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Payment statement import ID",
            "example": 1
          }
        }
      },
      "PaymentStatementRecordBase": {
        "title": "PaymentStatementRecordBase",
        "required": [
          "bank_statements_process_id"
        ],
        "type": "object",
        "properties": {
          "bank_statements_process_id": {
            "type": "number",
            "description": "Payment Statement ID",
            "example": 1
          },
          "datetime": {
            "type": "string",
            "description": "Datetime. Format: YYYY-MM-DD HH:II:SS",
            "example": "2021-07-15 09:50:00"
          },
          "payment_date": {
            "type": "string",
            "description": "Payment date. Format: YYYY-MM-DD",
            "example": "2021-07-15"
          },
          "amount": {
            "type": "string",
            "description": "Amount",
            "example": "10.0000"
          },
          "status": {
            "type": "string",
            "description": "Status. Values: new, processed, canceled, error, ignored, deleted, manual_paired, pending, voided",
            "example": "new"
          },
          "pairing_1": {
            "type": "string",
            "description": "Customer ID",
            "example": "1"
          },
          "pairing_2": {
            "type": "string",
            "description": "Invoice number",
            "example": "202001000118"
          },
          "pairing_3": {
            "type": "string",
            "description": "Pairing 3"
          },
          "additional_1": {
            "type": "string",
            "description": "Additional field 1"
          },
          "additional_2": {
            "type": "string",
            "description": "Additional field 2"
          },
          "additional_3": {
            "type": "string",
            "description": "Additional field 3"
          },
          "comment": {
            "type": "string",
            "description": "Comment",
            "example": "Comment"
          },
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "nullable": true,
            "example": 1
          },
          "invoice_id": {
            "type": "number",
            "description": "Invoice ID",
            "nullable": true,
            "example": 1
          },
          "credit_note_id": {
            "type": "number",
            "description": "Credit note ID",
            "nullable": true
          },
          "request_id": {
            "type": "number",
            "description": "Proforma invoice ID",
            "nullable": true
          },
          "payment_id": {
            "type": "number",
            "description": "Payment ID",
            "nullable": true
          },
          "transaction_id": {
            "type": "number",
            "description": "Transaction ID",
            "nullable": true
          }
        }
      },
      "PaymentStatementsRecordsResponse": {
        "title": "PaymentStatementsRecordsResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/PaymentStatementRecordBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Payment Statement Record ID",
                "example": 1
              }
            }
          }
        ]
      },
      "PaymentStatementRecordId": {
        "title": "PaymentStatementRecordId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Payment Statement Record ID",
            "example": 1
          }
        }
      },
      "CardsRefill": {
        "title": "CardsRefill",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Card ID",
            "example": 1
          },
          "status": {
            "type": "string",
            "description": "Card Status: \"Active\", \"Used\", \"Disabled\", \"Expired\"",
            "example": "Active"
          },
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 0
          },
          "activated_at": {
            "type": "string",
            "description": "Activate Date Time",
            "example": "0000-00-00 00:00:00"
          },
          "full_code": {
            "type": "string",
            "description": "Card Code (unique)",
            "example": "201701-SPL-rAnd19u8cf"
          }
        }
      },
      "CardsRefillSeries": {
        "title": "CardsRefillSeries",
        "required": [
          "serie",
          "prefix"
        ],
        "type": "object",
        "properties": {
          "serie": {
            "type": "string",
            "description": "Cards Series ID",
            "example": "201701"
          },
          "prefix": {
            "type": "string",
            "description": "Cards Series Prefix",
            "example": "SPL"
          },
          "amount": {
            "type": "number",
            "description": "Cards amount",
            "example": 10
          },
          "created_at": {
            "type": "string",
            "description": "Serie created at",
            "example": "2017-12-12 10:51:31"
          }
        }
      },
      "CardsRefillBase": {
        "title": "CardsRefillBase",
        "required": [
          "prefix",
          "quantity",
          "price",
          "valid_till"
        ],
        "type": "object",
        "properties": {
          "prefix": {
            "type": "string",
            "description": "Cards Series Prefix",
            "example": "SPL"
          },
          "quantity": {
            "type": "number",
            "description": "Cards amount",
            "example": 10
          },
          "price": {
            "type": "number",
            "description": "Price per card",
            "example": 5
          },
          "valid_till": {
            "type": "string",
            "description": "Validity date",
            "example": "2019-12-01"
          }
        }
      },
      "CardsRefillSeriesId": {
        "title": "CardsRefillSeriesId",
        "type": "object",
        "properties": {
          "serie": {
            "type": "string",
            "description": "Cards Series ID",
            "example": "201702"
          }
        }
      },
      "CardsRefillId": {
        "title": "CardsRefillId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Card ID",
            "example": 101
          }
        }
      },
      "BillingInfoResponse": {
        "title": "BillingInfoResponse",
        "type": "object",
        "properties": {
          "howManyMonthsLeft": {
            "type": "number",
            "description": "Money for payment are left for N months. Only for prepaid monthly customers.",
            "example": 1
          },
          "howManyDaysLeft": {
            "type": "number",
            "description": "Money for payment are left for N days",
            "example": 28
          },
          "paymentPerMonth": {
            "type": "number",
            "description": "Price per month for all services. Only for prepaid monthly customers.",
            "example": 175.67
          },
          "paymentPerDay": {
            "type": "number",
            "description": "Price per day for all services",
            "example": 6.2739
          },
          "deposit": {
            "type": "number",
            "description": "Current customer account balance",
            "example": 235.09
          },
          "blocking_date": {
            "type": "string",
            "description": "Prepaid expiration date. Only for prepaid monthly customers.",
            "example": "2019-03-25"
          }
        }
      },
      "PaymentaccountsResponse": {
        "title": "PaymentaccountsResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "This id payment account.",
            "example": 1
          },
          "title": {
            "type": "string",
            "description": "Title payment account.",
            "example": "Stripe"
          },
          "field_1": {
            "type": "string",
            "description": "customer account ID.",
            "example": "Stripe customer account ID"
          },
          "field_2": {
            "type": "string",
            "description": "card id.",
            "example": "Stripe card id"
          },
          "field_3": {
            "type": "string",
            "description": "Brand name.",
            "example": "Card Brand name"
          },
          "field_4": {
            "type": "string",
            "description": "4last digits.",
            "example": "Card 4last digits"
          },
          "field_5": {
            "type": "string",
            "description": "exp month.",
            "example": "Card exp month"
          },
          "field_6": {
            "type": "string",
            "description": "extra value.",
            "example": "extra value"
          },
          "field_7": {
            "type": "string",
            "description": "extra value.",
            "example": "extra value"
          },
          "field_8": {
            "type": "string",
            "description": "extra value.",
            "example": "extra value"
          },
          "field_9": {
            "type": "string",
            "description": "extra value.",
            "example": "extra value"
          },
          "field_10": {
            "type": "string",
            "description": "extra value.",
            "example": "extra value"
          }
        }
      },
      "Paymentaccountdata": {
        "title": "Paymentaccountdata",
        "type": "object",
        "properties": {
          "account_id": {
            "type": "number",
            "description": "This id payment account.",
            "example": 1
          },
          "customer_id": {
            "type": "string",
            "description": "This id customer.",
            "example": "1"
          },
          "field_1": {
            "type": "string",
            "example": "``"
          },
          "field_2": {
            "type": "string",
            "example": "``"
          },
          "field_3": {
            "type": "string",
            "example": "``"
          },
          "field_4": {
            "type": "string",
            "example": "``"
          },
          "field_5": {
            "type": "string",
            "example": "``"
          },
          "field_6": {
            "type": "string",
            "example": "``"
          },
          "field_7": {
            "type": "string",
            "example": "``"
          },
          "field_8": {
            "type": "string",
            "example": "``"
          },
          "field_9": {
            "type": "string",
            "example": "``"
          },
          "field_10": {
            "type": "string",
            "example": "``"
          }
        }
      },
      "InvoiceRelationResponse": {
        "title": "InvoiceRelationResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "This is ID of invoice relation",
            "example": 1
          },
          "customer_id": {
            "type": "number",
            "description": "This is ID of related customer",
            "example": 3
          },
          "payer_id": {
            "type": "number",
            "description": "This is ID of a payment or transaction or credit note",
            "example": 45
          },
          "type": {
            "type": "string",
            "description": "Type of payer (payment, transaction or credit_note)",
            "example": "payment"
          },
          "invoice_id": {
            "type": "number",
            "description": "ID of related an invoice",
            "example": 100
          },
          "transaction_id": {
            "type": "number",
            "description": "ID of related transaction. Used instead of invoice_id",
            "example": 132
          },
          "amount": {
            "type": "number",
            "description": "Amount",
            "example": 15.3
          }
        }
      },
      "ItemRentObject": {
        "title": "ItemRentObject",
        "required": [
          "id",
          "tariff_id",
          "service_data"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Inventory item id.",
            "example": 1
          },
          "price": {
            "type": "number",
            "description": "Price unit item.",
            "example": 15
          },
          "tariff_id": {
            "type": "number",
            "description": "Recurring tariff id.",
            "example": 1
          },
          "service_data": {
            "$ref": "#/components/schemas/CustomerRecurringserviceBase"
          }
        }
      },
      "ItemSellObject": {
        "title": "ItemSellObject",
        "required": [
          "customer_id"
        ],
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "date_created": {
            "type": "string",
            "description": "Create date. Format: YYYY-MM-DD",
            "example": "2016-01-01"
          },
          "date_updated": {
            "type": "string",
            "description": "Update date. Format: YYYY-MM-DD"
          },
          "date_till": {
            "type": "string",
            "description": "Pay till date. Format: YYYY-MM-DD"
          },
          "date_payment": {
            "type": "string",
            "description": "Payment date. Format: YYYY-MM-DD"
          },
          "status": {
            "type": "string",
            "description": "Status. Values: 'not_paid' for \"Not paid\", 'paid' for \"Paid\" and 'deleted' for \"Deleted\"",
            "example": "not_paid"
          },
          "number": {
            "type": "string",
            "description": "Number",
            "example": "201601010003"
          },
          "payment_id": {
            "type": "number",
            "description": "Payment ID."
          },
          "payd_from_deposit": {
            "type": "number",
            "description": "Set to 1 of invoice payd from deposit. Values: 0 or 1"
          },
          "create_invoice": {
            "type": "number",
            "description": "Create invoice or future items. . Values: 0 or 1. By default invoice will be created.",
            "example": 1
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ItemsSellObject"
            },
            "description": "Items sell."
          }
        }
      },
      "ItemsSellObject": {
        "title": "ItemsSellObject",
        "required": [
          "item_id",
          "description"
        ],
        "type": "object",
        "properties": {
          "item_id": {
            "type": "number",
            "description": "Inventory item id.\n\n***Required for at least one element in the items array**",
            "example": 1
          },
          "description": {
            "type": "string",
            "description": "Description of invoice item",
            "example": "Desc of item"
          },
          "quantity": {
            "type": "number",
            "description": "Quantity. Default: 1",
            "example": 1
          },
          "unit": {
            "type": "number",
            "description": "Unit"
          },
          "price": {
            "type": "number",
            "description": "Price",
            "example": 123
          },
          "period_from": {
            "type": "string",
            "description": "Date. Format: YYYY-MM-DD",
            "example": "2016-01-01"
          },
          "period_to": {
            "type": "string",
            "description": "Date. Format: YYYY-MM-DD",
            "example": "2016-01-02"
          },
          "categoryIdForTransaction": {
            "type": "number",
            "description": "Allows to set transaction category for item transaction",
            "example": 1
          },
          "tax_included": {
            "type": "boolean",
            "description": "Whether the price includes tax (VAT). Only applies when the `Tax included` option is enabled in Config / Inventory / Inventory tax. If the config option is disabled, this parameter is ignored. If the config option is enabled and this parameter is not provided, the config value is used. If the config option is enabled and this parameter is provided, it overrides the config value for this item.",
            "example": true
          },
          "tax_id": {
            "type": "number",
            "description": "Tax ID to apply to this item. If not provided, the `Default inventory tax` from Config / Inventory / Inventory tax is used.",
            "example": 1
          }
        }
      },
      "ItemSellResponse": {
        "title": "ItemSellResponse",
        "type": "object",
        "properties": {
          "invoice": {
            "$ref": "#/components/schemas/InvoiceResponse"
          },
          "transactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TransactionResponse"
            },
            "description": ""
          }
        }
      },
      "ItemBase": {
        "title": "ItemBase",
        "type": "object",
        "properties": {
          "notes": {
            "type": "string",
            "description": "Note",
            "example": "note"
          },
          "barcode": {
            "type": "string",
            "description": "Unique item barcode",
            "example": "barcode"
          },
          "serial_number": {
            "type": "string",
            "description": "Serial number",
            "example": "number"
          }
        }
      },
      "ItemCreate": {
        "title": "ItemCreate",
        "allOf": [
          {
            "$ref": "#/components/schemas/ItemBase"
          },
          {
            "required": [
              "product_id"
            ],
            "type": "object",
            "properties": {
              "product_id": {
                "type": "number",
                "description": "Product ID",
                "example": 1
              },
              "file": {
                "type": "string",
                "description": "cURL file instance to attach.",
                "example": "cURL file"
              },
              "hardware": {
                "description": "Optional. Either link to an existing Monitoring device (`link_to_existing`) or create a new one inline. When supplied, the response also returns `monitoring_id`. The `monitoring` module must be enabled to create a new device.",
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ItemHardwareLinkExisting"
                  },
                  {
                    "$ref": "#/components/schemas/ItemHardwareCreate"
                  }
                ]
              }
            }
          }
        ]
      },
      "ItemUpdate": {
        "title": "ItemUpdate",
        "allOf": [
          {
            "$ref": "#/components/schemas/ItemResponseBase"
          },
          {
            "type": "object",
            "properties": {
              "delete_photo": {
                "type": "boolean",
                "description": "Delete current item photo.",
                "example": true
              },
              "hardware_id": {
                "type": "number",
                "description": "Link this Inventory Item to the Monitoring device with this ID. Set to 0 together with `unlink_device=true` to clear the link. Replaces any previous link.",
                "example": 1
              },
              "unlink_device": {
                "type": "boolean",
                "description": "Explicitly unlink the currently-linked Monitoring device. Required to clear the link \u2014 sending `hardware_id=0` alone is treated as \"no change\".",
                "example": true
              }
            }
          }
        ]
      },
      "ItemUpdateUpload": {
        "title": "ItemUpdateUpload",
        "allOf": [
          {
            "$ref": "#/components/schemas/ItemBase"
          },
          {
            "type": "object",
            "properties": {
              "delete_photo": {
                "type": "boolean",
                "description": "Delete current item photo.",
                "example": true
              },
              "file": {
                "type": "string",
                "description": "cURL file instance to attach.",
                "example": "cURL file"
              }
            }
          }
        ]
      },
      "ItemResponseBase": {
        "title": "ItemResponseBase",
        "allOf": [
          {
            "$ref": "#/components/schemas/ItemBase"
          },
          {
            "type": "object",
            "properties": {
              "supplier_invoices_item_id": {
                "type": "number",
                "description": "Supplier invoice ID",
                "example": 1
              },
              "status": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/status"
                  },
                  {
                    "description": "Item status",
                    "example": "stock"
                  }
                ]
              },
              "mark": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/mark"
                  },
                  {
                    "description": "Item mark",
                    "example": "new"
                  }
                ]
              },
              "customer_id": {
                "type": "number",
                "description": "Customer or Lead ID",
                "example": 1
              },
              "admin_id": {
                "type": "number",
                "description": "Admin ID",
                "example": 1
              },
              "service_id": {
                "type": "number",
                "description": "Service ID",
                "example": 1
              },
              "invoice_id": {
                "type": "number",
                "description": "Invoice ID",
                "example": 1
              },
              "cost_price": {
                "type": "number",
                "description": "Cost price",
                "example": 1
              },
              "transaction_id": {
                "type": "number",
                "description": "Transaction ID",
                "example": 1
              },
              "product_id": {
                "type": "number",
                "description": "Product ID",
                "example": 1
              },
              "stock_id": {
                "type": "number",
                "description": "Stock ID",
                "example": 1
              },
              "filename_original": {
                "type": "string",
                "description": "Original file name",
                "example": "test.png"
              },
              "filename": {
                "type": "string",
                "description": "File name",
                "example": "6bcee1fd1062637b"
              },
              "file_link": {
                "type": "string",
                "description": "Link to file",
                "example": "/admin/download--view?module=inventory_items&id=21&ver=6bcee1fd1062637"
              },
              "network_site_id": {
                "type": "number",
                "description": "Network site ID",
                "example": 1
              },
              "linked_hardware": {
                "description": "Compact view of the Monitoring device linked to this Inventory Item. `null` when no hardware is linked.",
                "type": "object",
                "nullable": true,
                "allOf": [
                  {
                    "$ref": "#/components/schemas/LinkedHardware"
                  }
                ]
              }
            }
          }
        ]
      },
      "ItemResponse": {
        "title": "ItemResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/ItemResponseBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Inventory Item ID",
                "example": 1
              }
            }
          }
        ]
      },
      "ItemId": {
        "title": "ItemId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Inventory Item ID",
            "example": 1
          }
        }
      },
      "ProductBase": {
        "title": "ProductBase",
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Product name",
            "example": "Product #315955388"
          },
          "vendor_id": {
            "type": "number",
            "description": "Vendor ID",
            "example": 13
          },
          "category_id": {
            "type": "number",
            "description": "Category ID",
            "example": 1
          },
          "rent_price": {
            "type": "number",
            "description": "Rent price",
            "example": 50.5
          },
          "sold_price": {
            "type": "number",
            "description": "Vendor price",
            "example": 150.45
          }
        }
      },
      "ProductCreate": {
        "title": "ProductCreate",
        "allOf": [
          {
            "$ref": "#/components/schemas/ProductBase"
          },
          {
            "type": "object",
            "properties": {
              "file": {
                "type": "string",
                "description": "cURL file instance to attach product photo.",
                "example": "cURL file"
              }
            }
          }
        ]
      },
      "ProductUpdate": {
        "title": "ProductUpdate",
        "allOf": [
          {
            "$ref": "#/components/schemas/ProductBase"
          },
          {
            "type": "object",
            "properties": {
              "delete_photo": {
                "type": "boolean",
                "description": "Delete current product photo.",
                "example": true
              }
            }
          }
        ]
      },
      "ProductUpdateUpload": {
        "title": "ProductUpdateUpload",
        "allOf": [
          {
            "$ref": "#/components/schemas/ProductUpdate"
          },
          {
            "type": "object",
            "properties": {
              "file:": {
                "type": "string",
                "description": "cURL file instance to attach."
              }
            }
          }
        ]
      },
      "ProductResponse": {
        "title": "ProductResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/ProductBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Inventory Product ID",
                "example": 1
              },
              "filename_original": {
                "type": "string",
                "description": "Original file name",
                "example": "test.png"
              },
              "filename": {
                "type": "string",
                "description": "File name",
                "example": "6bcee1fd1062637b"
              },
              "file_link": {
                "type": "string",
                "description": "Link to file",
                "example": "/admin/download--view?module=inventory_products&id=76&ver=02722995746c379e"
              }
            }
          }
        ]
      },
      "ProductId": {
        "title": "ProductId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Inventory Product ID",
            "example": 1
          }
        }
      },
      "SupplierBase": {
        "title": "SupplierBase",
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Supplier name",
            "example": "Supplier #1812880724"
          },
          "address": {
            "type": "string",
            "description": "Supplier address",
            "example": "test address 451683022"
          },
          "contact_name": {
            "type": "string",
            "description": "Supplier contact name",
            "example": "test contact name #282951548"
          },
          "email": {
            "type": "string",
            "description": "Supplier email",
            "example": "test1559922455@email.com"
          },
          "phone": {
            "type": "string",
            "description": "Supplier phone",
            "example": "test-phone1275935693"
          },
          "tax_included": {
            "type": "boolean",
            "description": "Tax included.",
            "example": true
          }
        }
      },
      "SupplierResponse": {
        "title": "SupplierResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/SupplierBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Inventory Supplier ID",
                "example": 1
              }
            }
          }
        ]
      },
      "SupplierId": {
        "title": "SupplierId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Inventory Supplier ID",
            "example": 1
          }
        }
      },
      "VendorBase": {
        "title": "VendorBase",
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Vendor name",
            "example": "Vendor #1812880724"
          }
        }
      },
      "VendorResponse": {
        "title": "VendorResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/VendorBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Inventory Vendor ID",
                "example": 1
              }
            }
          }
        ]
      },
      "VendorId": {
        "title": "VendorId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Inventory Vendor ID",
            "example": 1
          }
        }
      },
      "ValidationErrorResponse": {
        "title": "ValidationErrorResponse",
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "field": {
              "type": "string",
              "description": "The name of the field that failed validation.",
              "example": "inventory_id"
            },
            "is_additional_attribute": {
              "type": "boolean",
              "description": "Whether the field is an additional (custom) attribute.",
              "example": false
            },
            "message": {
              "type": "string",
              "description": "Human-readable validation error message.",
              "example": "Invalid inventory ID"
            }
          }
        }
      },
      "SupplierInvoiceBase": {
        "title": "SupplierInvoiceBase",
        "required": [
          "supplier_id",
          "items"
        ],
        "type": "object",
        "properties": {
          "supplier_id": {
            "type": "number",
            "description": "Supplier ID",
            "example": 1
          },
          "original_invoice_number": {
            "type": "string",
            "description": "Original invoice number",
            "example": "invoice number"
          },
          "date": {
            "type": "string",
            "description": "Invoice create date. Format: YYYY-MM-DD",
            "example": "2019-05-02"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierInvoiceItem"
            },
            "description": "Items of invoice"
          }
        }
      },
      "SupplierInvoiceCreate": {
        "title": "SupplierInvoiceCreate",
        "allOf": [
          {
            "$ref": "#/components/schemas/SupplierInvoiceBase"
          },
          {
            "type": "object",
            "properties": {
              "file": {
                "type": "string",
                "description": "cURL file instance to attach product photo.",
                "example": "cURL file"
              }
            }
          }
        ]
      },
      "SupplierInvoiceBase1": {
        "title": "SupplierInvoiceBase1",
        "required": [
          "supplier_id",
          "items"
        ],
        "type": "object",
        "properties": {
          "supplier_id": {
            "type": "number",
            "description": "Supplier ID",
            "example": 1
          },
          "original_invoice_number": {
            "type": "string",
            "description": "Original invoice number",
            "example": "invoice number"
          },
          "date": {
            "type": "string",
            "description": "Invoice create date. Format: YYYY-MM-DD",
            "example": "2019-05-02"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SupplierInvoiceItemUpdate"
            },
            "description": "Items of invoice"
          }
        }
      },
      "SupplierInvoiceUpdateUpload": {
        "title": "SupplierInvoiceUpdateUpload",
        "allOf": [
          {
            "$ref": "#/components/schemas/SupplierInvoiceBase1"
          },
          {
            "type": "object",
            "properties": {
              "file:": {
                "type": "string",
                "description": "cURL file instance to attach."
              }
            }
          }
        ]
      },
      "SupplierInvoiceResponse": {
        "title": "SupplierInvoiceResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/SupplierInvoiceBase1"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Invoice ID",
                "example": 1
              },
              "filename_original": {
                "type": "string",
                "description": "Original file name",
                "example": "test.png"
              },
              "filename": {
                "type": "string",
                "description": "File name",
                "example": "6bcee1fd1062637b"
              },
              "file_link": {
                "type": "string",
                "description": "Link to file",
                "example": "/admin/download--view?module=inventory_supplier_invoices&id=15"
              }
            }
          }
        ]
      },
      "SupplierInvoiceId": {
        "title": "SupplierInvoiceId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Invoice ID",
            "example": 1
          }
        }
      },
      "SupplierInvoiceItem": {
        "title": "SupplierInvoiceItem",
        "required": [
          "product_id",
          "quantity"
        ],
        "type": "object",
        "properties": {
          "product_id": {
            "type": "number",
            "description": "Product ID",
            "example": 2
          },
          "quantity": {
            "type": "number",
            "description": "Quantity",
            "example": 1
          },
          "tax": {
            "type": "number",
            "description": "VAT %",
            "example": 10
          },
          "price": {
            "type": "number",
            "description": "Price witout VAT",
            "example": 100.5
          }
        }
      },
      "SupplierInvoiceItemUpdate": {
        "title": "SupplierInvoiceItemUpdate",
        "required": [
          "product_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Item ID",
            "example": 1
          },
          "product_id": {
            "type": "number",
            "description": "Product ID",
            "example": 2
          },
          "tax": {
            "type": "number",
            "description": "VAT %",
            "example": 10
          },
          "price": {
            "type": "number",
            "description": "Price witout VAT",
            "example": 100.5
          }
        }
      },
      "NetworksiteBase": {
        "title": "NetworksiteBase",
        "required": [
          "location_id",
          "partners_ids"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title",
            "example": "Alpha"
          },
          "description": {
            "type": "string",
            "description": "Description of network site",
            "example": "Description"
          },
          "address": {
            "type": "string",
            "description": "Address",
            "example": "Big street 11-321"
          },
          "gps": {
            "type": "string",
            "description": "Valid coordinates",
            "example": "50.10676296991858,14.445095658302305"
          },
          "location_id": {
            "type": "number",
            "description": "Location (id)",
            "example": 1
          },
          "partners_ids": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of partners (ids) who can use network site"
          }
        }
      },
      "NetworksiteResponse": {
        "title": "NetworksiteResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/NetworksiteBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Network site ID",
                "example": 1
              }
            }
          }
        ]
      },
      "NetworksiteId": {
        "title": "NetworksiteId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Network site ID",
            "example": 1
          }
        }
      },
      "NetworksitephotoResponse": {
        "title": "NetworksitephotoResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Network site photo ID.",
            "example": 1
          },
          "network_site_id": {
            "type": "number",
            "description": "ID of the Network site the photo is attached to.",
            "example": 5
          },
          "filename_original": {
            "type": "string",
            "description": "Original filename as uploaded by the user.",
            "example": "tower.png"
          },
          "filename_uploaded": {
            "type": "string",
            "description": "Filename used to store the file on disk.",
            "example": "5f8a9c2b1d3e.png"
          },
          "created_at": {
            "type": "string",
            "description": "Datetime the photo was uploaded.",
            "example": "2026-05-12 14:54:15"
          },
          "updated_at": {
            "type": "string",
            "description": "Datetime the photo record was last updated.",
            "example": "2026-05-12 14:54:15"
          },
          "download_link": {
            "type": "string",
            "description": "Public URL to download the original image binary.",
            "example": "https://yourdomain.splynx.com/files?id=a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6&type=network_sites_photos"
          },
          "thumbnail_link": {
            "type": "string",
            "nullable": true,
            "description": "Public URL to download the thumbnail image binary. `null` when no thumbnail has been generated.",
            "example": "https://yourdomain.splynx.com/files--thumbnail?id=a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6&type=network_sites_photos"
          },
          "size": {
            "type": "number",
            "description": "File size in bytes.",
            "example": 245678
          }
        }
      },
      "NetworksitephotoId": {
        "title": "NetworksitephotoId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Network site photo ID.",
            "example": 1
          }
        }
      },
      "NetworkSiteDocumentResponse": {
        "title": "NetworkSiteDocumentResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "Document ID (primary key).",
            "example": 10
          },
          "type": {
            "type": "string",
            "description": "Document type identifier used by the download endpoint.",
            "example": "networking_network_sites_documents"
          },
          "hash_id": {
            "type": "string",
            "description": "32-character random hash used by the public download URL.",
            "example": "c325fc52f5c4fe31f0940384599aafb2"
          },
          "filename_original": {
            "type": "string",
            "description": "Original filename as uploaded by the client.",
            "example": "site_blueprint.pdf"
          },
          "filename_uploaded": {
            "type": "string",
            "description": "Stored filename on disk.",
            "example": "c0adc27c4f4b1dfe"
          },
          "download_link": {
            "type": "string",
            "description": "Relative admin download URL for the file.",
            "example": "/admin/download?module=networking_network_sites_documents&id=10"
          },
          "has_thumbnail": {
            "type": "boolean",
            "description": "True if a thumbnail preview is available on disk for this document.",
            "example": false
          },
          "size": {
            "type": "integer",
            "description": "File size in bytes.",
            "example": 228
          },
          "thumbnail_link": {
            "type": "string",
            "description": "Relative URL to the thumbnail; empty string when has_thumbnail is false.",
            "example": ""
          }
        }
      },
      "NetworkSiteDocumentAdd": {
        "title": "NetworkSiteDocumentAdd",
        "required": [
          "network_site_id"
        ],
        "type": "object",
        "properties": {
          "network_site_id": {
            "type": "integer",
            "description": "Parent network site ID. Required for multipart and on the first chunk of chunked upload.",
            "example": 1
          },
          "files": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "binary"
            },
            "description": "Files for multipart upload. Allowed: doc, docx, txt, pdf, rtf. Max 50 MB each. Mutually exclusive with chunked `file`."
          },
          "file": {
            "type": "string",
            "format": "binary",
            "description": "Chunk body for chunked upload. Pair with `Content-Range` header and `hash`."
          },
          "hash": {
            "type": "string",
            "description": "Upload-session identifier — same value across all chunks of one file. Required in chunked mode.",
            "example": "ns_doc_42"
          }
        }
      },
      "ACSDeviceBase": {
        "title": "ACSDeviceBase",
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "internet_service_id": {
            "type": "number",
            "description": "Internet service ID.",
            "example": 10
          },
          "voice_service_id": {
            "type": "number",
            "description": "Voice service ID.",
            "example": 11
          },
          "recurring_service_id": {
            "type": "number",
            "description": "Recurring service ID.",
            "example": 12
          },
          "provisioned": {
            "allOf": [
              {
                "$ref": "#/components/schemas/provisioned"
              },
              {
                "description": "Is ACS Device provisioned",
                "example": "no"
              }
            ]
          }
        }
      },
      "ACSDeviceUpdate": {
        "title": "ACSDeviceUpdate",
        "allOf": [
          {
            "$ref": "#/components/schemas/ACSDeviceBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "number",
                "description": "ACS type ID (work in pair with group field).",
                "example": 1
              },
              "group": {
                "type": "number",
                "description": "ACS device group ID (work in pair with type field).",
                "example": 3
              }
            }
          }
        ]
      },
      "ACSDevice": {
        "title": "ACSDevice",
        "allOf": [
          {
            "$ref": "#/components/schemas/ACSDeviceBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "number",
                "description": "ACS type ID.",
                "example": 1
              },
              "group": {
                "type": "number",
                "description": "ACS device group ID.",
                "example": 3
              },
              "device_id": {
                "type": "string",
                "description": "ACS device ID.",
                "example": "E48D8C-CHR-000000"
              },
              "prefix": {
                "type": "string",
                "description": "ACS device prefix.",
                "example": "device-prefix"
              },
              "product_class": {
                "type": "string",
                "description": "Product class.",
                "example": "WR1300"
              },
              "manufacturer": {
                "type": "string",
                "description": "ACS device manufacturer.",
                "example": "TP-Link"
              },
              "oui": {
                "type": "string",
                "description": "ACS device OUI.",
                "example": "F4A454"
              },
              "serial_number": {
                "type": "string",
                "description": "ACS device serial number.",
                "example": "000000"
              },
              "software_version": {
                "type": "string",
                "description": "ACS device software version.",
                "example": "1.14.18-20220627-154554"
              },
              "hardware_version": {
                "type": "string",
                "example": "1.56.123"
              },
              "uptime": {
                "type": "number",
                "description": "Uptime.",
                "example": 2
              },
              "last_inform": {
                "type": "string",
                "description": "ACS device last inform datetime.",
                "example": "2023-07-12 13:13:43"
              },
              "registered": {
                "type": "string",
                "description": "ACS device registered datetime.",
                "example": "2023-07-12 13:13:32"
              },
              "auto_provisioning": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/auto_provisioning"
                  },
                  {
                    "description": "Is auto provisioning enabled",
                    "example": "0"
                  }
                ]
              },
              "model_name": {
                "type": "string",
                "description": "ACS device model name.",
                "example": "WR1300"
              },
              "last_updated": {
                "type": "string",
                "description": "ACS device last updated datetime.",
                "example": "2023-07-12 13:13:43"
              },
              "status": {
                "type": "string",
                "description": "ACS device status.",
                "example": "null"
              }
            }
          }
        ]
      },
      "ACSDeviceResponse": {
        "title": "ACSDeviceResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/ACSDevice"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "ACS Device ID",
                "example": 1
              }
            }
          }
        ]
      },
      "RouterBase": {
        "title": "RouterBase",
        "required": [
          "title",
          "partners_ids",
          "location_id",
          "ip",
          "authorization_method",
          "accounting_method",
          "nas_type"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title (unique)",
            "example": "Alpha"
          },
          "model": {
            "type": "string",
            "description": "Model",
            "example": "Mega router"
          },
          "partners_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Partners (ids)"
          },
          "location_id": {
            "type": "number",
            "description": "Location (id)",
            "example": 1
          },
          "address": {
            "type": "string",
            "description": "Address",
            "example": "Big street 11-321"
          },
          "ip": {
            "type": "string",
            "description": "Router IP (unique)",
            "example": "192.168.1.100"
          },
          "gps": {
            "type": "string",
            "description": "Area router",
            "example": "45.83,126.62;45.85,126.63;45.85,126.60;45.84,126.60;45.83950371555224,126.62528514862058;"
          },
          "gps_point": {
            "type": "string",
            "description": "Point router",
            "example": "45.83,126.62"
          },
          "authorization_method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/authorization_method"
              },
              {
                "description": "Authorization method",
                "example": "none"
              }
            ]
          },
          "accounting_method": {
            "allOf": [
              {
                "$ref": "#/components/schemas/accounting_method"
              },
              {
                "description": "Accounting method",
                "example": "none"
              }
            ]
          },
          "nas_type": {
            "type": "string",
            "description": "ID of NAS type. You can get it on page \"Config / Networking / NAS types\"",
            "example": "1"
          },
          "nas_ip": {
            "type": "string",
            "description": "IP address assigned to the NAS",
            "example": "192.168.1.100"
          },
          "radius_secret": {
            "type": "string",
            "description": "Radius secret"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/status1"
              },
              {
                "description": "Router status",
                "example": "null"
              }
            ]
          },
          "pool_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Pool IDs"
          }
        }
      },
      "RoutersSectorsBase": {
        "title": "RoutersSectorsBase",
        "required": [
          "router_id",
          "title",
          "speed_down",
          "speed_up",
          "limit_at"
        ],
        "type": "object",
        "properties": {
          "router_id": {
            "type": "number",
            "description": "Router ID",
            "example": 1
          },
          "title": {
            "type": "string",
            "description": "Parent",
            "example": "Limit 2/1"
          },
          "speed_down": {
            "type": "number",
            "description": "Speed Down (kbps)",
            "example": 2048
          },
          "speed_up": {
            "type": "number",
            "description": "Speed Up (kbps)",
            "example": 1024
          },
          "limit_at": {
            "type": "number",
            "description": "Guaranteed speed Limit-at (%)",
            "example": 95
          }
        }
      },
      "RouterResponse": {
        "title": "RouterResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/RouterBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Router ID",
                "example": 1
              }
            }
          }
        ]
      },
      "RouterSectorResponse": {
        "title": "RouterSectorResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/RoutersSectorsBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Router Sector ID",
                "example": 1
              }
            }
          }
        ]
      },
      "RouterId": {
        "title": "RouterId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Router ID",
            "example": 1
          }
        }
      },
      "RouterSectorId": {
        "title": "RouterSectorId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Router  Sector ID",
            "example": 2
          }
        }
      },
      "VoicedeviceBase": {
        "title": "VoicedeviceBase",
        "required": [
          "title",
          "partners_ids",
          "location_id",
          "ip"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title (unique)",
            "example": "Alpha"
          },
          "model": {
            "type": "string",
            "description": "Model",
            "example": "Mega Voice device"
          },
          "partners_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Partners (ids)"
          },
          "location_id": {
            "type": "number",
            "description": "Location (id) or 0 for all locations",
            "example": 1
          },
          "address": {
            "type": "string",
            "description": "Address",
            "example": "Big street 11-321"
          },
          "ip": {
            "type": "string",
            "description": "IP (unique)",
            "example": "192.168.1.100"
          }
        }
      },
      "VoicedeviceResponse": {
        "title": "VoicedeviceResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/VoicedeviceBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Voice ID",
                "example": 1
              }
            }
          }
        ]
      },
      "VoicedeviceId": {
        "title": "VoicedeviceId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Voice device ID",
            "example": 1
          }
        }
      },
      "MonitoringBase": {
        "title": "MonitoringBase",
        "required": [
          "title",
          "parent_id",
          "producer",
          "ip",
          "snmp_community",
          "snmp_version",
          "type",
          "monitoring_group",
          "partners_ids",
          "location_id"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title",
            "example": "Alpha"
          },
          "network_site_id": {
            "type": "number",
            "description": "Network site ID",
            "example": 0
          },
          "parent_id": {
            "type": "number",
            "description": "ID of Parent monitoring. 0 for none",
            "example": 0
          },
          "producer": {
            "type": "number",
            "description": "Producer ID. You can get it on page \"Config / Networking / Monitoring\" from table \"Producers\"",
            "example": 1
          },
          "model": {
            "type": "string",
            "description": "Model",
            "example": "Mega monitoring"
          },
          "ip": {
            "type": "string",
            "description": "IP address (unique)",
            "example": "192.168.1.100"
          },
          "snmp_port": {
            "type": "number",
            "description": "Port number used to communicate with the SNMP agent.",
            "example": 161
          },
          "is_ping": {
            "type": "boolean",
            "description": "To ping or not",
            "example": true
          },
          "active": {
            "type": "boolean",
            "description": "SNMP Monitoring",
            "example": true
          },
          "snmp_community": {
            "type": "string",
            "description": "SNMP community",
            "example": "public"
          },
          "snmp_version": {
            "type": "number",
            "description": "SNMP Version. Values: 1 or 2",
            "example": 1
          },
          "type": {
            "type": "number",
            "description": "Type ID. You can get it on page \"Config / Networking / Monitoring\" from table \"Device types\"",
            "example": 1
          },
          "monitoring_group": {
            "type": "number",
            "description": "Group ID. You can get it on page \"Config / Networking / Monitoring\" from table \"Groups\"",
            "example": 1
          },
          "partners_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Partners (ids)"
          },
          "location_id": {
            "type": "number",
            "description": "Location (id)",
            "example": 1
          },
          "address": {
            "type": "string",
            "description": "Address",
            "example": "Big street 11-321"
          },
          "send_notifications": {
            "type": "boolean",
            "description": "Send notifications or not",
            "example": true
          },
          "gps": {
            "type": "string",
            "description": "GPS point",
            "example": "45.83,126.62"
          },
          "gps_area": {
            "type": "string",
            "description": "GPS area",
            "example": "45.83,126.62;45.85,126.63;45.85,126.60;45.84,126.60;45.83950371555224,126.62528514862058;"
          },
          "delay_timer": {
            "type": "number",
            "description": "Time in seconds to wait before executing the operation",
            "example": 0
          },
          "snmp_time": {
            "type": "number",
            "description": "imestamp of the last SNMP response received",
            "example": 0
          },
          "snmp_uptime": {
            "type": "number",
            "description": "System uptime retrieved via SNMP",
            "example": 0
          },
          "snmp_status": {
            "type": "number",
            "description": "Status values for specific SNMP checks or sensors",
            "example": 9
          },
          "snmp_status_1": {
            "type": "number",
            "description": "Status values for specific SNMP checks or sensors",
            "example": 9
          },
          "snmp_status_2": {
            "type": "number",
            "description": "Status values for specific SNMP checks or sensors",
            "example": 9
          },
          "snmp_status_3": {
            "type": "number",
            "description": "Status values for specific SNMP checks or sensors",
            "example": 9
          },
          "snmp_status_4": {
            "type": "number",
            "description": "Status values for specific SNMP checks or sensors",
            "example": 9
          },
          "snmp_status_5": {
            "type": "number",
            "description": "Status values for specific SNMP checks or sensors",
            "example": 9
          },
          "snmp_state": {
            "type": "string",
            "example": "up"
          },
          "ping_state": {
            "type": "string",
            "example": "up"
          },
          "access_device": {
            "type": "number",
            "description": "Access device ID",
            "example": 1
          },
          "versions": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Verions"
          },
          "inventory_item_id": {
            "type": "number",
            "description": "Inventory Item ID",
            "example": 0
          }
        }
      },
      "MonitoringResponse": {
        "title": "MonitoringResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/MonitoringBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Monitoring ID",
                "example": 1
              }
            }
          }
        ]
      },
      "MonitoringId": {
        "title": "MonitoringId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Monitoring ID",
            "example": 1
          }
        }
      },
      "SNMPOIDmonitoringBase": {
        "title": "SNMPOIDmonitoringBase",
        "required": [
          "monitoring_id",
          "title",
          "oid"
        ],
        "type": "object",
        "properties": {
          "monitoring_id": {
            "type": "number",
            "description": "ID of the monitoring group this OID belongs to.",
            "example": 1
          },
          "title": {
            "type": "string",
            "description": "Description of the OID entry.",
            "example": "Interface"
          },
          "oid": {
            "type": "string",
            "description": "SNMP OID that is being checked (in this case, likely for interface name).",
            "example": "1.3.6.1.2.1.31.1.1.1.1.1"
          },
          "active": {
            "type": "string",
            "description": "Whether the OID is active (1 = active, 0 = inactive).",
            "example": "1"
          },
          "check_every": {
            "type": "string",
            "description": "Polling interval in minutes.",
            "example": "1"
          }
        }
      },
      "SNMPOIDmonitoringId": {
        "title": "SNMPOIDmonitoringId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "SNMP OID monitoring ID",
            "example": 1
          }
        }
      },
      "SNMPOIDmonitoringResponse": {
        "title": "SNMPOIDmonitoringResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/SNMPOIDmonitoringBase"
          },
          {
            "type": "object",
            "properties": {
              "result_0": {
                "type": "string",
                "description": "Latest result of the SNMP check (string type).",
                "example": "ether1"
              },
              "result_1": {
                "type": "string",
                "description": "Previous result.",
                "example": "``"
              },
              "result_2": {
                "type": "string",
                "description": "Previous result.",
                "example": "``"
              },
              "result_3": {
                "type": "string",
                "description": "Previous result.",
                "example": "``"
              },
              "result_4": {
                "type": "string",
                "description": "Previous result.",
                "example": "``"
              },
              "result_5": {
                "type": "string",
                "description": "Previous result.",
                "example": "``"
              },
              "last_check": {
                "type": "number",
                "description": "Last check timestamp (UNIX format).",
                "example": 1752129469
              },
              "last_status": {
                "type": "string",
                "description": "Status of the last check (OK, FAIL, or null if unset).",
                "example": "null"
              },
              "rrd_dst": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/rrd_dst"
                  },
                  {
                    "description": "RRD storage mode",
                    "example": "NONE"
                  }
                ]
              },
              "id": {
                "type": "number",
                "description": "SNMP OID monitoring ID",
                "example": 1
              }
            }
          }
        ]
      },
      "IPv4networkBase": {
        "title": "IPv4networkBase",
        "required": [
          "network",
          "mask",
          "title",
          "location_id",
          "network_category",
          "network_type",
          "type_of_usage"
        ],
        "type": "object",
        "properties": {
          "network": {
            "type": "string",
            "description": "Network",
            "example": "10.0.0.0"
          },
          "mask": {
            "type": "number",
            "description": "BM",
            "example": 24
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "Aplha"
          },
          "comment": {
            "type": "string",
            "description": "Comment",
            "example": "First network"
          },
          "location_id": {
            "type": "number",
            "description": "Location (id)",
            "example": 1
          },
          "network_category": {
            "type": "number",
            "description": "Network category (id). You can get it on page \"Config / Networking / Network categories\"",
            "example": 1
          },
          "network_type": {
            "type": "string",
            "description": "Network type. Can be 'rootnet' for RootNet, 'endnet' for EndNet. Default: 'endnet'",
            "example": "endnet"
          },
          "type_of_usage": {
            "type": "string",
            "description": "Type of usage. Can be 'pool' for Pool, 'static' for Static, 'management' for Management only. Default: 'management'",
            "example": "pool"
          },
          "parent": {
            "type": "number",
            "description": "Parent network ID",
            "example": 1
          }
        }
      },
      "IPv4networkResponse": {
        "title": "IPv4networkResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/IPv4networkBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "IPv4 network ID",
                "example": 1
              }
            }
          }
        ]
      },
      "IPv4networkId": {
        "title": "IPv4networkId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "IPv4 network ID",
            "example": 1
          }
        }
      },
      "IPv4IPBase": {
        "title": "IPv4IPBase",
        "required": [
          "ipv4_networks_id"
        ],
        "type": "object",
        "properties": {
          "ipv4_networks_id": {
            "type": "number",
            "description": "IPv4 Network ID",
            "example": 1
          },
          "ip": {
            "type": "string",
            "description": "IPv4 IP",
            "example": "10.0.0.0"
          },
          "hostname": {
            "type": "string",
            "description": "Hostname",
            "example": "host"
          },
          "location_id": {
            "type": "number",
            "description": "Location (id)",
            "example": 1
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "Alpha and Omega"
          },
          "comment": {
            "type": "string",
            "description": "Comment",
            "example": "First IP"
          },
          "host_category": {
            "type": "number",
            "description": "ID of host category from \"Config / Networking / IP Host categories\"",
            "example": 1
          },
          "is_used": {
            "type": "number",
            "description": "IP used status. Can be '1' for used or '0' when unused",
            "example": 1
          },
          "status": {
            "type": "number",
            "description": "Status after ping. Statuses: 0 => 'OK', 1 => 'TimeOut', 2 => 'Error', 9 => 'Unknown'"
          },
          "last_check": {
            "type": "number",
            "description": "Last check",
            "example": 0
          },
          "customer_id": {
            "type": "number",
            "description": "Customer id",
            "example": 1
          },
          "card_id": {
            "type": "number",
            "description": "Customer id"
          },
          "module": {
            "type": "string",
            "description": "Name of module. It used when there are AF field with type IP"
          },
          "module_item_id": {
            "type": "number",
            "description": "Id of module item"
          }
        }
      },
      "IPv4IPResponse": {
        "title": "IPv4IPResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/IPv4IPBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "IPv4 IP ID",
                "example": 1
              }
            }
          }
        ]
      },
      "IPv4IPResponseFree": {
        "title": "IPv4IPResponseFree",
        "allOf": [
          {
            "$ref": "#/components/schemas/IPv4IPBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "IPv4 IP ID",
                "example": 2
              }
            }
          }
        ]
      },
      "IPv6networkBase": {
        "title": "IPv6networkBase",
        "required": [
          "network",
          "prefix",
          "title",
          "location_id",
          "network_category",
          "network_type",
          "type_of_usage"
        ],
        "type": "object",
        "properties": {
          "network": {
            "type": "string",
            "description": "Network",
            "example": "2001:db8::"
          },
          "prefix": {
            "type": "number",
            "description": "Prefix",
            "example": 32
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "Aplha"
          },
          "comment": {
            "type": "string",
            "description": "Comment",
            "example": "First network"
          },
          "location_id": {
            "type": "number",
            "description": "Location (id)",
            "example": 1
          },
          "network_category": {
            "type": "number",
            "description": "Network category (id). You can get it on page \"Config / Networking / Network categories\"",
            "example": 1
          },
          "network_type": {
            "type": "string",
            "description": "Network type. Can be 'rootnet' for RootNet, 'endnet' for EndNet. Default: 'endnet'",
            "example": "endnet"
          },
          "type_of_usage": {
            "type": "string",
            "description": "Type of usage. 'static' for Static, 'management' for Management only. Default: 'static'",
            "example": "static"
          },
          "parent": {
            "type": "number",
            "description": "Parent network ID",
            "example": 1
          },
          "range_from": {
            "type": "string",
            "description": "Range from",
            "example": "2001:db8::1"
          },
          "range_to": {
            "type": "string",
            "description": "Range to",
            "example": "2001:db8::ffff"
          }
        }
      },
      "IPv6networkResponse": {
        "title": "IPv6networkResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/IPv6networkBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "IPv6 network ID",
                "example": 1
              }
            }
          }
        ]
      },
      "IPv6networkId": {
        "title": "IPv6networkId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "IPv6 network ID",
            "example": 1
          }
        }
      },
      "IPv6IPBase": {
        "title": "IPv6IPBase",
        "required": [
          "ipv6_networks_id"
        ],
        "type": "object",
        "properties": {
          "ipv6_networks_id": {
            "type": "number",
            "description": "IPv6 Network ID",
            "example": 1
          },
          "ip": {
            "type": "string",
            "description": "IPv6 IP",
            "example": "2001:db8::"
          },
          "ip_end": {
            "type": "string",
            "description": "Last IPv6 IP",
            "example": "2001:db8:ffff:ffff:ffff:ffff:ffff:ffff"
          },
          "prefix": {
            "type": "number",
            "description": "Prefix - 32 - 64",
            "example": 64
          },
          "location_id": {
            "type": "number",
            "description": "Location (id)",
            "example": 1
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "Aplha and Omega"
          },
          "comment": {
            "type": "string",
            "description": "Comment",
            "example": "First IP"
          },
          "host_category": {
            "type": "number",
            "description": "ID of host category from \"Config / Networking / IP Host categories\"",
            "example": 1
          },
          "is_used": {
            "type": "number",
            "description": "IP used status. Can be '1' for used or '0' when unused",
            "example": 1
          },
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "service_id": {
            "type": "number",
            "description": "Service ID",
            "example": 1
          },
          "card_id": {
            "type": "number",
            "description": "Card ID"
          },
          "module": {
            "type": "string",
            "description": "Name of module. It used when there are AF field with type IP"
          },
          "module_item_id": {
            "type": "number",
            "description": "Id of module item"
          }
        }
      },
      "IPv6IPResponse": {
        "title": "IPv6IPResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/IPv6IPBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "IPv6 IP ID",
                "example": 1
              }
            }
          }
        ]
      },
      "MikrotikResponse": {
        "title": "MikrotikResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Mikrotik ID.",
            "example": 1
          },
          "api_login": {
            "type": "string",
            "description": "Mikrotik api login.",
            "example": "admin"
          },
          "api_password": {
            "type": "string",
            "description": "Mikrotik api password.",
            "example": "password"
          },
          "api_port": {
            "type": "number",
            "description": "Mikrotik api port. Default: 8728.",
            "example": 80
          },
          "api_enable": {
            "type": "boolean",
            "description": "Mikrotik api is enable.",
            "example": true
          },
          "api_status": {
            "type": "string",
            "description": "Mikrotik api status. Values: 'ok' for \"Ok\", 'error' for \"Error\", 'disabled' for \"Disabled\", 'unknown' for \"Unknown\".",
            "example": "ok"
          },
          "shaper": {
            "type": "boolean",
            "description": "Mikrotik shaper.",
            "example": true
          },
          "shaper_id": {
            "type": "number",
            "description": "Mikrotik shaper ID.",
            "example": 1
          },
          "shaping_type": {
            "type": "string",
            "description": "Mikrotik shaper type. Default: 'simple'.",
            "example": "simple"
          },
          "disabled_to_al": {
            "type": "boolean",
            "description": "Mikrotik is disabled to all. Default: 0.",
            "example": false
          },
          "wireless_al": {
            "type": "boolean",
            "description": "Mikrotik wireless all. Default: 0.",
            "example": false
          },
          "last_status": {
            "type": "string",
            "description": "Mikrotik last status datetime.",
            "example": "2017-01-01 00:00:00"
          },
          "cpu_usage": {
            "type": "number",
            "description": "Mikrotik cpu usage.",
            "example": 0
          },
          "platform": {
            "type": "string",
            "description": "Mikrotik platform.",
            "example": "MikroTik"
          },
          "board_name": {
            "type": "string",
            "description": "Mikrotik board name.",
            "example": "mikrotik"
          },
          "version": {
            "type": "string",
            "description": "Mikrotik version.",
            "example": "6.0.0 (stable)"
          },
          "connection_error": {
            "type": "number",
            "description": "Mikrotik connection error number.",
            "example": 0
          },
          "last_api_error": {
            "type": "boolean",
            "description": "Mikrotik last api error. Default 0.",
            "example": false
          },
          "is_used": {
            "type": "boolean",
            "description": "Mikrotik is used.",
            "example": true
          },
          "pid": {
            "type": "number",
            "description": "PID",
            "example": 1
          },
          "used_date_time": {
            "type": "string",
            "description": "Mikrotik used datetime.",
            "example": "2017-01-01 00:00:00"
          },
          "change_status": {
            "type": "boolean",
            "description": "Mikrotik change status.",
            "example": true
          },
          "change_authorization": {
            "type": "boolean",
            "description": "Mikrotik change authorization.",
            "example": false
          },
          "change_shaping": {
            "type": "boolean",
            "description": "Mikrotik change shaping.",
            "example": true
          },
          "last_connect": {
            "type": "string",
            "description": "Mikrotik last connect datetime.",
            "example": "2017-01-01 00:00:00"
          },
          "last_accounting": {
            "type": "string",
            "description": "Mikrotik last accounting datetime.",
            "example": "2017-01-01 00:00:00"
          },
          "push_firewall_filter_rules": {
            "type": "number",
            "example": 1
          },
          "update_firewall_filter_rules": {
            "type": "number",
            "example": 1
          },
          "ipv6": {
            "type": "number",
            "example": 1
          }
        }
      },
      "CpeBase": {
        "title": "CpeBase",
        "required": [
          "title",
          "host"
        ],
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "number",
            "description": "CPE customer ID.",
            "example": 76
          },
          "title": {
            "type": "string",
            "description": "CPE title.",
            "example": "Office router"
          },
          "host": {
            "type": "string",
            "description": "CPE host IP.",
            "example": "10.0.1.1"
          },
          "api_login": {
            "type": "string",
            "description": "API login.",
            "example": "api_user"
          },
          "api_password": {
            "type": "string",
            "description": "API password.",
            "example": "api_password"
          },
          "api_port": {
            "type": "string",
            "description": "API port. Default: '8728'.",
            "example": "8728"
          },
          "status": {
            "type": "string",
            "description": "CPE status. Values: 'unknown' for \"Unknown\", 'error_connection' for \"Error connection\", 'api_error' for \"Api error\", 'api_ok' for \"Api ok\".",
            "example": "error_connection"
          },
          "change_status": {
            "type": "number",
            "description": "CPE change status. Default: 1. Values: 0 or 1.",
            "example": 1
          },
          "last_status": {
            "type": "string",
            "description": "CPE last status datetime.",
            "example": "2017-01-01 00:00:00"
          },
          "last_update": {
            "type": "string",
            "description": "CPE last update datetime.",
            "example": "2017-01-01 00:00:00"
          },
          "last_connect": {
            "type": "string",
            "description": "CPE last connect datetime.",
            "example": "2017-01-01 00:00:00"
          },
          "type": {
            "type": "string",
            "description": "CPE type.",
            "example": "TypeCpe"
          },
          "signal": {
            "type": "string",
            "description": "CPE signal.",
            "example": "-48"
          },
          "gps": {
            "type": "string",
            "example": "50.11,8.7253"
          },
          "service_id": {
            "type": "number",
            "description": "Service ID.",
            "example": 10
          },
          "qos": {
            "type": "number",
            "description": "CPE is qos. Default: 1. Values: 0 or 1.",
            "example": 1
          },
          "used_date_time": {
            "type": "string",
            "description": "CPE used datetime.",
            "example": "2017-01-01 00:00:00"
          },
          "cpe_wireless": {
            "type": "string",
            "description": "CPE wireless.",
            "example": "json string"
          },
          "cpe_wireless_interfaces": {
            "type": "string",
            "description": "CPE wireless interfaces.",
            "example": "json string"
          },
          "cpe_status": {
            "type": "string",
            "description": "CPE status.",
            "example": "json string"
          },
          "cpe_interfaces": {
            "type": "string",
            "description": "CPE interfaces.",
            "example": "json string"
          },
          "connection_error": {
            "type": "number",
            "description": "CPE connection error key.",
            "example": 9
          }
        }
      },
      "CpeId": {
        "title": "CpeId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "CPE ID.",
            "example": 1
          }
        }
      },
      "CpeResponse": {
        "title": "CpeResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/CpeBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "CPE ID.",
                "example": 1
              },
              "customer_name": {
                "type": "string",
                "description": "CPE customer name.",
                "example": "null"
              },
              "customer_login": {
                "type": "string",
                "description": "CPE customer login.",
                "example": "null"
              },
              "partner_id": {
                "type": "string",
                "description": "CPE customer partner ID.",
                "example": "null"
              },
              "location_id": {
                "type": "string",
                "description": "CPE customer location ID.",
                "example": "null"
              },
              "dhcp": {
                "type": "string",
                "description": "CPE dhcp.",
                "example": "null"
              },
              "is_changed": {
                "type": "number",
                "description": "CPE is changed. Values: 0 or 1.",
                "example": 0
              },
              "is_used": {
                "type": "number",
                "description": "CPE is used. Values: 0 or 1.",
                "example": 0
              },
              "qos_target": {
                "type": "string",
                "description": "CPE qos target.",
                "example": "self"
              }
            }
          }
        ]
      },
      "CpeApBase": {
        "title": "CpeApBase",
        "required": [
          "name",
          "mode",
          "interface",
          "password"
        ],
        "type": "object",
        "properties": {
          "cpe_id": {
            "type": "number",
            "description": "Cpe id.",
            "example": 1
          },
          "name": {
            "type": "string",
            "description": "CpeAp name.",
            "example": "cpeap 1"
          },
          "mode": {
            "type": "string",
            "description": "CpeAp mode. Values: 'alignment-only', 'ap-bridge', 'bridge', 'nstreme-dual-slave', 'station', 'station-bridge', 'station-pseudobridge', 'station-pseudobridge-clone', 'station-wds', 'wds-slave'.",
            "example": "ap-bridge"
          },
          "interface": {
            "type": "string",
            "description": "CpeAp interface.",
            "example": "wlan1"
          },
          "protocol": {
            "type": "string",
            "description": "CpeAp protocol. Default: '802.11'.",
            "example": "802.11"
          },
          "frequency": {
            "type": "string",
            "description": "CpeAp frequency. Default: 'auto'.",
            "example": "auto"
          },
          "band": {
            "type": "string",
            "description": "CpeAp band.",
            "example": "2ghz-b/g/n"
          },
          "channel_width": {
            "type": "string",
            "description": "CpeAp chanel width.",
            "example": "20/40mhz-Ce"
          },
          "country": {
            "type": "string",
            "description": "CpeAp country.",
            "example": "czech republic"
          },
          "security": {
            "type": "string",
            "description": "CpeAp security. Default: 'wpa2'. Values: 'wpa', 'wpa2', 'wpa_wpa2', 'none'.",
            "example": "wpa_wpa2"
          },
          "encryption": {
            "type": "string",
            "description": "CpeAp encryption. Values: 'aes_ccm', 'tkip', 'aes_ccm_tkip'.",
            "example": "aes_ccm"
          },
          "password": {
            "type": "string",
            "description": "CpeAp password.",
            "example": "cpeap_password"
          },
          "enabled": {
            "type": "number",
            "description": "CpeAp is enabled. Values: 0 or 1.",
            "example": 1
          },
          "master": {
            "type": "string",
            "description": "CpeAp master.",
            "example": "cpeap master"
          }
        }
      },
      "CpeApId": {
        "title": "CpeApId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "CpeAp ID.",
            "example": 1
          }
        }
      },
      "CpeApResponse": {
        "title": "CpeApResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/CpeApBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "CpeAp ID.",
                "example": 1
              }
            }
          }
        ]
      },
      "CpeQosBase": {
        "title": "CpeQosBase",
        "required": [
          "title",
          "speed_in",
          "speed_out",
          "limit_at",
          "priority",
          "dst"
        ],
        "type": "object",
        "properties": {
          "cpe_id": {
            "type": "number",
            "description": "Cpe ID.",
            "example": 4
          },
          "title": {
            "type": "string",
            "description": "CpeQos title.",
            "example": "cpeQos 1"
          },
          "speed_in": {
            "type": "number",
            "description": "CpeQos speed in.",
            "example": 500
          },
          "speed_out": {
            "type": "number",
            "description": "CpeQos speed out.",
            "example": 300
          },
          "limit_at": {
            "type": "number",
            "description": "CpeQos limit at.",
            "example": 56
          },
          "priority": {
            "type": "number",
            "description": "CpeQos priority.",
            "example": 3
          },
          "dst": {
            "type": "string",
            "description": "CpeQos destination IP.",
            "example": "10.24.50.20"
          }
        }
      },
      "CpeQosId": {
        "title": "CpeQosId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "CpeQos ID.",
            "example": 1
          }
        }
      },
      "CpeQosResponse": {
        "title": "CpeQosResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/CpeQosBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "CpeQos ID.",
                "example": 1
              }
            }
          }
        ]
      },
      "CpeDhcpResponse": {
        "title": "CpeDhcpResponse",
        "required": [
          "interface",
          "network",
          "gateway",
          "pool_from",
          "pool_to"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "CpeDhcp id.",
            "example": 1
          },
          "name": {
            "type": "string",
            "description": "CpeDhcp name.",
            "example": "cpedhcp 1"
          },
          "enabled": {
            "type": "number",
            "description": "CpeDhcp is enabled. Default: 0. Values: 0 or 1.",
            "example": 1
          },
          "interface": {
            "type": "string",
            "description": "CpeDhcp interface.",
            "example": "wlan"
          },
          "lease_time": {
            "type": "number",
            "description": "CpeDhcp lease time. Default: 10.",
            "example": 10
          },
          "network": {
            "type": "string",
            "description": "CpeDhcp network.",
            "example": "12.42.142.29"
          },
          "gateway": {
            "type": "string",
            "description": "CpeDhcp gateway.",
            "example": "15.32.15.241"
          },
          "pool_from": {
            "type": "string",
            "description": "CpeDhcp pool from.",
            "example": "14.144.41.152"
          },
          "pool_to": {
            "type": "string",
            "description": "CpeDhcp pool to.",
            "example": "52.14.16.145"
          },
          "dns_servers": {
            "type": "string",
            "description": "CpeDhcp DNS servers.",
            "example": "25.15.15.74,135.21.45.124"
          },
          "wins_server": {
            "type": "string",
            "description": "CpeDhcp wins servers.",
            "example": "25.15.15.74,135.21.45.124"
          }
        }
      },
      "TicketBase": {
        "title": "TicketBase",
        "required": [
          "type_id",
          "subject",
          "priority"
        ],
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "incoming_customer_id": {
            "type": "number",
            "description": "Incoming customer ID",
            "example": 2
          },
          "reporter_id": {
            "type": "number",
            "example": 1
          },
          "reporter_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/reporter_type"
              },
              {
                "description": "Type of the reporter",
                "example": "admin"
              }
            ]
          },
          "hidden": {
            "type": "boolean",
            "description": "Is ticket hidden for customer",
            "example": false
          },
          "assign_to": {
            "type": "number",
            "description": "Admin ID to be assigned a ticket",
            "example": 0
          },
          "status_id": {
            "type": "number",
            "description": "Ticket status ID",
            "example": 1
          },
          "group_id": {
            "type": "number",
            "description": "Ticket group ID",
            "example": 3
          },
          "type_id": {
            "type": "number",
            "description": "Ticket type ID",
            "example": 2
          },
          "task_id": {
            "type": "number",
            "example": 1
          },
          "subject": {
            "type": "string",
            "description": "Ticket subject",
            "example": "Ticket subject"
          },
          "priority": {
            "type": "string",
            "description": "Ticket priority. Values: 'low', 'medium', 'high', 'urgent'",
            "example": "medium"
          },
          "star": {
            "type": "boolean",
            "description": "Is ticket starred",
            "example": false
          },
          "unread_by_customer": {
            "type": "boolean",
            "description": "Is ticket unread by customer",
            "example": false
          },
          "unread_by_admin": {
            "type": "boolean",
            "description": "Is ticket unread by administrator",
            "example": false
          },
          "closed": {
            "type": "boolean",
            "description": "Is ticket closed",
            "example": false
          },
          "created_at": {
            "type": "string",
            "description": "Ticket creating datetime",
            "example": "2018-11-09 10:28:34"
          },
          "updated_at": {
            "type": "string",
            "description": "Ticket updating datetime",
            "example": "2018-12-12 14:22:49"
          },
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/source1"
              },
              {
                "description": "Origin of the ticket",
                "example": "administration"
              }
            ]
          },
          "trash": {
            "type": "number",
            "example": 0
          },
          "shareable": {
            "type": "number",
            "example": 1
          },
          "note": {
            "type": "string",
            "example": "Note message"
          },
          "watching": {
            "type": "number",
            "example": 1
          },
          "related_account_id": {
            "type": "number",
            "description": "ID of the related account. Typically a sub-account, but can also be the main account if the ticket is created directly for it.",
            "example": 0
          },
          "related_account_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/related_account_type"
              },
              {
                "description": "Type of the related account\n    + Members\n        + `none`\n        + `main`\n        + `sub`",
                "example": "none"
              }
            ]
          },
          "hidden_from_related_account": {
            "type": "number",
            "description": "If set to 1, the ticket is hidden from the account specified in related_account_id. Value can be 0 (visible) or 1 (hidden)",
            "example": 0
          },
          "unread_by_related_account": {
            "type": "number",
            "description": "Indicates whether the account in related_account_id has unread messages in the ticket. Value can be 0 (read) or 1 (unread).",
            "example": 1
          }
        }
      },
      "TicketBaseCreate": {
        "title": "TicketBaseCreate",
        "allOf": [
          {
            "$ref": "#/components/schemas/TicketBase"
          },
          {
            "type": "object",
            "properties": {
              "lead_id": {
                "type": "number",
                "description": "Lead ID. Set it if you want create ticket for lead",
                "example": 0
              },
              "message": {
                "$ref": "#/components/schemas/TicketMessageBase"
              },
              "watchers": {
                "type": "array",
                "items": {
                  "type": "number"
                },
                "description": "Ticket watchers"
              },
              "moduleLabels": {
                "type": "array",
                "items": {
                  "type": "number"
                },
                "description": "Ticket labels"
              }
            }
          }
        ]
      },
      "TicketResponse": {
        "title": "TicketResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/TicketBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Ticket ID",
                "example": 1
              },
              "ticket_labels": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Customerlabel"
                },
                "description": "Array of ticket labels."
              }
            }
          }
        ]
      },
      "TicketId": {
        "title": "TicketId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Ticket ID.",
            "example": 1
          }
        }
      },
      "TicketMessageBase1": {
        "title": "TicketMessageBase1",
        "type": "object",
        "properties": {
          "ticket_id": {
            "type": "number",
            "description": "Ticket ID",
            "example": 1
          },
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 2
          },
          "incoming_customer_id": {
            "type": "number",
            "description": "Incoming customer ID",
            "example": 0
          },
          "admin_id": {
            "type": "number",
            "description": "Administrator ID",
            "example": 1
          },
          "api_id": {
            "type": "number",
            "description": "API key ID",
            "example": 0
          },
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/source2"
              },
              {
                "description": "Source of the message",
                "example": "administration"
              }
            ]
          },
          "date": {
            "type": "string",
            "example": "2021-01-10"
          },
          "time": {
            "type": "string",
            "example": "14:35:22"
          },
          "message": {
            "type": "string",
            "description": "Message text",
            "example": "Message content"
          },
          "rawMessage": {
            "type": "string",
            "example": "<i>Message content</i>"
          },
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TicketMessageFiles"
            },
            "description": "Attached files"
          },
          "is_merged": {
            "type": "boolean",
            "description": "Is message merged",
            "example": false
          },
          "can_be_deleted": {
            "type": "boolean",
            "description": "Is message can be deleted",
            "example": true
          },
          "hide_for_customer": {
            "type": "boolean",
            "description": "Is message hidden for customer",
            "example": false
          },
          "mail_to": {
            "type": "string",
            "example": "client@example.com"
          },
          "smsTo": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": ""
          },
          "mail_cc": {
            "type": "string",
            "description": "Forwarding Cc email"
          },
          "mail_bcc": {
            "type": "string",
            "description": "Forwarding Bcc email"
          },
          "author_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/author_type"
              },
              {
                "description": "Type of the author who created the message",
                "example": "admin"
              }
            ]
          }
        }
      },
      "TicketMessageBase": {
        "title": "TicketMessageBase",
        "type": "object",
        "properties": {
          "ticket_id": {
            "type": "number",
            "description": "Ticket ID",
            "example": 1
          },
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 2
          },
          "incoming_customer_id": {
            "type": "number",
            "description": "Incoming customer ID",
            "example": 0
          },
          "admin_id": {
            "type": "number",
            "description": "Administrator ID",
            "example": 1
          },
          "api_id": {
            "type": "number",
            "description": "API key ID",
            "example": 0
          },
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/source2"
              },
              {
                "description": "Source of the message",
                "example": "administration"
              }
            ]
          },
          "date": {
            "type": "string",
            "example": "2021-01-10"
          },
          "time": {
            "type": "string",
            "example": "14:35:22"
          },
          "message": {
            "type": "string",
            "description": "Message text",
            "example": "Message content"
          },
          "rawMessage": {
            "type": "string",
            "example": "<i>Message content</i>"
          },
          "files": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "cURL file instances to attach."
          },
          "is_merged": {
            "type": "boolean",
            "description": "Is message merged",
            "example": false
          },
          "can_be_deleted": {
            "type": "boolean",
            "description": "Is message can be deleted",
            "example": true
          },
          "hide_for_customer": {
            "type": "boolean",
            "description": "Is message hidden for customer",
            "example": false
          },
          "mail_to": {
            "type": "string",
            "example": "client@example.com"
          },
          "smsTo": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": ""
          },
          "mail_cc": {
            "type": "string",
            "description": "Forwarding Cc email"
          },
          "mail_bcc": {
            "type": "string",
            "description": "Forwarding Bcc email"
          },
          "author_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/author_type"
              },
              {
                "description": "Type of the author who created the message",
                "example": "admin"
              }
            ]
          }
        }
      },
      "TicketMessageResponse": {
        "title": "TicketMessageResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/TicketMessageBase1"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Ticket Message ID",
                "example": 1
              },
              "message_type": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/message_type"
                  },
                  {
                    "description": "Type of ticket message"
                  }
                ]
              },
              "author_name": {
                "type": "string",
                "description": "Display name of the message author (admin, customer, sub-account or API); \"System\" for system messages",
                "example": "John Doe"
              }
            }
          }
        ]
      },
      "TicketMessageId": {
        "title": "TicketMessageId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Ticket Message ID.",
            "example": 1
          }
        }
      },
      "TicketMessageFiles": {
        "title": "TicketMessageFiles",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "File ID",
            "example": 199
          },
          "type": {
            "type": "string",
            "description": "File type",
            "example": "ticket_attachment"
          },
          "filename_original": {
            "type": "string",
            "description": "Original filename",
            "example": "ticket_file.txt"
          },
          "filename_uploaded": {
            "type": "string",
            "description": "Uploaded filename",
            "example": "/var/www/splynx/uploads/ticket_attachment/2018-12/bf932f8491852129"
          },
          "content_type": {
            "type": "string",
            "description": "File content type. Returned only if url param `files_with_content` is true.",
            "example": "text/plain"
          },
          "content": {
            "type": "string",
            "description": "File content encoded in base64. Returned only if url param `files_with_content` is true.",
            "example": "bHNmamFsc2tkamZsa2FqZGZsYWoK"
          },
          "download_link": {
            "type": "string",
            "description": "A directly link to this file",
            "example": "https://yourdomain/a"
          },
          "has_thumbnail": {
            "type": "boolean",
            "description": "Whether this file has a thumbnail.",
            "example": true
          },
          "thumbnail_link": {
            "type": "string",
            "description": "A link to the file's thumbnail.",
            "example": "https://yourdomain/b"
          }
        }
      },
      "TicketStatusBase": {
        "title": "TicketStatusBase",
        "type": "object",
        "properties": {
          "title_for_agent": {
            "type": "string",
            "description": "Status for agent",
            "example": "ticket_agent_status"
          },
          "title_for_customer": {
            "type": "string",
            "description": "Status for customer",
            "example": "ticket_customer_status"
          },
          "label": {
            "type": "string",
            "description": "Label for status",
            "example": "success"
          },
          "mark": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Mark (one or more options)"
          },
          "icon": {
            "type": "string",
            "description": "Icon for dashboard",
            "example": "fa-tasks"
          },
          "view_on_dashboard": {
            "type": "boolean",
            "description": "View status on dashboard",
            "example": true
          }
        }
      },
      "TicketStatusResponse": {
        "title": "TicketStatusResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/TicketStatusBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Ticket Status ID",
                "example": 1
              }
            }
          }
        ]
      },
      "TicketGroupResponse": {
        "title": "TicketGroupResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Ticket group ID.",
            "example": 32
          },
          "title": {
            "type": "string",
            "description": "Ticket group title.",
            "example": "Alpha"
          },
          "description": {
            "type": "string",
            "description": "Description of ticket group.",
            "example": "Description"
          },
          "agent_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "IDs of admins those belong to the group."
          }
        }
      },
      "TicketTypeResponse": {
        "title": "TicketTypeResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Ticket type ID.",
            "example": 32
          },
          "title": {
            "type": "string",
            "description": "Ticket type title.",
            "example": "Alpha"
          },
          "background_color": {
            "type": "string",
            "description": "CSS class used for highlighting tickets of specific type in UI.",
            "example": "null"
          }
        }
      },
      "TicketAttachmentResponse": {
        "title": "TicketAttachmentResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Ticket Attachment ID",
            "example": 32
          },
          "type": {
            "type": "string",
            "description": "Attachment type.",
            "example": "ticket_attachment"
          },
          "filename_original": {
            "type": "string",
            "description": "Original filename of attachment.",
            "example": "rates.csv"
          },
          "filename_uploaded": {
            "type": "string",
            "description": "Filename of attachment on server.",
            "example": "0d76e3bfce7f60fb"
          },
          "message_id": {
            "type": "number",
            "description": "Message ID.",
            "example": 123
          },
          "content_type": {
            "type": "string",
            "description": "Type of attachment file.",
            "example": "text/plain"
          },
          "content": {
            "type": "string",
            "description": "Attachment content encoded in  base64 format",
            "example": "VBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlIC9QYWdlC..."
          },
          "download_link": {
            "type": "string",
            "description": "A directly link to this file",
            "example": "https://yourdomain/a"
          },
          "has_thumbnail": {
            "type": "boolean",
            "description": "Whether this file has a thumbnail.",
            "example": true
          },
          "thumbnail_link": {
            "type": "string",
            "description": "A link to the file's thumbnail.",
            "example": "https://yourdomain/b"
          },
          "size": {
            "type": "integer",
            "description": "Contains the uploaded file size in bytes as a value, without any formatting",
            "example": 1048576
          }
        }
      },
      "TicketAttachmentCreate": {
        "title": "TicketAttachmentCreate",
        "type": "object",
        "properties": {
          "files": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "cURL file instances to attach. Cannot be used together with file_ids."
          },
          "file_ids": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "IDs of pre-uploaded files (from chunked upload endpoint) to attach. Cannot be used together with files.",
            "example": [
              42
            ]
          }
        }
      },
      "ProjectBase": {
        "title": "ProjectBase",
        "required": [
          "title",
          "type_id",
          "category_id",
          "workflow_id"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Project title, min length: 3, max length: 64",
            "example": "Scheduling project 1"
          },
          "description": {
            "type": "string",
            "description": "Project description",
            "example": "My new project"
          },
          "type_id": {
            "type": "number",
            "description": "Type ID. You could find more details in [Project Types](#reference/config/scheduling-project-types-collection/list-all-scheduling-project-types) block.",
            "example": 1
          },
          "lead_id": {
            "type": "number",
            "description": "Admin ID",
            "example": 1
          },
          "category_id": {
            "type": "number",
            "description": "Category ID. You could find more details in [Project Categories](#reference/config/scheduling-project-categories-collection/list-all-scheduling-project-categories) block.",
            "example": 1
          },
          "workflow_id": {
            "type": "number",
            "description": "Workflow ID. You could find more details in [Project Workflow](#reference/config/scheduling-workflow-collection/list-all-scheduling-workflow) block.",
            "example": 1
          },
          "is_archive": {
            "type": "number",
            "example": 0
          },
          "partner_ids": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": ""
          }
        }
      },
      "ProjectsResponse": {
        "title": "ProjectsResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/ProjectBase"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Project ID",
                "example": 1
              }
            }
          }
        ]
      },
      "ProjectId": {
        "title": "ProjectId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Project ID",
            "example": 1
          }
        }
      },
      "TaskBase": {
        "title": "TaskBase",
        "required": [
          "title",
          "address",
          "partner_id",
          "project_id",
          "priority",
          "workflow_status_id"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Task title, min length: 3, max length: 64",
            "example": "Scheduling task 1"
          },
          "description": {
            "type": "string",
            "description": "Task description",
            "example": "My new project"
          },
          "reporter_id": {
            "type": "number",
            "example": 1
          },
          "address": {
            "type": "string",
            "description": "Address",
            "example": "3rd Street 2345"
          },
          "gps": {
            "type": "string",
            "description": "Valid coordinates",
            "example": "50.10676296991858,14.445095658302305"
          },
          "related_customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "related_lead_id": {
            "type": "number",
            "description": "Lead ID. If you set it related_customer_id will be removed.",
            "example": 0
          },
          "resolved_at": {
            "type": "string",
            "example": "2019-05-16 20:00:55"
          },
          "partner_id": {
            "type": "number",
            "description": "Partner ID",
            "example": 1
          },
          "project_id": {
            "type": "number",
            "description": "Project ID",
            "example": 1
          },
          "location_id": {
            "type": "number",
            "example": 1
          },
          "related_to_id": {
            "type": "number",
            "example": 1
          },
          "related_service_id": {
            "type": "number",
            "example": 1
          },
          "related_service_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/related_service_type"
              },
              {
                "description": "The type of service related to the task",
                "example": "internet"
              }
            ]
          },
          "created_at": {
            "type": "string",
            "description": "Date of task creating",
            "example": "2019-05-16 17:00:55"
          },
          "updated_at": {
            "type": "string",
            "example": "2019-05-16 20:00:55"
          },
          "priority": {
            "type": "string",
            "description": "Task priority: 'priority_low', 'priority_medium', 'priority_high'",
            "example": "priority_medium"
          },
          "assigned_to": {
            "allOf": [
              {
                "$ref": "#/components/schemas/assigned_to"
              },
              {
                "description": "The team or individual to whom the task is assigned"
              }
            ]
          },
          "assignee": {
            "type": "number",
            "example": 1
          },
          "assigned_at": {
            "type": "string",
            "example": "2024-11-04 16:33:18"
          },
          "is_scheduled": {
            "type": "boolean",
            "description": "Is Task Scheduled true or false",
            "example": true
          },
          "scheduled_from": {
            "type": "string",
            "description": "Shcheduled from date time",
            "example": "2019-05-16 18:00:55"
          },
          "formatted_duration": {
            "type": "string",
            "description": "Scheduled task duration format '0h 0m'",
            "example": "1h 25m"
          },
          "checklist_template_id": {
            "type": "number",
            "description": "Checklist template ID",
            "example": 1
          },
          "workflow_status_id": {
            "type": "number",
            "description": "Workflow status ID",
            "example": 1
          },
          "is_archived": {
            "type": "number",
            "description": "Is task archived. Valid values: 0, 1. Default: 0",
            "example": 0
          },
          "createdFromTicket": {
            "type": "boolean",
            "description": "If Task created from ticket true or false",
            "example": true
          },
          "task_labels": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of task labels (ids)."
          },
          "related_ticket_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/related_ticket_info"
              },
              {
                "description": "Will be set if task created from ticket"
              }
            ]
          },
          "travel_time_to": {
            "type": "number",
            "example": 0
          },
          "travel_time_from": {
            "type": "number",
            "example": 0
          },
          "closed": {
            "type": "number",
            "example": 0
          },
          "notification_send_interval": {
            "type": "number",
            "example": 0
          },
          "notification_enabled": {
            "type": "string",
            "example": "1"
          },
          "remaining": {
            "type": "number",
            "example": 0
          },
          "last_status_changed": {
            "type": "string",
            "example": "2024-04-15 11:06:45"
          },
          "watchers": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of task watchers IDs"
          }
        }
      },
      "TasksResponse": {
        "title": "TasksResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/TaskBase1"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Task ID",
                "example": 1
              }
            }
          }
        ]
      },
      "TaskId": {
        "title": "TaskId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Task ID",
            "example": 1
          }
        }
      },
      "RelatedTasks": {
        "title": "RelatedTasks",
        "required": [
          "from_id",
          "to_id"
        ],
        "type": "object",
        "properties": {
          "from_id": {
            "type": "number",
            "description": "Related task ID",
            "example": 9
          },
          "to_id": {
            "type": "number",
            "description": "Task ID",
            "example": 12
          }
        }
      },
      "TasksChecklistItem": {
        "title": "TasksChecklistItem",
        "type": "object",
        "properties": {
          "checklist_template_item": {
            "allOf": [
              {
                "$ref": "#/components/schemas/checklist_template_item"
              },
              {
                "description": "Checklist template item from selected checklist template"
              }
            ]
          },
          "tasks_item_status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tasks_item_status"
              },
              {
                "description": "Task checklist item status"
              }
            ]
          }
        }
      },
      "ChecklistRequest": {
        "title": "ChecklistRequest",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "ID of checklist template item",
            "example": 1
          },
          "checked": {
            "type": "boolean",
            "description": "IF checked true or false",
            "example": true
          }
        }
      },
      "WorklogBase": {
        "title": "WorklogBase",
        "required": [
          "task_id",
          "user_id",
          "time_spent"
        ],
        "type": "object",
        "properties": {
          "task_id": {
            "type": "number",
            "description": "ID of the task",
            "example": 1
          },
          "user_id": {
            "type": "number",
            "description": "ID of the user",
            "example": 1
          },
          "created_at": {
            "type": "string",
            "description": "Datetime of adding. Format: 'YYYY-MM-DD HH:II:SS'. Default value: current datetime",
            "example": "2019-06-18 12:32:59"
          },
          "started_at": {
            "type": "string",
            "description": "Datetime of starting. Format: 'YYYY-MM-DD HH:II:SS'. Default value: current datetime",
            "example": "2019-06-18 12:32:59"
          },
          "stopped_at": {
            "type": "string",
            "description": "Datetime of ending. Format: 'YYYY-MM-DD HH:II:SS'. Default value: current datetime",
            "example": "2019-06-18 12:32:59"
          },
          "is_manual": {
            "type": "boolean",
            "description": "Was the log added manually. Default value: false",
            "example": false
          },
          "time_spent": {
            "type": "number",
            "description": "Time spent in seconds",
            "example": 900
          },
          "description": {
            "type": "string",
            "description": "Worklogs description",
            "example": "Worklogs description"
          }
        }
      },
      "WorklogId": {
        "title": "WorklogId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Tasks worklog ID",
            "example": 1
          }
        }
      },
      "WorklogResponse": {
        "title": "WorklogResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/WorklogBase"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Worklog ID",
                "example": 1
              }
            }
          }
        ]
      },
      "Tasktimer": {
        "title": "Tasktimer",
        "required": [
          "action"
        ],
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "description": "Timer action: 'start', 'pause' or 'stop'",
            "example": "start"
          },
          "admin_id": {
            "type": "number",
            "description": "If auth is by API key you need to send administrator id",
            "example": 1
          }
        }
      },
      "CommentBase": {
        "title": "CommentBase",
        "required": [
          "task_id",
          "user_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "ID of tasks comment",
            "example": 1
          },
          "task_id": {
            "type": "number",
            "description": "ID of the task",
            "example": 1
          },
          "user_id": {
            "type": "number",
            "description": "ID of the user",
            "example": 1
          },
          "created_at": {
            "type": "string",
            "description": "Datetime of adding. Format: 'YYYY-MM-DD HH:II:SS'. Default value: current datetime",
            "example": "2019-06-18 12:32:59"
          },
          "comment": {
            "type": "string",
            "description": "Comment text",
            "example": "Some text"
          },
          "is_pinned": {
            "type": "number",
            "description": "Indicates whether the task is pinned or not. A value of 1 means the task is pinned, and a value of 0 means the task is not pinned.",
            "example": 0
          }
        }
      },
      "CommentCreate": {
        "title": "CommentCreate",
        "allOf": [
          {
            "$ref": "#/components/schemas/CommentBase"
          },
          {
            "type": "object",
            "properties": {
              "files": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "cURL file instances to attach. Cannot be used together with file_ids."
              },
              "file_ids": {
                "type": "array",
                "items": {
                  "type": "number"
                },
                "description": "IDs of pre-uploaded files (from chunked upload endpoint) to attach. Cannot be used together with files.",
                "example": [
                  42
                ]
              }
            }
          }
        ]
      },
      "TaskCommentAttachmentCreate": {
        "title": "TaskCommentAttachmentCreate",
        "type": "object",
        "properties": {
          "files": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "cURL file instances to attach."
          }
        }
      },
      "TaskAdditionalFieldFileUpload": {
        "title": "TaskAdditionalFieldFileUpload",
        "type": "object",
        "properties": {
          "additional_attributes[<field_name>]": {
            "type": "string",
            "format": "binary",
            "description": "cURL file instance to attach. The form-data field name must use the bracket form `additional_attributes[<field_name>]`, where `<field_name>` is the technical name of the configured File-type additional field on the Task entity. Max 50 MB, extension validated against the platform's allowed file types."
          }
        }
      },
      "CommentId": {
        "title": "CommentId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Tasks comment ID",
            "example": 1
          }
        }
      },
      "CommentResponse": {
        "title": "CommentResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/CommentBase"
          },
          {
            "type": "object",
            "properties": {
              "files": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/FilesAttachmentResponse"
                },
                "description": "List of comments attachments"
              }
            }
          }
        ]
      },
      "TaskCommentResponse": {
        "title": "TaskCommentResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/CommentResponse"
          },
          {
            "type": "object",
            "properties": {
              "is_edited": {
                "type": "string",
                "description": "Is edited. Default value: '0'",
                "example": "0"
              },
              "admin_name": {
                "type": "string",
                "description": "Name of administrator who left comment",
                "example": "Splynx admin"
              },
              "pinned_datetime": {
                "type": "string",
                "description": "Date and time when comment was pinned. Format: 'YYYY-MM-DD HH:MM:SS'",
                "example": "2025-09-01 12:56:39"
              }
            }
          }
        ]
      },
      "FilesAttachmentResponse1": {
        "title": "FilesAttachmentResponse1",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "File id",
            "example": 7
          },
          "hash_id": {
            "type": "string",
            "description": "Hash id",
            "example": "hash_id"
          },
          "type": {
            "type": "string",
            "description": "File type",
            "example": "scheduling_task_comment_attachment"
          },
          "filename_original": {
            "type": "string",
            "description": "Original file name",
            "example": "image.png"
          },
          "filename_uploaded": {
            "type": "string",
            "description": "Uploaded file name",
            "example": "uploaded/file/name"
          },
          "download_link": {
            "type": "string",
            "description": "Link for downloading from web",
            "example": "https://your.splynx.domain/files?id={hash_id}&type=files_upload"
          },
          "download_api_link": {
            "type": "string",
            "description": "Link for downloading via API",
            "example": "admin/config/download/scheduling_task_comment_attachment--{id}"
          },
          "download_all_api_link": {
            "type": "string",
            "description": "Link for downloading via API",
            "example": "admin/config/download/scheduling_task_comment_attachment--{task_id}--all"
          },
          "task_id": {
            "type": "number",
            "description": "ID of task",
            "example": 5
          },
          "comment_id": {
            "type": "number",
            "description": "ID of comment. Will be set if this file had been added for a comment",
            "example": 1
          },
          "has_thumbnail": {
            "type": "boolean",
            "description": "Whether this file has a thumbnail.",
            "example": true
          },
          "thumbnail_link": {
            "type": "string",
            "description": "Link for thumbnail",
            "example": "your.splynx.domen/files--thumbnail?id={hash_id}&type=files_upload"
          }
        }
      },
      "TasksAttachmentResponse": {
        "title": "TasksAttachmentResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/FilesAttachmentResponse1"
          },
          {
            "type": "object",
            "properties": {
              "size": {
                "type": "string",
                "description": "Contains the uploaded file size in bytes as an value, without any formatting",
                "example": "1048576"
              }
            }
          }
        ]
      },
      "FilesAttachmentResponse": {
        "title": "FilesAttachmentResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "File id",
            "example": 7
          },
          "hash_id": {
            "type": "string",
            "description": "Hash id",
            "example": "hash_id"
          },
          "type": {
            "type": "string",
            "description": "File type",
            "example": "scheduling_task_comment_attachment"
          },
          "filename_original": {
            "type": "string",
            "description": "Original file name",
            "example": "image.png"
          },
          "filename_uploaded": {
            "type": "string",
            "description": "Uploaded file name",
            "example": "uploaded/file/name"
          },
          "download_link": {
            "type": "string",
            "description": "Link for downloading from web",
            "example": "https://your.splynx.domain/files?id={hash_id}&type=files_upload"
          },
          "download_api_link": {
            "type": "string",
            "description": "Link for downloading via API",
            "example": "admin/config/download/scheduling_task_comment_attachment--{id}"
          },
          "download_all_api_link": {
            "type": "string",
            "description": "Link for downloading via API",
            "example": "admin/config/download/scheduling_task_comment_attachment--{task_id}--all"
          },
          "task_id": {
            "type": "number",
            "description": "ID of task",
            "example": 5
          },
          "comment_id": {
            "type": "number",
            "description": "ID of comment",
            "example": 1
          },
          "has_thumbnail": {
            "type": "boolean",
            "description": "Whether this file has a thumbnail.",
            "example": true
          },
          "thumbnail_link": {
            "type": "string",
            "description": "Link for thumbnail",
            "example": "your.splynx.domen/files--thumbnail?id={hash_id}&type=files_upload"
          }
        }
      },
      "AttachmentContentResponse": {
        "title": "AttachmentContentResponse",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "File name",
            "example": "file_name.png"
          },
          "content_type": {
            "type": "string",
            "description": "File content type",
            "example": "image/png"
          },
          "content": {
            "type": "string",
            "description": "Attachment content encoded in base64 format",
            "example": "VBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlIC9QYWdlC..."
          }
        }
      },
      "AttachmentArchiveResponse": {
        "title": "AttachmentArchiveResponse",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "File name",
            "example": "scheduling_task_comment_attachment_26.zip"
          },
          "content_type": {
            "type": "string",
            "description": "File content type",
            "example": "application/zip"
          },
          "content": {
            "type": "string",
            "description": "Archive content encoded in base64 format",
            "example": "VBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlIC9QYWdlC..."
          }
        }
      },
      "Attachmentadd": {
        "title": "Attachmentadd",
        "required": [
          "task_id",
          "user_id"
        ],
        "type": "object",
        "properties": {
          "task_id": {
            "type": "number",
            "description": "ID of the desired task",
            "example": 1
          },
          "user_id": {
            "type": "number",
            "description": "Administrator ID that gives the file",
            "example": 1
          },
          "files": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "cURL file instances to attach. Cannot be used together with file_ids."
          },
          "file_ids": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "IDs of pre-uploaded files (from chunked upload endpoint) to attach. Cannot be used together with files.",
            "example": [
              42,
              43
            ]
          }
        }
      },
      "Attachmentsresponse": {
        "title": "Attachmentsresponse",
        "type": "object",
        "properties": {
          "files": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "IDs of added files"
          }
        }
      },
      "TasksActivityResponse": {
        "title": "TasksActivityResponse",
        "type": "object",
        "properties": {
          "task_id": {
            "type": "number",
            "description": "ID of task",
            "example": 1
          },
          "activity_items_count": {
            "type": "number",
            "description": "The number of all activity items of the task",
            "example": 20
          },
          "activity_items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TasksActivityItemsResponse"
            },
            "description": "List of activity items for task"
          }
        }
      },
      "TasksActivityItemsResponse": {
        "title": "TasksActivityItemsResponse",
        "type": "object",
        "properties": {
          "model": {
            "type": "string",
            "description": "Activity items model",
            "example": "models\\admin\\scheduling\\task\\SchedulingTaskComment"
          },
          "action": {
            "type": "string",
            "description": "Activity items action",
            "example": "create"
          },
          "source": {
            "type": "string",
            "description": "Source. Can be 'api', 'admin' and 'system'",
            "example": "api"
          },
          "autor_name": {
            "type": "string",
            "description": "Author name. Can be name of admin, api key or 'System'",
            "example": "Splynx test API key"
          },
          "autor_id": {
            "type": "number",
            "description": "Author ID. Can be ID of admin, api key or empty when source is system",
            "example": 2
          },
          "date": {
            "type": "string",
            "description": "Date of action",
            "example": "2019-06-19"
          },
          "time": {
            "type": "string",
            "description": "Time of action",
            "example": "16:52:16"
          },
          "attributes_for_content": {
            "$ref": "#/components/schemas/TasksActivityItemsAttributes"
          }
        }
      },
      "TasksActivityItemsAttributes": {
        "title": "TasksActivityItemsAttributes",
        "type": "object",
        "properties": {
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FilesAttachmentResponse1"
            },
            "description": "List of comments attachments"
          },
          "comment": {
            "type": "string",
            "description": "Comment text",
            "example": "'Test comment creating for activity'"
          }
        }
      },
      "CallBase": {
        "title": "CallBase",
        "required": [
          "start",
          "stop",
          "customer_id",
          "service_id"
        ],
        "type": "object",
        "properties": {
          "start": {
            "type": "string",
            "description": "Call start date",
            "example": "2018-01-20 12:56:39"
          },
          "stop": {
            "type": "string",
            "description": "Call end date",
            "example": "2018-01-20 13:00:35"
          },
          "call_to": {
            "type": "string",
            "description": "Call destination phone number",
            "example": "555-0134"
          },
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 19
          },
          "service_id": {
            "type": "number",
            "description": "Voice service ID",
            "example": 40
          },
          "transaction_id": {
            "type": "number",
            "description": "Transaction ID",
            "example": 137
          },
          "category": {
            "type": "number",
            "description": "Voice category ID. You can find valid values on Dashboard Voice/Categories",
            "example": 3
          },
          "source": {
            "type": "string",
            "description": "Caller phone number",
            "example": "555-0134"
          },
          "sell_price": {
            "type": "number",
            "description": "Sell price",
            "example": 0
          },
          "buy_price": {
            "type": "number",
            "description": "Buy price",
            "example": 0
          },
          "rate_buy_price": {
            "type": "number",
            "description": "Rate buy price",
            "example": 0
          },
          "comment": {
            "type": "string",
            "description": "Comment",
            "example": "comment"
          },
          "is_price_from_import": {
            "type": "number",
            "description": "Is price from import. Values: 0 or 1",
            "example": 0
          }
        }
      },
      "CallId": {
        "title": "CallId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Call ID.",
            "example": 1
          }
        }
      },
      "CallResponse": {
        "title": "CallResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/CallBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Call ID.",
                "example": 1
              },
              "customer_login": {
                "type": "string",
                "description": "Customer login"
              },
              "customer_name": {
                "type": "string",
                "description": "Customer name"
              },
              "amount": {
                "type": "number",
                "description": "Amount"
              },
              "sell_price_total": {
                "type": "number",
                "description": "Sell price total",
                "example": 0
              },
              "buy_price_total": {
                "type": "number",
                "description": "Buy price total",
                "example": 0
              }
            }
          }
        ]
      },
      "DataBase": {
        "title": "DataBase",
        "required": [
          "datetime",
          "customer_id",
          "service_id"
        ],
        "type": "object",
        "properties": {
          "datetime": {
            "type": "string",
            "description": "Date",
            "example": "2018-01-20 12:56:39"
          },
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 19
          },
          "service_id": {
            "type": "number",
            "description": "Voice service ID",
            "example": 40
          },
          "transaction_id": {
            "type": "number",
            "description": "Transaction ID",
            "example": 137
          },
          "category": {
            "type": "number",
            "description": "Voice category ID. You can find valid values on Dashboard Voice/Categories",
            "example": 3
          },
          "source": {
            "type": "string",
            "description": "Data source phone number",
            "example": "555-0134"
          },
          "amount": {
            "type": "number",
            "description": "Amount",
            "example": 45797638
          },
          "sell_price": {
            "type": "number",
            "description": "Sell price",
            "example": 0
          },
          "buy_price": {
            "type": "number",
            "description": "Buy price",
            "example": 0
          },
          "rate_buy_price": {
            "type": "number",
            "description": "Rate buy price",
            "example": 0
          },
          "comment": {
            "type": "string",
            "description": "Comment",
            "example": "comment"
          },
          "is_price_from_import": {
            "type": "number",
            "description": "Is price from import. Values: 0 or 1",
            "example": 0
          }
        }
      },
      "DataId": {
        "title": "DataId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Data ID.",
            "example": 1
          }
        }
      },
      "DataResponse": {
        "title": "DataResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/DataBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Data ID.",
                "example": 1
              },
              "customer_login": {
                "type": "string",
                "description": "Customer login"
              },
              "customer_name": {
                "type": "string",
                "description": "Customer name"
              },
              "sell_price_total": {
                "type": "number",
                "description": "Sell price total",
                "example": 0
              },
              "buy_price_total": {
                "type": "number",
                "description": "Buy price total",
                "example": 0
              }
            }
          }
        ]
      },
      "MessageBase": {
        "title": "MessageBase",
        "required": [
          "send_at",
          "customer_id",
          "service_id"
        ],
        "type": "object",
        "properties": {
          "send_at": {
            "type": "string",
            "description": "Send date",
            "example": "2018-01-20 12:56:39"
          },
          "destination": {
            "type": "string",
            "description": "Message Destination"
          },
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 19
          },
          "service_id": {
            "type": "number",
            "description": "Voice service ID",
            "example": 40
          },
          "transaction_id": {
            "type": "number",
            "description": "Transaction ID",
            "example": 137
          },
          "category": {
            "type": "number",
            "description": "Voice category ID. You can find valid values on Dashboard Voice/Categories",
            "example": 3
          },
          "source": {
            "type": "string",
            "description": "Message source phone number",
            "example": "555-0134"
          },
          "amount": {
            "type": "number",
            "description": "Amount",
            "example": 45797638
          },
          "sell_price": {
            "type": "number",
            "description": "Sell price",
            "example": 0
          },
          "buy_price": {
            "type": "number",
            "description": "Buy price",
            "example": 0
          },
          "rate_buy_price": {
            "type": "number",
            "description": "Rate buy price",
            "example": 0
          },
          "comment": {
            "type": "string",
            "description": "Comment",
            "example": "comment"
          },
          "is_price_from_import": {
            "type": "number",
            "description": "Is price from import. Values: 0 or 1",
            "example": 0
          }
        }
      },
      "MessageId": {
        "title": "MessageId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Data ID.",
            "example": 1
          }
        }
      },
      "MessageResponse": {
        "title": "MessageResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/MessageBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Data ID.",
                "example": 1
              },
              "customer_login": {
                "type": "string",
                "description": "Customer login"
              },
              "customer_name": {
                "type": "string",
                "description": "Customer name"
              },
              "sell_price_total": {
                "type": "number",
                "description": "Sell price total",
                "example": 0
              },
              "buy_price_total": {
                "type": "number",
                "description": "Buy price total",
                "example": 0
              }
            }
          }
        ]
      },
      "LocationBase": {
        "title": "LocationBase",
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Location's name",
            "example": "Alpha"
          },
          "tax_for_tariff_bundle": {
            "type": "number",
            "description": "Default tax for any bundle in this location",
            "example": 1
          },
          "tax_for_tariff_internet": {
            "type": "number",
            "description": "Default tax for any internet tariff & related top-ups in this location",
            "example": 1
          },
          "tax_for_tariff_voice": {
            "type": "number",
            "description": "Default tax for any voice tariff in this location",
            "example": 1
          },
          "tax_for_tariff_recurring": {
            "type": "number",
            "description": "Default tax for any recurring tariff in this location",
            "example": 1
          },
          "tax_for_tariff_onetime": {
            "type": "number",
            "description": "Default tax for any one-time tariff in this location",
            "example": 1
          },
          "tax_for_inventory_items": {
            "type": "number",
            "description": "Default tax for any inventory item in this location",
            "example": 1
          }
        }
      },
      "LocationResponse": {
        "title": "LocationResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/LocationBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Location ID",
                "example": 1
              }
            }
          }
        ]
      },
      "LocationId": {
        "title": "LocationId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Location ID",
            "example": 1
          }
        }
      },
      "AdministratorBase": {
        "title": "AdministratorBase",
        "required": [
          "login",
          "name",
          "email"
        ],
        "type": "object",
        "properties": {
          "partner_id": {
            "type": "number",
            "description": "Partners ID",
            "example": 1
          },
          "role_name": {
            "type": "string",
            "description": "Administrator`s role name 'administrator', 'super-administrator', 'customer-creator', etc. You can get it at page \"Administration / Roles\".",
            "example": "administrator"
          },
          "login": {
            "type": "string",
            "description": "Administrator's login",
            "example": "main"
          },
          "name": {
            "type": "string",
            "description": "Administrator's name",
            "example": "Main"
          },
          "email": {
            "type": "string",
            "description": "Administrator's email",
            "example": "main@email.com"
          },
          "timeout": {
            "type": "number",
            "description": "Timeout",
            "example": 1200
          },
          "router_access": {
            "type": "string",
            "description": "Router access",
            "example": "none"
          },
          "phone": {
            "type": "string",
            "description": "Phone",
            "example": "+420123456879"
          },
          "avatar_api_url": {
            "type": "string",
            "description": "If administrator has avatar here will be url for downloading it via api",
            "example": "admin/config/download/admins_avatar--1"
          },
          "download_avatar_link": {
            "type": "string",
            "description": "If administrator has avatar here will be link for downloading",
            "example": "https://yourdomain/files?id=1&type=admins_avatar"
          },
          "send_from_my_name": {
            "type": "string",
            "example": "0"
          },
          "calendar_color": {
            "type": "string",
            "description": "Color of calendar",
            "example": "#FF0000"
          }
        }
      },
      "AdministratorRequest": {
        "title": "AdministratorRequest",
        "allOf": [
          {
            "$ref": "#/components/schemas/AdministratorBase"
          },
          {
            "required": [
              "password"
            ],
            "type": "object",
            "properties": {
              "password": {
                "type": "string",
                "description": "Administrator`s password",
                "example": "fv5d42fe1"
              }
            }
          }
        ]
      },
      "AdministratorResponse": {
        "title": "AdministratorResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/AdministratorBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Administrator ID",
                "example": 1
              }
            }
          }
        ]
      },
      "AdministratorRetrieveResponse": {
        "title": "AdministratorRetrieveResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/AdministratorResponse"
          },
          {
            "type": "object",
            "properties": {
              "otp_secret": {
                "type": "string",
                "description": "One-time password (OTP) secret key",
                "example": "abc123"
              }
            }
          }
        ]
      },
      "AdministratorId": {
        "title": "AdministratorId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Administrator ID",
            "example": 1
          }
        }
      },
      "PartnerBase": {
        "title": "PartnerBase",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Partner name"
          }
        }
      },
      "PartnerResponse": {
        "title": "PartnerResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Partner ID",
            "example": 1
          },
          "name": {
            "type": "string",
            "description": "Partner`s name",
            "example": "partner_name"
          }
        }
      },
      "PartnerId": {
        "title": "PartnerId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Partner ID",
            "example": 1
          }
        }
      },
      "ChangestatusesplansResponse": {
        "title": "ChangestatusesplansResponse",
        "type": "object",
        "properties": {
          "service_id": {
            "type": "number",
            "description": "Service ID",
            "example": 5
          },
          "old_status": {
            "type": "string",
            "description": "Old status of Customer",
            "example": "active"
          },
          "new_status": {
            "type": "string",
            "description": "New status of Customer",
            "example": "blocked"
          },
          "date": {
            "type": "string",
            "description": "Date of event",
            "example": "2018-07-10"
          },
          "time": {
            "type": "string",
            "description": "Time of event",
            "example": "10:20:15"
          },
          "tariff_type": {
            "type": "string",
            "description": "Type of Service tariff. Possible tariff types: `internet`, `voice` or `custom`.",
            "example": "internet"
          },
          "old_tariff": {
            "type": "string",
            "description": "Old Service tariff ID",
            "example": "1"
          },
          "new_tariff": {
            "type": "string",
            "description": "New Service tariff ID",
            "example": "2"
          },
          "administrator_id": {
            "type": "number",
            "description": "Administrator ID who changed Customer status or Service tariff",
            "example": 10
          }
        }
      },
      "PendingstatusBase": {
        "title": "PendingstatusBase",
        "required": [
          "customer_id",
          "date",
          "status"
        ],
        "type": "object",
        "properties": {
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "date": {
            "type": "string",
            "description": "Date when status activated or will be activated",
            "example": "2018-08-01"
          },
          "status": {
            "type": "string",
            "description": "New status of Customer",
            "example": "blocked"
          }
        }
      },
      "PendingstatusResponse": {
        "title": "PendingstatusResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/PendingstatusBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Record ID",
                "example": 1
              },
              "done": {
                "type": "string",
                "description": "Status activated or not?",
                "example": "0"
              },
              "administrator_id": {
                "type": "number",
                "description": "Administrator ID, who created this record",
                "example": 1
              }
            }
          }
        ]
      },
      "PendingstatusId": {
        "title": "PendingstatusId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Pending status record ID",
            "example": 1
          }
        }
      },
      "PendingservicesResponse": {
        "title": "PendingservicesResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Service ID",
            "example": 1
          },
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 10
          },
          "tariff_id": {
            "type": "number",
            "description": "Service Tariff ID",
            "example": 2
          },
          "description": {
            "type": "string",
            "description": "Service description",
            "example": "Service #1"
          },
          "unit_price": {
            "type": "number",
            "description": "Service price",
            "example": 10
          },
          "start_date": {
            "type": "string",
            "description": "Service start date",
            "example": "2018-07-01"
          },
          "type": {
            "type": "string",
            "description": "Service type",
            "example": "internet"
          }
        }
      },
      "AdditionalFieldBase": {
        "title": "AdditionalFieldBase",
        "required": [
          "name",
          "title",
          "type",
          "is_required",
          "is_unique",
          "is_add",
          "show_in_list",
          "searchable",
          "readonly",
          "disabled"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Field name",
            "example": "remark"
          },
          "title": {
            "type": "string",
            "description": "Field title",
            "example": "Remark"
          },
          "type": {
            "type": "string",
            "description": "Type. Values: 'string' for 'String', 'integer' for 'Integer', 'decimal' for 'Decimal', 'numeric' for 'Numeric', 'date' for 'Date', 'datetime' for 'Datetime', 'boolean' for 'Boolean', 'select' for 'Select', 'select_multiple' for 'Select multiple', 'password' for 'Password', 'file' for 'File', 'relation' for 'Relation' and 'relation_multiple' for 'Relation multiple'",
            "example": "string"
          },
          "position": {
            "type": "number",
            "description": "Position",
            "example": 1
          },
          "default_value": {
            "type": "string",
            "description": "Default value",
            "example": "none"
          },
          "min_length": {
            "type": "string",
            "description": "Min",
            "example": "1"
          },
          "max_length": {
            "type": "string",
            "description": "Max",
            "example": "128"
          },
          "is_required": {
            "type": "number",
            "description": "Required. Values: 0 or 1",
            "example": 0
          },
          "is_unique": {
            "type": "number",
            "description": "Unique. Values: 0 or 1",
            "example": 0
          },
          "is_add": {
            "type": "number",
            "description": "Add. Values: 0 or 1",
            "example": 1
          },
          "show_in_list": {
            "type": "number",
            "description": "Show in list. Values: 0 or 1",
            "example": 0
          },
          "searchable": {
            "type": "number",
            "description": "Searchable. Values: 0 or 1",
            "example": 0
          },
          "readonly": {
            "type": "number",
            "description": "Readonly. Values: 0 or 1",
            "example": 0
          },
          "disabled": {
            "type": "number",
            "description": "Disabled. Values: 0 or 1",
            "example": 0
          },
          "hidden": {
            "type": "number",
            "description": "Hidden. Values: 0 or 1",
            "example": 0
          },
          "select_values": {
            "type": "string",
            "description": "Select values separated by comma. Required for AF with select types"
          },
          "relation_module": {
            "type": "string",
            "description": "Relation module name. Can be any of modules (look in Parameters). Required for AF with select types"
          },
          "set_default_value": {
            "type": "number",
            "description": "Set default value for all items. Values: 0 or 1",
            "example": 1
          },
          "addon": {
            "type": "string",
            "description": "Addon"
          },
          "addon_uri": {
            "type": "string",
            "description": "Addon URI"
          },
          "addon_input_type": {
            "type": "string",
            "description": "Addon input type. Values: '', 'button', 'text', 'text_plus_button'. Default: ''"
          },
          "decimals": {
            "type": "number",
            "description": "Decimals. Default: 2. Required for AF with decimal type",
            "example": 2
          }
        }
      },
      "AdditionalFieldName": {
        "title": "AdditionalFieldName",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Additional Field name",
            "example": "remark"
          }
        }
      },
      "ModuleBase": {
        "title": "ModuleBase",
        "required": [
          "name",
          "title",
          "root",
          "type",
          "module"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name",
            "example": "access_points"
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "AP"
          },
          "root": {
            "type": "string",
            "description": "Root. Values: 'controllers\\admin\\CustomersController', 'controllers\\admin\\FinanceController' and 'controllers\\admin\\NetworkingController'",
            "example": "controllers\\admin\\NetworkingController"
          },
          "type": {
            "type": "string",
            "description": "Type. Values: 'simple' or 'extended'",
            "example": "simple"
          },
          "module": {
            "type": "string",
            "description": "Module name",
            "example": "splynx_access_points"
          },
          "icon": {
            "type": "string",
            "description": "Icon",
            "example": "icon-wifi"
          },
          "title_attribute_prefix": {
            "type": "string",
            "description": "Title attribute prefix",
            "example": "splynx_access_points_"
          },
          "title_attribute_suffix": {
            "type": "string",
            "description": "Title attribute suffix",
            "example": "_title"
          },
          "status": {
            "type": "number",
            "description": "Status. Values: 0 or 1",
            "example": 1
          }
        }
      },
      "ModuleName": {
        "title": "ModuleName",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Module name",
            "example": "access_points"
          }
        }
      },
      "ModuleitemBase": {
        "title": "ModuleitemBase",
        "required": [
          "additional_attributes"
        ],
        "type": "object",
        "properties": {
          "additional_attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ModuleAdditionalFields"
            },
            "description": "Module item fields"
          }
        }
      },
      "ModuleitemResponse": {
        "title": "ModuleitemResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/ModuleitemBase"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Module item ID",
                "example": 1
              }
            }
          }
        ]
      },
      "ModuleitemId": {
        "title": "ModuleitemId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Module item ID",
            "example": 1
          }
        }
      },
      "ModuleAdditionalFields": {
        "title": "ModuleAdditionalFields",
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Title",
            "example": "Main AP"
          },
          "ip": {
            "type": "string",
            "description": "IP",
            "example": "192.168.1.145"
          }
        }
      },
      "EntryPointResponse": {
        "title": "EntryPointResponse",
        "required": [
          "module",
          "place",
          "type",
          "size",
          "name",
          "location"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "ID of the Entry Point",
            "example": 1
          },
          "module": {
            "type": "string",
            "description": "Module name of the Entry Point",
            "example": "splynx_paypal_addon"
          },
          "place": {
            "allOf": [
              {
                "$ref": "#/components/schemas/place"
              },
              {
                "description": "Where the Entry Point placed",
                "example": "'portal'"
              }
            ]
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/type3"
              },
              {
                "description": "Type of the Entry Point",
                "example": "action_link"
              }
            ]
          },
          "size": {
            "allOf": [
              {
                "$ref": "#/components/schemas/size"
              },
              {
                "description": "Modal window size. Used only for Entry Points with type `action_link`.",
                "example": "large"
              }
            ]
          },
          "title": {
            "type": "string",
            "description": "Title of the Entry Point",
            "example": "Pay by Paypal"
          },
          "root": {
            "type": "string",
            "description": "Root path to controller. Required only if type is not `action_link`. For mobile Entry Points use one of the dashboard section roots: `mobile_dashboard_banners`, `mobile_dashboard_referral`.",
            "example": "controllers\\portal\\DashboardController"
          },
          "model": {
            "type": "string",
            "description": "Model for attaching given Entry Point. Required only for type `action_link`.",
            "example": "Invoices"
          },
          "icon": {
            "type": "string",
            "description": "Icon which shows in actions list or menu",
            "example": "fa-university"
          },
          "background": {
            "type": "string",
            "description": "Background of menu link",
            "example": "#d88386"
          },
          "url": {
            "type": "string",
            "description": "Url that will be opened by click of the Entry Point. Required only if type is not `code`.",
            "example": "/paypal/pay-invoice"
          },
          "code": {
            "type": "string",
            "description": "Code of the Entry Point. Required only if type is `code`."
          },
          "partners": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Partners IDs who have access to this Entry Point"
          },
          "name": {
            "type": "string",
            "description": "Name of the Entry Point",
            "example": "paypal_rb_invoice"
          },
          "location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/location"
              },
              {
                "description": "Location where the Entry Point code placed.",
                "example": "after_content"
              }
            ]
          },
          "order": {
            "type": "integer",
            "description": "Sort order of the Entry Point within its root. Used for mobile Entry Points, where it starts from 1 and, when omitted on save, is auto-filled with the next value after the highest existing order in the root (max + 1).",
            "example": 1
          },
          "enabled": {
            "type": "boolean",
            "description": "The Entry Point is enabled?",
            "example": true
          },
          "location_geo": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Splynx locations for which this Entry Point is allowed."
          },
          "payment_type": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Payment methods for which this Entry Point is allowed."
          },
          "payment_account_id": {
            "type": "string",
            "description": "Payment account ID for which this Entry Point is allowed."
          }
        }
      },
      "TemplateBase": {
        "title": "TemplateBase",
        "required": [
          "title",
          "type"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Unique title of template",
            "example": "Template title"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/type4"
              },
              {
                "description": "Template category",
                "example": "mail"
              }
            ]
          },
          "subject": {
            "type": "string",
            "example": "Template subject"
          },
          "description": {
            "type": "string",
            "example": "Template description"
          },
          "code": {
            "type": "string",
            "description": "HTML",
            "example": "Template body"
          }
        }
      },
      "TemplateId": {
        "title": "TemplateId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Template ID",
            "example": 1
          }
        }
      },
      "TemplateResponse": {
        "title": "TemplateResponse",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Template ID",
            "example": 1
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "Template title"
          },
          "type": {
            "type": "string",
            "description": "Type",
            "example": "mail"
          },
          "description": {
            "type": "string",
            "description": "Description",
            "example": "About template"
          },
          "subject": {
            "type": "string",
            "description": "Message subject",
            "example": "Template subject"
          },
          "code": {
            "type": "string",
            "description": "HTML code for template",
            "example": "Template body"
          }
        }
      },
      "SmsBase": {
        "title": "SmsBase",
        "required": [
          "type",
          "recipient",
          "message"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Sms type: 'message', 'test', 'monitoring', 'add-on', 'ticket'.",
            "example": "message"
          },
          "message_id": {
            "type": "number",
            "description": "Message ID.",
            "example": 10
          },
          "customer_id": {
            "type": "number",
            "description": "Customer ID.",
            "example": 1
          },
          "status": {
            "type": "string",
            "description": "Sms status: 'new', 'sending', 'sent', 'error', 'expired'. Default value 'new'.",
            "example": "sent"
          },
          "priority": {
            "type": "number",
            "description": "Sms priority: 1 - Low, 2 - Medium, 3 - High. Default: 2",
            "example": 2
          },
          "datetime_added": {
            "type": "string",
            "description": "Added datetime. Format: 'YYYY-MM-DD HH:MM:SS'.",
            "example": "2017-01-01 00:00:00"
          },
          "datetime_start_sending": {
            "type": "string",
            "description": "Sending datetime. Format: 'YYYY-MM-DD HH:MM:SS'.",
            "example": "2017-01-01 00:00:00"
          },
          "datetime_sent": {
            "type": "string",
            "description": "Sent datetime. Format: 'YYYY-MM-DD HH:MM:SS'.",
            "example": "2017-01-01 00:00:00"
          },
          "recipient": {
            "type": "string",
            "description": "Recipient phone.",
            "example": "38094736578"
          },
          "message": {
            "type": "string",
            "description": "Sms message.",
            "example": "Sms message."
          },
          "admin_id": {
            "type": "number",
            "description": "Admin ID.",
            "example": 1
          },
          "notification_category": {
            "type": "string",
            "enum": [
              "billing_and_payments",
              "service_and_support",
              "promotions_and_offers",
              "sub_accounts",
              "account_and_security",
              "administrative_notification"
            ],
            "nullable": true,
            "description": "Customer notification",
            "example": "billing_and_payments"
          }
        }
      },
      "SmsResponse": {
        "title": "SmsResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/SmsBase"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Sms ID",
                "example": 1
              }
            }
          }
        ]
      },
      "SmsId": {
        "title": "SmsId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Sms ID",
            "example": 1
          }
        }
      },
      "EmailBase": {
        "title": "EmailBase",
        "required": [
          "type",
          "subject",
          "recipient",
          "message"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Email type: 'message', 'test', 'monitoring', 'add-on', 'ticket'.",
            "example": "message"
          },
          "subject": {
            "type": "string",
            "description": "Email subject.",
            "example": "Reminder 1"
          },
          "message_id": {
            "type": "number",
            "description": "Message ID.",
            "example": 50
          },
          "bcc": {
            "type": "string",
            "description": "BCC Email copy.",
            "example": "template@mail.box,template2@mail.box"
          },
          "cc": {
            "type": "string",
            "description": "CC Email copy.",
            "example": "template@mail.box,template2@mail.box"
          },
          "customer_id": {
            "type": "number",
            "description": "Customer ID.",
            "example": 1
          },
          "from": {
            "type": "string",
            "description": "Email address used at the time of sending.",
            "example": "info@splynx.com"
          },
          "status": {
            "type": "string",
            "description": "Email status: 'new', 'sending', 'sent', 'error', 'expired'. Default value 'new'.",
            "example": "sent"
          },
          "priority": {
            "type": "number",
            "description": "Email priority: 1 - Low, 2 - Medium, 3 - High. Default: 2",
            "example": 2
          },
          "datetime_added": {
            "type": "string",
            "description": "Added datetime. Format: 'YYYY-MM-DD HH:MM:SS'.",
            "example": "2017-01-01 00:00:00"
          },
          "datetime_start_sending": {
            "type": "string",
            "description": "Sending datetime. Format: 'YYYY-MM-DD HH:MM:SS'.",
            "example": "2017-01-01 00:00:00"
          },
          "datetime_sent": {
            "type": "string",
            "description": "Sent datetime. Format: 'YYYY-MM-DD HH:MM:SS'.",
            "example": "2017-01-01 00:00:00"
          },
          "recipient": {
            "type": "string",
            "description": "Recipient email.",
            "example": "recipient@splynx.com"
          },
          "message": {
            "type": "string",
            "description": "Email message.",
            "example": "Email message"
          },
          "sendCopy": {
            "type": "boolean",
            "description": "Send copy this mail to email from config",
            "example": true
          },
          "admin_id": {
            "type": "number",
            "description": "Admin ID.",
            "example": 1
          },
          "notification_category": {
            "type": "string",
            "enum": [
              "billing_and_payments",
              "service_and_support",
              "promotions_and_offers",
              "sub_accounts",
              "account_and_security",
              "administrative_notification"
            ],
            "nullable": true,
            "description": "Customer notification",
            "example": "billing_and_payments"
          }
        }
      },
      "EmailBaseCreate": {
        "title": "EmailBaseCreate",
        "required": [
          "type",
          "subject",
          "recipient",
          "message"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Email type: 'message', 'test', 'monitoring', 'add-on', 'ticket'.",
            "example": "message"
          },
          "subject": {
            "type": "string",
            "description": "Email subject.",
            "example": "Reminder 1"
          },
          "message_id": {
            "type": "number",
            "description": "Message ID.",
            "example": 50
          },
          "bcc": {
            "type": "string",
            "description": "BCC Email copy.",
            "example": "template@mail.box,template2@mail.box"
          },
          "cc": {
            "type": "string",
            "description": "CC Email copy.",
            "example": "template@mail.box,template2@mail.box"
          },
          "customer_id": {
            "type": "number",
            "description": "Customer ID.",
            "example": 1
          },
          "from": {
            "type": "string",
            "description": "Email address used at the time of sending.",
            "example": "info@splynx.com"
          },
          "status": {
            "type": "string",
            "description": "Email status: 'new', 'sending', 'sent', 'error', 'expired'. Default value 'new'.",
            "example": "sent"
          },
          "priority": {
            "type": "number",
            "description": "Email priority: 1 - Low, 2 - Medium, 3 - High. Default: 2",
            "example": 2
          },
          "datetime_added": {
            "type": "string",
            "description": "Added datetime. Format: 'YYYY-MM-DD HH:MM:SS'.",
            "example": "2017-01-01 00:00:00"
          },
          "datetime_start_sending": {
            "type": "string",
            "description": "Sending datetime. Format: 'YYYY-MM-DD HH:MM:SS'.",
            "example": "2017-01-01 00:00:00"
          },
          "datetime_sent": {
            "type": "string",
            "description": "Sent datetime. Format: 'YYYY-MM-DD HH:MM:SS'.",
            "example": "2017-01-01 00:00:00"
          },
          "recipient": {
            "type": "string",
            "description": "Recipient email.",
            "example": "recipient@splynx.com"
          },
          "message": {
            "type": "string",
            "description": "Email message.",
            "example": "Email message"
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EmailAttachmentsBase"
            },
            "description": "Attachments of email."
          },
          "sendCopy": {
            "type": "boolean",
            "description": "Send copy this mail to email from config",
            "example": true
          },
          "admin_id": {
            "type": "number",
            "description": "Admin ID.",
            "example": 1
          },
          "notification_category": {
            "type": "string",
            "enum": [
              "billing_and_payments",
              "service_and_support",
              "promotions_and_offers",
              "sub_accounts",
              "account_and_security",
              "administrative_notification"
            ],
            "nullable": true,
            "description": "Customer notification",
            "example": "billing_and_payments"
          }
        }
      },
      "EmailAttachmentsBase": {
        "title": "EmailAttachmentsBase",
        "required": [
          "type",
          "id"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "Email attachments type: 'file', 'invoice', 'request', 'document', 'quote', 'payment', 'credit_note', 'scheduling_task_comment_attachment', 'ticket_attachment'.",
            "example": "file"
          },
          "id": {
            "type": "number",
            "description": "attachment id.",
            "example": 4
          }
        }
      },
      "EmailResponse": {
        "title": "EmailResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/EmailBase"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Email ID",
                "example": 1
              }
            }
          }
        ]
      },
      "EmailId": {
        "title": "EmailId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Email ID",
            "example": 1
          }
        }
      },
      "RenderedTemplate": {
        "title": "RenderedTemplate",
        "type": "object",
        "properties": {
          "result": {
            "type": "string",
            "description": "Rendered Template",
            "example": "Rendered Template"
          }
        }
      },
      "DownloadResponse": {
        "title": "DownloadResponse",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Documents name",
            "example": "test_document.pdf"
          },
          "content_type": {
            "type": "string",
            "description": "Content type",
            "example": "application\\/pdf"
          },
          "content": {
            "type": "string",
            "description": "Document content encoded in  base64 format",
            "example": "VBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlIC9QYWdlC..."
          }
        }
      },
      "StockBase": {
        "title": "StockBase",
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Stock name",
            "example": "Stock #315955388"
          }
        }
      },
      "StockCreate": {
        "title": "StockCreate",
        "allOf": [
          {
            "$ref": "#/components/schemas/StockBase"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Stock ID",
                "example": 1
              }
            }
          }
        ]
      },
      "StockResponse": {
        "title": "StockResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/StockBase1"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Inventory Stock ID",
                "example": 1
              },
              "type": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/type5"
                  },
                  {
                    "description": "Stock type",
                    "example": 1
                  }
                ]
              },
              "is_base": {
                "type": "number",
                "description": "Is base stock, 0 - no, 1 - yes",
                "example": 0
              }
            }
          }
        ]
      },
      "StockId": {
        "title": "StockId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Inventory Stock ID",
            "example": 1
          }
        }
      },
      "ConfigResponse": {
        "title": "ConfigResponse",
        "type": "object",
        "properties": {
          "ask_password": {
            "type": "boolean",
            "description": "Example config param",
            "example": true
          },
          "top_up_enabled": {
            "type": "boolean",
            "description": "Example config param",
            "example": true
          },
          "...": {
            "type": "string",
            "description": "And other settings according to module and path",
            "example": "And other settings according to module and path"
          }
        }
      },
      "CompanyInfo": {
        "title": "CompanyInfo",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Partner ID",
            "example": 1
          },
          "invoice_template_id": {
            "type": "number",
            "description": "Invoice template id",
            "example": 5
          },
          "credit_note_template_id": {
            "type": "number",
            "description": "Credit note template id",
            "example": 4
          },
          "request_template_id": {
            "type": "number",
            "description": "Proforma invoice template id",
            "example": 6
          },
          "receipt_template_id": {
            "type": "number",
            "description": "Receipt template id",
            "example": 9
          },
          "quote_template_id": {
            "type": "number",
            "description": "Quote template id",
            "example": 10
          },
          "reminder_mail_template_id": {
            "type": "number",
            "description": "Reminder mail template id",
            "example": 8
          },
          "reminder_sms_template_id": {
            "type": "number",
            "description": "Reminder sms template id",
            "example": 7
          },
          "report_statements_template_id": {
            "type": "number",
            "description": "Report statements template id",
            "example": 11
          },
          "company_name": {
            "type": "string",
            "description": "Company name",
            "example": "Your company name"
          },
          "street_1": {
            "type": "string",
            "description": "Street",
            "example": "Street one"
          },
          "street_2": {
            "type": "string",
            "description": "Street (additional)",
            "example": "Street two"
          },
          "zip": {
            "type": "string",
            "description": "ZIP code",
            "example": "12345"
          },
          "city": {
            "type": "string",
            "description": "City",
            "example": "Prague"
          },
          "country": {
            "type": "string",
            "description": "Country",
            "example": "Czech Republic"
          },
          "iso_country": {
            "type": "string",
            "description": "ISO country name",
            "example": "Czechia"
          },
          "iso_country_code": {
            "type": "string",
            "description": "ISO country code",
            "example": "CZ"
          },
          "email": {
            "type": "string",
            "description": "Email",
            "example": "info@mycompany.box"
          },
          "phone": {
            "type": "string",
            "description": "Phone number",
            "example": "+420123456879"
          },
          "company_id": {
            "type": "string",
            "description": "Company ID",
            "example": "123456"
          },
          "company_vat": {
            "type": "string",
            "description": "Company VAT",
            "example": "111111"
          },
          "vat_percent": {
            "type": "number",
            "description": "VAT %",
            "example": 15.55
          },
          "bank_account": {
            "type": "string",
            "description": "Bank Account",
            "example": "123321"
          },
          "bank_name": {
            "type": "string",
            "description": "Bank Name",
            "example": "Bank Name"
          },
          "bank_address": {
            "type": "string",
            "description": "Bank Address",
            "example": "Street 3"
          },
          "splynx_url": {
            "type": "string",
            "description": "URL of billing (Splynx)",
            "example": "https://your-company.example.com/"
          },
          "partner_percent": {
            "type": "number",
            "description": "Partner's percent (%)",
            "example": 1
          },
          "file_logo": {
            "type": "number",
            "description": "Partner logo (id)",
            "example": 1
          },
          "tax_id": {
            "type": "number",
            "description": "Tax ID",
            "example": 1
          }
        }
      },
      "ImportId": {
        "title": "ImportId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "CDR import ID",
            "example": 1
          }
        }
      },
      "ProfileAdditionalAttrbiutesResponse": {
        "title": "ProfileAdditionalAttrbiutesResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/AdditionalFieldBase"
          },
          {
            "type": "object",
            "properties": {
              "values": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Allowed actions for customer with this attribute"
              },
              "can_be_edited": {
                "type": "boolean",
                "description": "Whether this attribute can be edited",
                "example": true
              }
            }
          }
        ]
      },
      "SchedulingProjectTypeBase": {
        "title": "SchedulingProjectTypeBase",
        "required": [
          "title"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Scheduling Project Type title, min length: 3, max length: 64",
            "example": "Low Priority"
          }
        }
      },
      "SchedulingProjectTypeResponse": {
        "title": "SchedulingProjectTypeResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/SchedulingProjectTypeBase"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Project ID",
                "example": 1
              }
            }
          }
        ]
      },
      "SchedulingProjectTypeId": {
        "title": "SchedulingProjectTypeId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Project ID",
            "example": 1
          }
        }
      },
      "SchedulingProjectCategoryBase": {
        "title": "SchedulingProjectCategoryBase",
        "required": [
          "title"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Scheduling Project Category title, min length: 3, max length: 64",
            "example": "First project category"
          }
        }
      },
      "SchedulingProjectCategoryResponse": {
        "title": "SchedulingProjectCategoryResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/SchedulingProjectCategoryBase"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Project ID",
                "example": 1
              }
            }
          }
        ]
      },
      "SchedulingProjectCategoryId": {
        "title": "SchedulingProjectCategoryId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Project ID",
            "example": 1
          }
        }
      },
      "SchedulingWorkflowBase": {
        "title": "SchedulingWorkflowBase",
        "required": [
          "title",
          "items"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Scheduling Workflow title, min length: 3, max length: 64",
            "example": "First workflow"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SchedulingWorkflowItemNew"
            },
            "description": "Items of Workflow. At least one item has to be added to each stage!"
          }
        }
      },
      "SchedulingWorkflowResponse": {
        "title": "SchedulingWorkflowResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/SchedulingWorkflowBase"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Workflow ID",
                "example": 1
              }
            }
          }
        ]
      },
      "SchedulingWorkflowId": {
        "title": "SchedulingWorkflowId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Workflow ID",
            "example": 1
          }
        }
      },
      "SchedulingWorkflowItemNew": {
        "title": "SchedulingWorkflowItemNew",
        "required": [
          "title"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Scheduling Workflow  item title, min length: 3, max length: 64",
            "example": "New"
          },
          "position": {
            "type": "number",
            "description": "Item position. Should be unique to every workflow`s item",
            "example": 1
          },
          "stage": {
            "type": "string",
            "description": "Item stage: 'new', 'in_progress', 'done'. Default: 1.",
            "example": "new"
          },
          "delete": {
            "type": "number",
            "description": "Permission for delete or edit workflow item. Values 1, 0. Default: 1.",
            "example": 1
          }
        }
      },
      "SchedulingTeamBase": {
        "title": "SchedulingTeamBase",
        "required": [
          "title",
          "members"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Scheduling Team title, min length: 3, max length: 64",
            "example": "Team name"
          },
          "partner_id": {
            "type": "number",
            "description": "Partner id for team. If partner_id is 0 then will be 'Any'",
            "example": 0
          },
          "members": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Team members. IDs of admins"
          },
          "calendar_color": {
            "type": "string",
            "description": "Calendar color for team",
            "example": "#ff0000"
          }
        }
      },
      "SchedulingTeamResponse": {
        "title": "SchedulingTeamResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/SchedulingTeamBase"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Team ID",
                "example": 1
              }
            }
          }
        ]
      },
      "SchedulingTeamId": {
        "title": "SchedulingTeamId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Team ID",
            "example": 1
          }
        }
      },
      "SchedulingTaskTemplateBase": {
        "title": "SchedulingTaskTemplateBase",
        "required": [
          "title",
          "task_title"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Scheduling Task Template title, min length: 3, max length: 64",
            "example": "Scheduling Task Template title"
          },
          "task_title": {
            "type": "string",
            "description": "Task title, min length: 3, max length: 64",
            "example": "Scheduling Task title"
          },
          "task_description": {
            "type": "string",
            "description": "Scheduling Task Template description",
            "example": "Task description"
          },
          "task_project_id": {
            "type": "number",
            "description": "Scheduling Project ID",
            "example": 1
          },
          "task_assigned_to": {
            "type": "string",
            "description": "Assigned to: 'assigned_to_anyone', 'assigned_to_administrator', 'assigned_to_team'. Default: 'assigned_to_anyone'",
            "example": "assigned_to_anyone"
          },
          "task_assigned_to_id": {
            "type": "number",
            "description": "Assigned to id",
            "example": 1
          },
          "task_checklist_template_id": {
            "type": "number",
            "description": "Task checklist template id",
            "example": 1
          },
          "task_priority: `priority_low`": {
            "type": "string",
            "description": "Task priority: 'priority_low', 'priority_medium', 'priority_high'"
          },
          "additional_fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AdditionalFieldBase"
            },
            "description": "Task additional fields"
          }
        }
      },
      "SchedulingTaskTempalteResponse": {
        "title": "SchedulingTaskTempalteResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/SchedulingTaskTemplateBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Scheduling Task Tempalte ID",
                "example": 1
              }
            }
          }
        ]
      },
      "SchedulingTaskTemplateId": {
        "title": "SchedulingTaskTemplateId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Scheduling Task Template ID",
            "example": 1
          }
        }
      },
      "SchedulingChecklistTemplateBase": {
        "title": "SchedulingChecklistTemplateBase",
        "required": [
          "title"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Scheduling Checklist Template title, min length: 3, max length: 64",
            "example": "Connect client"
          }
        }
      },
      "SchedulingChecklistTemplateAdd": {
        "title": "SchedulingChecklistTemplateAdd",
        "allOf": [
          {
            "$ref": "#/components/schemas/SchedulingChecklistTemplateBase"
          },
          {
            "required": [
              "items"
            ],
            "type": "object",
            "properties": {
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SchedulingChecklistTemplateItem"
                },
                "description": "Items of Scheduling Checklist Template"
              }
            }
          }
        ]
      },
      "SchedulingChecklistTempalteResponse": {
        "title": "SchedulingChecklistTempalteResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/SchedulingChecklistTemplateBase"
          },
          {
            "required": [
              "items"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Scheduling Checklist Tempalte ID",
                "example": 1
              },
              "items": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SchedulingChecklistTemplateItemResponse"
                },
                "description": "Items of Scheduling Checklist Template"
              }
            }
          }
        ]
      },
      "SchedulingChecklistTemplateId": {
        "title": "SchedulingChecklistTemplateId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Scheduling Checklist Template ID",
            "example": 1
          }
        }
      },
      "SchedulingChecklistTemplateItem": {
        "title": "SchedulingChecklistTemplateItem",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "example": "'Prepare materials / tools'"
          },
          "delete": {
            "type": "number",
            "description": "Permission for delete or edit checklist template item. Values 1, 0. Default: 1.",
            "example": 1
          }
        }
      },
      "SchedulingChecklistTemplateItemResponse": {
        "title": "SchedulingChecklistTemplateItemResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/SchedulingChecklistTemplateItem"
          },
          {
            "required": [
              "id",
              "checklist_template_id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Scheduling Checklist Template Item ID",
                "example": 1
              },
              "checklist_template_id": {
                "type": "number",
                "description": "Scheduling Checklist Template ID",
                "example": 1
              }
            }
          }
        ]
      },
      "CustomerBonusTrafficCounterId": {
        "title": "CustomerBonusTrafficCounterId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Internet Service ID",
            "example": 1
          }
        }
      },
      "TaxResponse": {
        "title": "TaxResponse",
        "required": [
          "id",
          "name",
          "rate",
          "type",
          "archived",
          "accounting_tax_rates_id",
          "einvoicing_tax_rates_id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Tax ID",
            "example": 1
          },
          "name": {
            "type": "string",
            "description": "Tax name",
            "example": "default"
          },
          "rate": {
            "type": "number",
            "description": "Tax name",
            "example": 2
          },
          "type": {
            "type": "string",
            "description": "Tax type",
            "example": "single"
          },
          "archived": {
            "type": "number",
            "description": "Tax archived",
            "example": 0
          },
          "accounting_tax_rates_id": {
            "type": "number",
            "description": "Accounting tax rates id",
            "example": 29
          },
          "einvoicing_tax_rates_id": {
            "type": "number",
            "description": "Einvoicing tax rates id",
            "example": 0
          }
        }
      },
      "CustomerBonusTrafficCounter": {
        "title": "CustomerBonusTrafficCounter",
        "required": [
          "service_id",
          "date",
          "up",
          "down"
        ],
        "type": "object",
        "properties": {
          "service_id": {
            "type": "number",
            "description": "Internet Service ID",
            "example": 1
          },
          "date": {
            "type": "string",
            "description": "Date for traffic statistics",
            "example": "2018-01-01"
          },
          "up": {
            "type": "number",
            "description": "Number of bytes was uploaded",
            "example": 1
          },
          "down": {
            "type": "number",
            "description": "Number of bytes was downloaded",
            "example": 1
          }
        }
      },
      "BonusCappedDataBase": {
        "title": "BonusCappedDataBase",
        "required": [
          "service_id",
          "quantity"
        ],
        "type": "object",
        "properties": {
          "service_id": {
            "type": "number",
            "description": "Internet Service ID",
            "example": 100
          },
          "quantity": {
            "type": "number",
            "description": "Bonus quantity (in bytes, or in units specified by quantity_unit)",
            "example": 500
          },
          "quantity_unit": {
            "type": "string",
            "description": "Unit for quantity: 'mb' or 'gb'. If set, quantity is converted to bytes on save.",
            "example": "mb"
          },
          "valid_till": {
            "type": "string",
            "description": "Expiration datetime. Empty or '0000-00-00 00:00:00' for unlimited.",
            "example": "2026-05-01 00:00:00"
          }
        }
      },
      "BonusCappedDataId": {
        "title": "BonusCappedDataId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Bonus capped data record ID",
            "example": 1
          }
        }
      },
      "BonusCappedDataResponse": {
        "title": "BonusCappedDataResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Record ID",
            "example": 1
          },
          "service_id": {
            "type": "number",
            "description": "Internet Service ID",
            "example": 100
          },
          "quantity": {
            "type": "number",
            "description": "Total bonus amount in bytes",
            "example": 524288000
          },
          "quantity_remind": {
            "type": "number",
            "description": "Remaining bonus amount in bytes",
            "example": 524288000
          },
          "valid_till": {
            "type": "string",
            "description": "Expiration datetime. '0000-00-00 00:00:00' means unlimited.",
            "example": "2026-05-01 00:00:00"
          }
        }
      },
      "CRMPipelineStatusBase": {
        "title": "CRMPipelineStatusBase",
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "CRM pipeline status name",
            "example": "New"
          },
          "stage": {
            "type": "string",
            "description": "CRM status stage: 'crm_lead_stage_new', 'crm_lead_stage_in_progress', 'crm_lead_stage_qualified', 'crm_lead_stage_unqualified'. Default: 'crm_lead_stage_new'",
            "example": "crm_lead_stage_new"
          },
          "label": {
            "type": "string",
            "description": "CRM status label: 'default', ''primary', 'success', 'info', 'warning', 'danged', 'pending'. Default: 'default',",
            "example": "default"
          },
          "bg_color": {
            "type": "string",
            "description": "CRM status background color in rgba format, used in tables. Default: 'rgba(255,255,255,1)'",
            "example": "rgba(255,255,255,1)"
          },
          "is_bg_color": {
            "type": "boolean",
            "description": "If set to true then 'bg_color' will be used in tables. Default: 'false'",
            "example": false
          },
          "due_days": {
            "type": "number",
            "description": "The number of days after which you should change the status. Otherwise the lead will overdue. Default: 0",
            "example": 3
          }
        }
      },
      "CRMPipelineStatusId": {
        "title": "CRMPipelineStatusId",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "CRM pipeline status ID",
            "example": 1
          }
        }
      },
      "CRMPipelineStatusResponse": {
        "title": "CRMPipelineStatusResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/CRMPipelineStatusBase"
          },
          {
            "required": [
              "id"
            ],
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "CRM pipeline status ID",
                "example": 1
              },
              "is_base": {
                "type": "number",
                "description": "If it is base status here will be 1. Values 1, 0.",
                "example": 1
              },
              "position": {
                "type": "number",
                "description": "The position of the status in list.",
                "example": 8
              }
            }
          }
        ]
      },
      "Trafficcounter": {
        "title": "Trafficcounter",
        "type": "object",
        "properties": {
          "service_id": {
            "type": "number",
            "description": "Internet service id.",
            "example": 1
          },
          "date": {
            "type": "string",
            "description": "Date for traffic statistics.",
            "example": "2018-01-15"
          },
          "up": {
            "type": "number",
            "description": "Number of bytes was uploaded.",
            "example": 333
          },
          "down": {
            "type": "number",
            "description": "Number of bytes was downloaded.",
            "example": 444
          }
        }
      },
      "TrafficcountercreateResponse": {
        "title": "TrafficcountercreateResponse",
        "required": [
          "service_id"
        ],
        "type": "object",
        "properties": {
          "service_id": {
            "type": "number",
            "description": "Internet Service ID",
            "example": 1
          }
        }
      },
      "MobilenotificationtokenBase": {
        "title": "MobilenotificationtokenBase",
        "required": [
          "token",
          "application",
          "device_id"
        ],
        "type": "object",
        "properties": {
          "user_id": {
            "type": "number",
            "description": "User ID",
            "example": 1
          },
          "token": {
            "type": "string",
            "description": "Token",
            "example": "2dbf3280cf9sb3b8a7c15201c76b9s1"
          },
          "application": {
            "type": "string",
            "description": "App name",
            "example": "scheduling"
          },
          "device_id": {
            "type": "string",
            "description": "Unique device identifier",
            "example": "12daw3j6g9edjg"
          }
        }
      },
      "MobilenotificationtokenResponse": {
        "title": "MobilenotificationtokenResponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/MobilenotificationtokenBase"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Token ID",
                "example": 1
              },
              "created_at": {
                "type": "string",
                "description": "Datetime",
                "example": "2019-09-23 14:54:15"
              }
            }
          }
        ]
      },
      "MobilenotificationtokenId": {
        "title": "MobilenotificationtokenId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Token ID",
            "example": 1
          }
        }
      },
      "TicketfeedbacksResponse": {
        "title": "TicketfeedbacksResponse",
        "type": "object",
        "properties": {
          "ticket_id": {
            "type": "number",
            "description": "Ticket feedbacks ID",
            "example": 1
          },
          "form": {
            "type": "number",
            "description": "Ticket feedbacks form, yes (1) or no (0). Default (null)",
            "example": 1
          },
          "content": {
            "type": "number",
            "description": "Ticket feedbacks content, yes (1) or no (0). Default (null)",
            "example": 0
          },
          "feedback": {
            "type": "number",
            "description": "Ticket feedbacks feedback, yes (1) or no (0). Default (null)",
            "example": 0
          },
          "timing": {
            "type": "number",
            "description": "Ticket feedbacks timing, yes (1) or no (0). Default (null)",
            "example": 0
          },
          "archived": {
            "type": "number",
            "description": "Archive status ticket feedbacks, yes (1) or no (0). Default (null)",
            "example": 0
          },
          "comment": {
            "type": "string",
            "description": "Ticket feedbacks comment.",
            "example": "new item"
          }
        }
      },
      "StatesprovincesResponse": {
        "title": "StatesprovincesResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "State/province ID",
            "example": 1
          },
          "code": {
            "type": "string",
            "description": "State/province code",
            "example": "code"
          },
          "name": {
            "type": "string",
            "description": "State/province name",
            "example": "name"
          },
          "date_changed": {
            "type": "string",
            "description": "Date when state/province was changed",
            "example": "2024-10-08"
          },
          "is_default": {
            "type": "number",
            "description": "Is default state/province",
            "example": 0
          }
        }
      },
      "MessengerchatResponse": {
        "title": "MessengerchatResponse",
        "required": [
          "id",
          "phone",
          "active",
          "created_at"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Chat ID",
            "example": 1
          },
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "assign_id": {
            "type": "number",
            "description": "Admin ID",
            "example": 1
          },
          "phone": {
            "type": "string",
            "description": "Phone number",
            "example": "420123456879"
          },
          "profile_name": {
            "type": "string",
            "description": "Profile name",
            "example": "John Doe"
          },
          "active": {
            "type": "boolean",
            "description": "Active status",
            "example": false
          },
          "is_blocked": {
            "type": "boolean",
            "description": "Whether the chat is blocked",
            "example": false
          },
          "is_marketing_blocked": {
            "type": "boolean",
            "description": "Whether marketing messages are blocked for this chat",
            "example": false
          },
          "created_at": {
            "type": "string",
            "description": "Datetime",
            "example": "2023-12-04 05:45:02"
          },
          "blocked_at": {
            "type": "string",
            "description": "Datetime when chat was blocked",
            "example": ""
          },
          "new_messages": {
            "type": "number",
            "description": "Number of unread messages",
            "example": 0
          }
        }
      },
      "MessengermessageResponse": {
        "title": "MessengermessageResponse",
        "required": [
          "id",
          "chat_id",
          "conversation_id",
          "status_id",
          "created_at",
          "updated_at"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Message ID",
            "example": 1
          },
          "chat_id": {
            "type": "number",
            "description": "Chat ID",
            "example": 1
          },
          "conversation_id": {
            "type": "number",
            "description": "Conversation ID",
            "example": 1
          },
          "external_id": {
            "type": "string",
            "description": "External ID",
            "example": "SM333a12222"
          },
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "admin_id": {
            "type": "number",
            "description": "Admin ID",
            "example": 1
          },
          "ticket_id": {
            "type": "number",
            "description": "Ticket ID",
            "example": 1
          },
          "body": {
            "type": "string",
            "description": "Message body",
            "example": "Text"
          },
          "status_id": {
            "type": "string",
            "description": "Message status",
            "example": "delivered"
          },
          "inbound": {
            "type": "boolean",
            "description": "Indicates whether the message is inbound",
            "example": false
          },
          "error": {
            "type": "string",
            "description": "Error text",
            "example": "Code 200"
          },
          "latitude": {
            "type": "string",
            "description": "Latitude",
            "example": "123.11"
          },
          "longitude": {
            "type": "string",
            "description": "Longitude",
            "example": "312.111"
          },
          "address": {
            "type": "string",
            "description": "Address",
            "example": "Street 3"
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MessengermessageattachmentResponse"
            },
            "description": ""
          },
          "actions": {
            "type": "array",
            "description": "Chat actions linked to this message (e.g. admin assignment, customer link/unlink/relink). Each item is one of four shapes selected by `type`.",
            "items": {
              "oneOf": [
                {
                  "title": "ChatAssignAction",
                  "type": "object",
                  "description": "Admin assigned to the chat",
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "Action type",
                      "enum": [
                        "chat_assign"
                      ],
                      "example": "chat_assign"
                    },
                    "timestamp": {
                      "type": "string",
                      "description": "When the action was performed",
                      "example": "2024-01-15 10:30:00"
                    },
                    "admin": {
                      "type": "object",
                      "description": "Admin who became responsible for the chat",
                      "properties": {
                        "admin_id": {
                          "type": "number",
                          "nullable": true,
                          "description": "Admin ID. `null` if the admin is hidden from the current viewer (cross-partner without permission).",
                          "example": 1
                        },
                        "admin_name": {
                          "type": "string",
                          "description": "Admin name. Returns `Hidden` if the admin is hidden from the current viewer.",
                          "example": "John Doe"
                        }
                      }
                    }
                  }
                },
                {
                  "title": "ChatLinkAction",
                  "type": "object",
                  "description": "Chat linked to a customer",
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "Action type",
                      "enum": [
                        "chat_link"
                      ],
                      "example": "chat_link"
                    },
                    "timestamp": {
                      "type": "string",
                      "description": "When the action was performed",
                      "example": "2024-01-15 10:30:00"
                    },
                    "customer": {
                      "type": "object",
                      "nullable": true,
                      "description": "Customer the chat was linked to. `null` if the customer is no longer available, or if it belongs to a different partner than the current viewer.",
                      "properties": {
                        "is_lead": {
                          "type": "boolean",
                          "description": "Whether the customer is a lead",
                          "example": false
                        },
                        "customer_id": {
                          "type": "number",
                          "description": "Customer ID",
                          "example": 1
                        },
                        "customer_name": {
                          "type": "string",
                          "description": "Customer name",
                          "example": "Jane Smith"
                        }
                      }
                    }
                  }
                },
                {
                  "title": "ChatRelinkAction",
                  "type": "object",
                  "description": "Chat relinked from one customer to another",
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "Action type",
                      "enum": [
                        "chat_relink"
                      ],
                      "example": "chat_relink"
                    },
                    "timestamp": {
                      "type": "string",
                      "description": "When the action was performed",
                      "example": "2024-01-15 10:30:00"
                    },
                    "from_customer": {
                      "type": "object",
                      "nullable": true,
                      "description": "Source customer (the customer the chat was linked to before). `null` if the previous customer is no longer available, or if it belongs to a different partner than the current viewer.",
                      "properties": {
                        "is_lead": {
                          "type": "boolean",
                          "description": "Whether the customer is a lead",
                          "example": false
                        },
                        "customer_id": {
                          "type": "number",
                          "description": "Customer ID",
                          "example": 1
                        },
                        "customer_name": {
                          "type": "string",
                          "description": "Customer name",
                          "example": "Jane Smith"
                        }
                      }
                    },
                    "to_customer": {
                      "type": "object",
                      "nullable": true,
                      "description": "Target customer (the customer the chat is now linked to). `null` if the target customer is no longer available, or if it belongs to a different partner than the current viewer.",
                      "properties": {
                        "is_lead": {
                          "type": "boolean",
                          "description": "Whether the customer is a lead",
                          "example": false
                        },
                        "customer_id": {
                          "type": "number",
                          "description": "Customer ID",
                          "example": 2
                        },
                        "customer_name": {
                          "type": "string",
                          "description": "Customer name",
                          "example": "John Doe"
                        }
                      }
                    },
                    "admin": {
                      "type": "object",
                      "description": "Admin who performed the relink",
                      "properties": {
                        "admin_id": {
                          "type": "number",
                          "nullable": true,
                          "description": "Admin ID. `null` if the admin is hidden from the current viewer (cross-partner without permission).",
                          "example": 1
                        },
                        "admin_name": {
                          "type": "string",
                          "description": "Admin name. Returns `Hidden` if the admin is hidden from the current viewer.",
                          "example": "John Doe"
                        }
                      }
                    }
                  }
                },
                {
                  "title": "ChatUnlinkAction",
                  "type": "object",
                  "description": "Chat unlinked from a customer",
                  "properties": {
                    "type": {
                      "type": "string",
                      "description": "Action type",
                      "enum": [
                        "chat_unlink"
                      ],
                      "example": "chat_unlink"
                    },
                    "timestamp": {
                      "type": "string",
                      "description": "When the action was performed",
                      "example": "2024-01-15 10:30:00"
                    },
                    "customer": {
                      "type": "object",
                      "nullable": true,
                      "description": "Customer the chat was unlinked from. `null` if the previous customer is no longer available, or if it belongs to a different partner than the current viewer.",
                      "properties": {
                        "is_lead": {
                          "type": "boolean",
                          "description": "Whether the customer is a lead",
                          "example": false
                        },
                        "customer_id": {
                          "type": "number",
                          "description": "Customer ID",
                          "example": 1
                        },
                        "customer_name": {
                          "type": "string",
                          "description": "Customer name",
                          "example": "Jane Smith"
                        }
                      }
                    },
                    "admin": {
                      "type": "object",
                      "description": "Admin who performed the unlink",
                      "properties": {
                        "admin_id": {
                          "type": "number",
                          "nullable": true,
                          "description": "Admin ID. `null` if the admin is hidden from the current viewer (cross-partner without permission).",
                          "example": 1
                        },
                        "admin_name": {
                          "type": "string",
                          "description": "Admin name. Returns `Hidden` if the admin is hidden from the current viewer.",
                          "example": "Main Admin"
                        }
                      }
                    }
                  }
                }
              ],
              "discriminator": {
                "propertyName": "type"
              }
            }
          },
          "created_at": {
            "type": "string",
            "description": "Datetime",
            "example": "2023-12-04 05:45:02"
          },
          "updated_at": {
            "type": "string",
            "description": "Datetime",
            "example": "2023-12-04 05:45:02"
          }
        }
      },
      "MessengermessageattachmentResponse": {
        "title": "MessengermessageattachmentResponse",
        "type": "object",
        "properties": {
          "filename_original": {
            "type": "string",
            "description": "Original file name",
            "example": "image.png"
          },
          "download_link: `https://your.splynx.domain/files?id={hash_id}&type=files_upload`": {
            "type": "string",
            "description": "Link for downloading from web"
          },
          "size": {
            "type": "integer",
            "description": "File size in bytes",
            "example": 3120
          }
        }
      },
      "MessengertemplatesResponse": {
        "title": "MessengertemplatesResponse",
        "required": [
          "id",
          "provider",
          "status",
          "created_at"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Template ID",
            "example": 1
          },
          "provider": {
            "type": "string",
            "description": "Provider name",
            "example": "twilio"
          },
          "external_id": {
            "type": "string",
            "description": "External ID",
            "example": "HX333a12222"
          },
          "status": {
            "type": "string",
            "description": "Template status",
            "example": "approved"
          },
          "title": {
            "type": "string",
            "description": "Title",
            "example": "welcome"
          },
          "body": {
            "type": "string",
            "description": "Template body",
            "example": "Text"
          },
          "error": {
            "type": "string",
            "description": "Error text",
            "example": "Code 200"
          },
          "created_at": {
            "type": "string",
            "description": "Datetime",
            "example": "2023-12-04 05:45:02"
          }
        }
      },
      "WhatsAppUnreadCountersResponse": {
        "title": "WhatsAppUnreadCountersResponse",
        "type": "object",
        "properties": {
          "chats": {
            "type": "object",
            "description": "Unread chat counters grouped by assignment",
            "properties": {
              "all": {
                "type": "integer",
                "description": "Total number of chats with unread messages",
                "example": 5
              },
              "not_assigned": {
                "type": "integer",
                "description": "Number of unassigned chats with unread messages",
                "example": 2
              },
              "assigned_to_me": {
                "type": "integer",
                "description": "Number of chats assigned to the current admin with unread messages",
                "example": 1
              }
            }
          },
          "messages": {
            "type": "object",
            "description": "Unread message counters grouped by assignment",
            "properties": {
              "all": {
                "type": "integer",
                "description": "Total number of unread messages across all chats",
                "example": 12
              },
              "not_assigned": {
                "type": "integer",
                "description": "Number of unread messages in unassigned chats",
                "example": 4
              },
              "assigned_to_me": {
                "type": "integer",
                "description": "Number of unread messages in chats assigned to the current admin",
                "example": 3
              }
            }
          }
        }
      },
      "LabelID": {
        "title": "LabelID",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Label ID",
            "example": 1
          }
        }
      },
      "Labelcreate": {
        "title": "Labelcreate",
        "required": [
          "module",
          "label"
        ],
        "type": "object",
        "properties": {
          "module": {
            "allOf": [
              {
                "$ref": "#/components/schemas/module"
              },
              {
                "description": "Label module",
                "example": "customers"
              }
            ]
          },
          "label": {
            "type": "string",
            "description": "Label title",
            "example": "label title"
          },
          "color": {
            "type": "string",
            "description": "Label color",
            "example": "#68e637"
          }
        }
      },
      "Labelresponse": {
        "title": "Labelresponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/Labelcreate"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "number",
                "description": "Label ID",
                "example": 1
              },
              "textColor": {
                "type": "string",
                "description": "Label title color",
                "example": "#fff"
              }
            }
          }
        ]
      },
      "Appsettingsbase": {
        "title": "Appsettingsbase",
        "required": [
          "application",
          "path",
          "type",
          "key"
        ],
        "type": "object",
        "properties": {
          "application": {
            "type": "string",
            "description": "Name of the app these settings belong to",
            "example": "scheduling"
          },
          "path": {
            "type": "string",
            "description": "Structured path for organizing settings",
            "example": "main"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/type6"
              },
              {
                "description": "Setting type",
                "example": "string"
              }
            ]
          },
          "key": {
            "type": "string",
            "description": "Setting name",
            "example": "field"
          },
          "value": {
            "type": "string",
            "description": "Value for setting",
            "example": "test"
          }
        }
      },
      "Appsettingsresponse": {
        "title": "Appsettingsresponse",
        "allOf": [
          {
            "$ref": "#/components/schemas/Appsettingsbase"
          },
          {
            "type": "object",
            "properties": {
              "user_id": {
                "type": "number",
                "description": "User ID for which the settings are stored",
                "example": 105
              }
            }
          }
        ]
      },
      "accounting_method": {
        "title": "accounting_method",
        "enum": [
          "none",
          "radius",
          "netflow"
        ],
        "type": "string",
        "description": "Accounting method",
        "example": "none"
      },
      "AddTrafficaccountingrequest": {
        "title": "AddTrafficaccountingrequest",
        "required": [
          "download",
          "upload",
          "time"
        ],
        "type": "object",
        "properties": {
          "download": {
            "type": "integer",
            "format": "int32"
          },
          "upload": {
            "type": "integer",
            "format": "int32"
          },
          "time": {
            "type": "integer",
            "format": "int32"
          }
        },
        "example": {
          "download": 5000000,
          "upload": 480000,
          "time": 300
        }
      },
      "added_by": {
        "title": "added_by",
        "enum": [
          "system",
          "api",
          "admin"
        ],
        "type": "string",
        "description": "The identifier who added the communication call",
        "example": "system"
      },
      "added_by1": {
        "title": "added_by1",
        "enum": [
          "system",
          "api",
          "admin"
        ],
        "type": "string",
        "description": "Added by",
        "example": "admin"
      },
      "account_type": {
        "title": "account_type",
        "enum": [
          "regular",
          "main",
          "sub_independent",
          "sub_aggregated"
        ],
        "type": "string",
        "description": "Read-only. Account type. Shows only if sub accounts are used in the system",
        "example": "regular"
      },
      "lead_category": {
        "title": "lead_category",
        "enum": [
          "person",
          "company"
        ],
        "type": "string",
        "description": "Lead category. Default: `person`",
        "example": "person"
      },
      "assigned_to": {
        "title": "assigned_to",
        "enum": [
          "assigned_to_anyone",
          "assigned_to_administrator",
          "assigned_to_team"
        ],
        "type": "string",
        "description": "The team or individual to whom the task is assigned",
        "example": "assigned_to_anyone"
      },
      "auth_type": {
        "title": "auth_type",
        "enum": [
          "admin",
          "customer",
          "api_key",
          "session"
        ],
        "type": "string",
        "description": "Authorization type",
        "example": "customer"
      },
      "author_type": {
        "title": "author_type",
        "enum": [
          "admin",
          "customer",
          "api",
          "system"
        ],
        "type": "string",
        "description": "Type of the author who created the message",
        "example": "admin"
      },
      "authorization_method": {
        "title": "authorization_method",
        "enum": [
          "none",
          "firewall_ip_mac_filter",
          "dhcp_leases",
          "ppp_dhcp_radius",
          "ppp_secrets",
          "hotspot_users",
          "hotspot_radius"
        ],
        "type": "string",
        "description": "Authorization method",
        "example": "none"
      },
      "auto_provisioning": {
        "title": "auto_provisioning",
        "enum": [
          "0",
          "1"
        ],
        "type": "string",
        "description": "Is auto provisioning enabled",
        "example": "0"
      },
      "BundletariffBase1": {
        "title": "BundletariffBase1",
        "required": [
          "title",
          "partners_ids"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Unique title of tariff",
            "example": "Aplha"
          },
          "service_description": {
            "type": "string",
            "description": "Unique service description",
            "example": "aplha"
          },
          "partners_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of partners (ids) who can use this tariff"
          },
          "price": {
            "type": "number",
            "description": "Price. Default: 0",
            "example": 100
          },
          "with_vat": {
            "type": "boolean",
            "description": "With VAT or not. Default: 1",
            "example": true
          },
          "vat_percent": {
            "type": "number",
            "description": "VAT value. Default: 21",
            "example": 19
          },
          "activation_fee": {
            "type": "number",
            "description": "Activation fee. Default: 0",
            "example": 0.5
          },
          "issue_invoice_while_service_creation": {
            "type": "boolean",
            "description": "Issue an invoice while service creation. Default: 0",
            "example": true
          },
          "cancellation_fee": {
            "type": "number",
            "description": "Cancellation fee. Default: 0",
            "example": 1.5
          },
          "prior_cancellation_fee": {
            "type": "number",
            "description": "Prior cancellation fee. Default: 0",
            "example": 1.5
          },
          "change_to_other_bundle_fee": {
            "type": "number",
            "description": "Change to other bundle fee. Default: 0",
            "example": 0
          },
          "contract_duration": {
            "type": "number",
            "description": "Contract duration",
            "example": 1
          },
          "get_activation_fee_when": {
            "type": "string",
            "description": "Get activation fee when create service: 'create_service' or after first service billing day: 'first_service_billing'",
            "example": "create_service"
          },
          "automatic_renewal": {
            "type": "boolean",
            "description": "Automatic renewal. Default: 0",
            "example": true
          },
          "auto_reactivate": {
            "type": "boolean",
            "description": "Auto reactivate when deposit become more then minimal balance. Default: 0",
            "example": false
          },
          "discount_period": {
            "type": "number",
            "description": "Discount period",
            "example": 5
          },
          "discount_type": {
            "type": "string",
            "description": "Type of discount: 'percent' or 'fixed'. Default value: 'percent'",
            "example": "percent"
          },
          "discount_value": {
            "type": "number",
            "description": "Discount value",
            "example": 15
          },
          "internet_tariffs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Internet tariffs plans"
          },
          "voice_tariffs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Voice tariffs plans"
          },
          "custom_tariffs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Custom tariffs plans"
          },
          "billing_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Types of billing"
          },
          "billing_days_count": {
            "type": "number",
            "description": "Prepaid period days. Default: 1",
            "example": 1
          },
          "custom_period": {
            "allOf": [
              {
                "$ref": "#/components/schemas/custom_period"
              },
              {
                "description": "Use for check if use custom period",
                "example": 1
              }
            ]
          },
          "available_for_services": {
            "type": "boolean",
            "description": "Available to assign in services",
            "example": true
          },
          "customer_labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Customerlabel"
            },
            "description": "Array of customer labels"
          },
          "tariff_labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tarifflabel"
            },
            "description": "Array of tariff labels"
          }
        }
      },
      "Call": {
        "title": "Call",
        "required": [
          "0",
          "2",
          "total"
        ],
        "type": "object",
        "properties": {
          "0": {
            "$ref": "#/components/schemas/generatedObject"
          },
          "2": {
            "$ref": "#/components/schemas/generatedObject1"
          },
          "total": {
            "$ref": "#/components/schemas/Total1"
          }
        },
        "example": {
          "0": {
            "_comment": "This element contains totals of records without category",
            "title": "Calls",
            "duration": 386,
            "sum": 0.07,
            "rate_buy_price": 0,
            "cdr_buy_price": 0
          },
          "2": {
            "_comment": "This element contains totals of L-902A(1-4) category #2",
            "title": "L-902A(1-4)",
            "duration": 1472,
            "amount": 0,
            "sum": 0.51577452,
            "rate_buy_price": 0,
            "cdr_buy_price": 0.09046056
          },
          "total": {
            "_comment": "This element contains totals of all categories",
            "title": "Total",
            "sum": 206.73256484,
            "rate_buy_price": 0,
            "cdr_buy_price": 209.97441838,
            "duration": 1066717
          }
        }
      },
      "cards_type": {
        "title": "cards_type",
        "enum": [
          "CardsPrepaid",
          "CardsRefill"
        ],
        "type": "string"
      },
      "ChangeanAppsettingrequest": {
        "title": "ChangeanAppsettingrequest",
        "required": [
          "value"
        ],
        "type": "object",
        "properties": {
          "value": {
            "type": "string"
          }
        },
        "example": {
          "value": "new value for setting"
        }
      },
      "checklist_template_item": {
        "title": "checklist_template_item",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "ID of checklist template item",
            "example": 1
          },
          "checklist_template_id": {
            "type": "number",
            "description": "Checklist template id",
            "example": 1
          },
          "name": {
            "type": "string",
            "description": "Checklist template item name",
            "example": "Prepare materials / tools"
          }
        },
        "description": "Checklist template item from selected checklist template"
      },
      "Confirmresetpasswordrequest": {
        "title": "Confirmresetpasswordrequest",
        "required": [
          "code",
          "password_new"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "password_new": {
            "type": "string"
          }
        },
        "example": {
          "code": "confirmation code",
          "password_new": "new_hard_password"
        }
      },
      "CreateaTicketattachmentresponse": {
        "title": "CreateaTicketattachmentresponse",
        "required": [
          "attachments"
        ],
        "type": "object",
        "properties": {
          "attachments": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            },
            "description": ""
          }
        },
        "example": {
          "attachments": [
            293,
            294
          ]
        }
      },
      "Createinboundmessagerequest": {
        "title": "Createinboundmessagerequest",
        "required": [
          "phone"
        ],
        "type": "object",
        "properties": {
          "phone": {
            "type": "string",
            "example": "420123456879"
          },
          "name": {
            "type": "string",
            "example": "John Doe"
          },
          "body": {
            "type": "string",
            "example": "test2"
          },
          "external_id": {
            "type": "string",
            "example": "SM333a12222"
          },
          "customer_id": {
            "type": "number",
            "example": 1
          },
          "status": {
            "type": "string",
            "description": "Message status",
            "example": "delivered"
          },
          "latitude": {
            "type": "string",
            "description": "Latitude",
            "example": "123.11"
          },
          "longitude": {
            "type": "string",
            "description": "Longitude",
            "example": "312.111"
          },
          "address": {
            "type": "string",
            "description": "Address",
            "example": "Street 3"
          },
          "error": {
            "type": "string",
            "description": "Error text",
            "example": "Code 200"
          },
          "files": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": ""
          }
        }
      },
      "Createoutboundmessagerequest": {
        "title": "Createoutboundmessagerequest",
        "required": [
          "chat_id"
        ],
        "type": "object",
        "properties": {
          "chat_id": {
            "type": "number",
            "description": "Chat ID",
            "example": 1
          },
          "admin_id": {
            "type": "number",
            "description": "Admin ID",
            "example": 1
          },
          "body": {
            "type": "string",
            "example": "test2"
          },
          "external_id": {
            "type": "string",
            "example": "SM333a12222"
          },
          "status": {
            "type": "string",
            "description": "Message status",
            "example": "delivered"
          },
          "force_send": {
            "type": "boolean",
            "description": "Defines whether message should be sent to provider (Twilio).\n\nIf `false`: (default): message is only stored in system and not delivered to customer.\nIf `true`: message is stored in system and additionally sent to provider (Twilio and WhatsApp), so customer receives it as reply",
            "example": false
          },
          "files": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "binary"
            },
            "description": "Files to attach to the message — multipart/form-data binary upload. For files larger than the multipart limit (~16 MB / nginx 20 MB), upload them via chunked upload first and pass IDs in `file_ids` instead."
          },
          "file_ids": {
            "type": "array",
            "items": {
              "type": "integer"
            },
            "description": "IDs of files pre-uploaded via `POST /admin/config/chunked-upload/{hash}` with `type=messengers_messages_attachment`. Use this for files larger than the multipart limit. Can be combined with `files`.",
            "example": [
              123
            ]
          }
        }
      },
      "custom_period": {
        "title": "custom_period",
        "enum": [
          0,
          1
        ],
        "type": "integer",
        "description": "Use for check if use custom period",
        "example": 1
      },
      "CustomerBase1": {
        "title": "CustomerBase1",
        "required": [
          "partner_id",
          "location_id",
          "name",
          "category"
        ],
        "type": "object",
        "properties": {
          "login": {
            "type": "string",
            "description": "Login",
            "example": "john_doe"
          },
          "status": {
            "type": "string",
            "description": "Status: 'new', 'active', 'blocked', 'disabled'. Default value: 'new'",
            "example": "new"
          },
          "partner_id": {
            "type": "number",
            "description": "Partner id. You can get it at page \"Administration / Partners\"",
            "example": 1
          },
          "location_id": {
            "type": "number",
            "description": "Location id. You can get it at page \"Administration / Locations\"",
            "example": 1
          },
          "parent_id": {
            "type": "number",
            "description": "ID of the main (parent) account.",
            "example": 0
          },
          "name": {
            "type": "string",
            "description": "Full name",
            "example": "John Doe"
          },
          "email": {
            "type": "string",
            "description": "Email",
            "example": "john.doe@domain.com"
          },
          "billing_email": {
            "type": "string",
            "description": "Billing email",
            "example": "john.doe.billing@domain.com"
          },
          "phone": {
            "type": "string",
            "description": "Phone number",
            "example": "555-0134"
          },
          "category": {
            "type": "string",
            "description": "Category: 'person' (for private person) or 'company' (for company). Default value: 'person'",
            "example": "person"
          },
          "street_1": {
            "type": "string",
            "description": "Address part #1",
            "example": "Paper Street"
          },
          "zip_code": {
            "type": "string",
            "description": "Zip"
          },
          "city": {
            "type": "string",
            "description": "City"
          },
          "date_add": {
            "type": "string",
            "description": "Date of adding. Format: 'YYYY-MM-DD'. Default value: current date"
          },
          "customer_labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Customerlabel"
            },
            "description": "Array of customer labels"
          },
          "subdivision_id": {
            "type": "number",
            "description": "State/province ID",
            "example": 1
          },
          "conversion_date": {
            "type": "string",
            "description": "Date conversion customer."
          },
          "daily_prepaid_cost": {
            "type": "number",
            "description": "Cost of daily prepayment."
          },
          "password": {
            "type": "string",
            "description": "Password",
            "example": "marla_my_love"
          },
          "gps": {
            "type": "string",
            "description": "Geo data customer. Format: '49.9902794,36.2303893'."
          },
          "mrr_total": {
            "type": "number",
            "description": "Mrr total. Default value: 0.0000."
          },
          "billing_type": {
            "type": "string",
            "description": "Billing type."
          },
          "added_by": {
            "type": "string",
            "description": "Source of customer addition (e.g. 'admin', 'api')."
          },
          "added_by_id": {
            "type": "number",
            "description": "Id of the administrator who added the customer."
          },
          "last_online": {
            "type": "string",
            "description": "Date last online customer."
          },
          "last_update": {
            "type": "string",
            "description": "Last date update customer."
          },
          "account_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/account_type"
              },
              {
                "description": "Read-only. Account type. Shows only if sub accounts are used in the system"
              }
            ]
          },
          "can_manage_aggregated_sub_accounts": {
            "type": "string",
            "enum": [
              "0",
              "1"
            ],
            "description": "Read-only. Whether this account can manage its linked aggregated sub-accounts: `1` for a main account that has sub-account management enabled, otherwise `0`. Shows only if sub accounts are used in the system."
          },
          "contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Contact"
            },
            "description": "Customer contacts — full list of email and phone rows from the contact book. List endpoints bulk-load this field so there is no N+1."
          }
        }
      },
      "Data": {
        "title": "Data",
        "required": [
          "0",
          "5",
          "total"
        ],
        "type": "object",
        "properties": {
          "0": {
            "$ref": "#/components/schemas/generatedObject4"
          },
          "5": {
            "$ref": "#/components/schemas/generatedObject2"
          },
          "total": {
            "$ref": "#/components/schemas/Total2"
          }
        },
        "example": {
          "0": {
            "title": "Data",
            "sum": 1.525,
            "rate_buy_price": 0,
            "cdr_buy_price": 0,
            "amount": 200000
          },
          "5": {
            "title": "Datos",
            "sum": 0,
            "rate_buy_price": 0,
            "cdr_buy_price": 0,
            "amount": 0
          },
          "total": {
            "title": "Total",
            "sum": 2.135,
            "rate_buy_price": 0,
            "cdr_buy_price": 0,
            "amount": 5200000
          }
        }
      },
      "Disconnectonlinecustomerrequest": {
        "title": "Disconnectonlinecustomerrequest",
        "required": [
          "service_id"
        ],
        "type": "object",
        "properties": {
          "service_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "example": {
          "service_id": 5
        }
      },
      "generatedObject": {
        "title": "generatedObject",
        "required": [
          "_comment",
          "title",
          "duration",
          "sum",
          "rate_buy_price",
          "cdr_buy_price"
        ],
        "type": "object",
        "properties": {
          "_comment": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "duration": {
            "type": "integer",
            "format": "int32"
          },
          "sum": {
            "type": "number"
          },
          "rate_buy_price": {
            "type": "integer",
            "format": "int32"
          },
          "cdr_buy_price": {
            "type": "integer",
            "format": "int32"
          }
        },
        "example": {
          "_comment": "This element contains totals of records without category",
          "title": "Calls",
          "duration": 386,
          "sum": 0.07,
          "rate_buy_price": 0,
          "cdr_buy_price": 0
        }
      },
      "generatedObject1": {
        "title": "generatedObject1",
        "required": [
          "_comment",
          "title",
          "duration",
          "amount",
          "sum",
          "rate_buy_price",
          "cdr_buy_price"
        ],
        "type": "object",
        "properties": {
          "_comment": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "duration": {
            "type": "integer",
            "format": "int32"
          },
          "amount": {
            "type": "integer",
            "format": "int32"
          },
          "sum": {
            "type": "number"
          },
          "rate_buy_price": {
            "type": "integer",
            "format": "int32"
          },
          "cdr_buy_price": {
            "type": "number"
          }
        },
        "example": {
          "_comment": "This element contains totals of L-902A(1-4) category #2",
          "title": "L-902A(1-4)",
          "duration": 1472,
          "amount": 0,
          "sum": 0.51577452,
          "rate_buy_price": 0,
          "cdr_buy_price": 0.09046056
        }
      },
      "generatedObject2": {
        "title": "generatedObject2",
        "required": [
          "title",
          "sum",
          "rate_buy_price",
          "cdr_buy_price",
          "amount"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "sum": {
            "type": "integer",
            "format": "int32"
          },
          "rate_buy_price": {
            "type": "integer",
            "format": "int32"
          },
          "cdr_buy_price": {
            "type": "integer",
            "format": "int32"
          },
          "amount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "example": {
          "title": "SMS",
          "sum": 0,
          "rate_buy_price": 0,
          "cdr_buy_price": 0,
          "amount": 0
        }
      },
      "generatedObject4": {
        "title": "generatedObject4",
        "required": [
          "title",
          "sum",
          "rate_buy_price",
          "cdr_buy_price",
          "amount"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "sum": {
            "type": "number"
          },
          "rate_buy_price": {
            "type": "integer",
            "format": "int32"
          },
          "cdr_buy_price": {
            "type": "integer",
            "format": "int32"
          },
          "amount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "example": {
          "title": "Data",
          "sum": 1.525,
          "rate_buy_price": 0,
          "cdr_buy_price": 0,
          "amount": 200000
        }
      },
      "InternettariffBase1": {
        "title": "InternettariffBase1",
        "required": [
          "title",
          "partners_ids",
          "with_vat",
          "speed_download",
          "speed_upload",
          "hide_on_admin_portal",
          "show_on_customer_portal"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Unique title of tariff",
            "example": "Aplha"
          },
          "service_name": {
            "type": "string",
            "description": "Unique service name. If not set will be get from title",
            "example": "aplha"
          },
          "partners_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Array of partners (ids) who can use this tariff"
          },
          "price": {
            "type": "number",
            "description": "Price",
            "example": 100
          },
          "with_vat": {
            "type": "boolean",
            "description": "With VAT or not",
            "example": true
          },
          "vat_percent": {
            "type": "number",
            "description": "VAT value",
            "example": 19
          },
          "speed_download": {
            "type": "number",
            "description": "Download speed (kbps)",
            "example": 102400
          },
          "speed_upload": {
            "type": "number",
            "description": "Upload speed (kbps)",
            "example": 102400
          },
          "speed_limit_at": {
            "type": "number",
            "description": "Guaranteed speed limit at X%. Default: 10",
            "example": 10
          },
          "aggregation": {
            "type": "number",
            "description": "Aggregation: 1:X. Default: 1",
            "example": 1
          },
          "burst_limit": {
            "type": "number",
            "description": "Burst limit: +X%. Default: 0",
            "example": 0
          },
          "burst_limit_fixed_down": {
            "type": "number",
            "description": "Download burst limit. Default: 0",
            "example": 0
          },
          "burst_limit_fixed_up": {
            "type": "number",
            "description": "Upload burst limit. Default: 0",
            "example": 0
          },
          "burst_threshold": {
            "type": "number",
            "description": "Burst threshold: X%. Default: 0",
            "example": 0
          },
          "burst_threshold_fixed_down": {
            "type": "number",
            "description": "Download burst threshold. Default: 0",
            "example": 0
          },
          "burst_threshold_fixed_up": {
            "type": "number",
            "description": "Upload burst threshold. Default: 0",
            "example": 0
          },
          "burst_time": {
            "type": "number",
            "description": "Burst time: X sec. Default: 0",
            "example": 0
          },
          "burst_type": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Burst. Default: none"
          },
          "billing_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Types of billing"
          },
          "customer_categories": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Customer categories"
          },
          "exclude_traffic_classes": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "IDs of Traffic classes"
          },
          "hide_on_admin_portal": {
            "type": "boolean",
            "description": "Hide tariff on Admin portal. Default: false",
            "example": false
          },
          "show_on_customer_portal": {
            "type": "boolean",
            "description": "Show tariff on Customer portal. Default: false",
            "example": false
          },
          "priority": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Priority"
          },
          "speed_limit_type": {
            "type": "string",
            "description": "Type. Can be `none`, `percent`, `fixed`",
            "example": "none"
          },
          "speed_limit_fixed_down": {
            "type": "number",
            "description": "Guaranteed download speed limit. Default: 0",
            "example": 0
          },
          "speed_limit_fixed_up": {
            "type": "number",
            "description": "Guaranteed upload speed limit. Default: 0",
            "example": 0
          },
          "tax_id": {
            "type": "number",
            "description": "Tax id",
            "example": 0
          },
          "transaction_category_id": {
            "type": "number",
            "description": "Transaction category id. Default: 0",
            "example": 0
          },
          "billing_days_count": {
            "type": "number",
            "description": "Prepaid period days. Default: 1",
            "example": 1
          },
          "custom_period": {
            "allOf": [
              {
                "$ref": "#/components/schemas/custom_period"
              },
              {
                "description": "Use for check if use custom period",
                "example": 1
              }
            ]
          },
          "available_for_services": {
            "type": "boolean",
            "description": "Available to assign in services",
            "example": true
          },
          "available_for_locations": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of locations (ids)"
          },
          "customer_labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Customerlabel"
            },
            "description": "Array of customer labels"
          },
          "tariff_labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tarifflabel"
            },
            "description": "Array of tariff labels"
          }
        }
      },
      "is_base": {
        "title": "is_base",
        "enum": [
          "0"
        ],
        "type": "string",
        "description": "Default categories\n    + Members\n        + `0` - No\n        + `1` - Yes",
        "example": "0"
      },
      "is_sent": {
        "title": "is_sent",
        "enum": [
          "0",
          "1"
        ],
        "type": "string",
        "description": "Is sent",
        "example": "0"
      },
      "location": {
        "title": "location",
        "enum": [
          "before_content",
          "after_content"
        ],
        "type": "string",
        "description": "Location where the Entry Point code placed.",
        "example": "after_content"
      },
      "mark": {
        "title": "mark",
        "enum": [
          "new",
          "used",
          "broken"
        ],
        "type": "string",
        "description": "Item mark",
        "example": "new"
      },
      "Message": {
        "title": "Message",
        "required": [
          "0",
          "4",
          "total"
        ],
        "type": "object",
        "properties": {
          "0": {
            "$ref": "#/components/schemas/generatedObject2"
          },
          "4": {
            "$ref": "#/components/schemas/generatedObject2"
          },
          "total": {
            "$ref": "#/components/schemas/Total2"
          }
        },
        "example": {
          "0": {
            "title": "SMS",
            "sum": 0,
            "rate_buy_price": 0,
            "cdr_buy_price": 0,
            "amount": 0
          },
          "4": {
            "title": "Mesajes",
            "sum": 0,
            "rate_buy_price": 0,
            "cdr_buy_price": 0,
            "amount": 0
          },
          "total": {
            "title": "Total",
            "sum": 0.976,
            "rate_buy_price": 0,
            "cdr_buy_price": 0,
            "amount": 2
          }
        }
      },
      "message_type": {
        "title": "message_type",
        "enum": [
          "message",
          "note",
          "change_ticket"
        ],
        "type": "string",
        "description": "Type of ticket message"
      },
      "module": {
        "title": "module",
        "enum": [
          "ticket",
          "scheduling_task",
          "customers"
        ],
        "type": "string",
        "description": "Label module",
        "example": "customers"
      },
      "One-timetariffBase1": {
        "title": "One-timetariffBase1",
        "required": [
          "title",
          "partners_ids",
          "hide_on_admin_portal"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Unique title of tariff",
            "example": "Aplha"
          },
          "service_description": {
            "type": "string",
            "description": "Unique service description",
            "example": "aplha"
          },
          "price": {
            "type": "number",
            "description": "Price",
            "example": 100
          },
          "with_vat": {
            "type": "boolean",
            "description": "With VAT or not",
            "example": true
          },
          "vat_percent": {
            "type": "number",
            "description": "VAT value",
            "example": 19
          },
          "partners_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Array of partners (ids) who can use this tariff"
          },
          "customer_categories": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Customer categories"
          },
          "customer_labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Customerlabel"
            },
            "description": "Array of customer labels"
          },
          "tariff_labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tarifflabel"
            },
            "description": "Array of tariff labels"
          },
          "available_for_locations": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of locations (ids)"
          },
          "enabled": {
            "type": "boolean",
            "description": "Enabled",
            "example": true
          },
          "hide_on_admin_portal": {
            "type": "boolean",
            "description": "Hide tariff on Admin portal. Default: false",
            "example": false
          },
          "show_on_customer_portal": {
            "type": "boolean",
            "description": "Show tariff on Customer portal. Default: false",
            "example": false
          },
          "tax_id": {
            "type": "number",
            "description": "Tax id",
            "example": 0
          }
        }
      },
      "place": {
        "title": "place",
        "enum": [
          "'portal'",
          "portal",
          "admin",
          "mobile"
        ],
        "type": "string",
        "description": "Where the Entry Point placed. `mobile` is served to the customer mobile app.",
        "example": "'portal'"
      },
      "placement": {
        "title": "placement",
        "enum": [
          "before_content",
          "after_content"
        ],
        "type": "string",
        "description": "Widget placement area. Included if type of widget is `entry_point`.",
        "example": "after_content"
      },
      "provisioned": {
        "title": "provisioned",
        "enum": [
          "no",
          "yes",
          "error"
        ],
        "type": "string",
        "description": "Is ACS Device provisioned",
        "example": "no"
      },
      "Reassignachatrequest": {
        "title": "Reassignachatrequest",
        "required": [
          "admin_id"
        ],
        "type": "object",
        "properties": {
          "admin_id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "example": {
          "admin_id": 1
        }
      },
      "RecurringtariffBase1": {
        "title": "RecurringtariffBase1",
        "required": [
          "title",
          "partners_ids",
          "with_vat",
          "hide_on_admin_portal"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Unique title of tariff",
            "example": "Aplha"
          },
          "service_name": {
            "type": "string",
            "description": "Unique service name. If not set will be get from title",
            "example": "aplha"
          },
          "partners_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Array of partners (ids) who can use this tariff"
          },
          "price": {
            "type": "number",
            "description": "Price",
            "example": 100
          },
          "with_vat": {
            "type": "boolean",
            "description": "With VAT or not",
            "example": true
          },
          "vat_percent": {
            "type": "number",
            "description": "VAT value",
            "example": 19
          },
          "billing_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Types of billing"
          },
          "billing_days_count": {
            "type": "number",
            "description": "Prepaid period days. Default: 1",
            "example": 1
          },
          "custom_period": {
            "allOf": [
              {
                "$ref": "#/components/schemas/custom_period"
              },
              {
                "description": "Use for check if use custom period",
                "example": 1
              }
            ]
          },
          "available_for_services": {
            "type": "boolean",
            "description": "Available to assign in services",
            "example": true
          },
          "available_for_locations": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of locations (ids)"
          },
          "customer_categories": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Customer categories"
          },
          "customer_labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Customerlabel"
            },
            "description": "Array of customer labels"
          },
          "tariff_labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tarifflabel"
            },
            "description": "Array of tariff labels"
          },
          "hide_on_admin_portal": {
            "type": "boolean",
            "description": "Hide tariff on Admin portal. Default: false",
            "example": false
          },
          "show_on_customer_portal": {
            "type": "boolean",
            "description": "Show tariff on Customer portal. Default: false",
            "example": false
          },
          "tax_id": {
            "type": "number",
            "description": "Tax id",
            "example": 0
          }
        }
      },
      "RedeemRefillcardrequest": {
        "title": "RedeemRefillcardrequest",
        "required": [
          "code",
          "customer_id"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "customer_id": {
            "type": "string"
          }
        },
        "example": {
          "code": "201902-kek-Cr7KphD1qlOfBzYa",
          "customer_id": "1"
        }
      },
      "related_account_type": {
        "title": "related_account_type",
        "enum": [
          "none"
        ],
        "type": "string",
        "description": "Type of the related account\n    + Members\n        + `none`\n        + `main`\n        + `sub`",
        "example": "none"
      },
      "related_service_type": {
        "title": "related_service_type",
        "enum": [
          "internet",
          "recurring",
          "voice"
        ],
        "type": "string",
        "description": "The type of service related to the task",
        "example": "internet"
      },
      "related_ticket_info": {
        "title": "related_ticket_info",
        "type": "object",
        "properties": {
          "ticket_id": {
            "type": "number",
            "example": 1
          },
          "ticket_subject": {
            "type": "string",
            "example": "Ticket subject"
          }
        },
        "description": "Will be set if task created from ticket"
      },
      "reporter_type": {
        "title": "reporter_type",
        "enum": [
          "admin",
          "customer",
          "api",
          "incoming",
          "none"
        ],
        "type": "string",
        "description": "Type of the reporter",
        "example": "admin"
      },
      "Retrievestatisticsresponse": {
        "title": "Retrievestatisticsresponse",
        "required": [
          "call",
          "message",
          "data"
        ],
        "type": "object",
        "properties": {
          "call": {
            "$ref": "#/components/schemas/Call"
          },
          "message": {
            "$ref": "#/components/schemas/Message"
          },
          "data": {
            "$ref": "#/components/schemas/Data"
          }
        },
        "example": {
          "call": {
            "0": {
              "_comment": "This element contains totals of records without category",
              "title": "Calls",
              "duration": 386,
              "sum": 0.07,
              "rate_buy_price": 0,
              "cdr_buy_price": 0
            },
            "2": {
              "_comment": "This element contains totals of L-902A(1-4) category #2",
              "title": "L-902A(1-4)",
              "duration": 1472,
              "amount": 0,
              "sum": 0.51577452,
              "rate_buy_price": 0,
              "cdr_buy_price": 0.09046056
            },
            "total": {
              "_comment": "This element contains totals of all categories",
              "title": "Total",
              "sum": 206.73256484,
              "rate_buy_price": 0,
              "cdr_buy_price": 209.97441838,
              "duration": 1066717
            }
          },
          "message": {
            "0": {
              "title": "SMS",
              "sum": 0,
              "rate_buy_price": 0,
              "cdr_buy_price": 0,
              "amount": 0
            },
            "4": {
              "title": "Mesajes",
              "sum": 0,
              "rate_buy_price": 0,
              "cdr_buy_price": 0,
              "amount": 0
            },
            "total": {
              "title": "Total",
              "sum": 0.976,
              "rate_buy_price": 0,
              "cdr_buy_price": 0,
              "amount": 2
            }
          },
          "data": {
            "0": {
              "title": "Data",
              "sum": 1.525,
              "rate_buy_price": 0,
              "cdr_buy_price": 0,
              "amount": 200000
            },
            "5": {
              "title": "Datos",
              "sum": 0,
              "rate_buy_price": 0,
              "cdr_buy_price": 0,
              "amount": 0
            },
            "total": {
              "title": "Total",
              "sum": 2.135,
              "rate_buy_price": 0,
              "cdr_buy_price": 0,
              "amount": 5200000
            }
          }
        }
      },
      "rrd_dst": {
        "title": "rrd_dst",
        "enum": [
          "NONE",
          "COUNTER",
          "DERIVE",
          "ABSOLUTE",
          "GAUGE"
        ],
        "type": "string",
        "description": "RRD storage mode",
        "example": "NONE"
      },
      "Sendcustomerdocumentresponse": {
        "title": "Sendcustomerdocumentresponse",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          }
        },
        "example": {
          "id": 5
        }
      },
      "Sendtemplatemessagerequest": {
        "title": "Sendtemplatemessagerequest",
        "required": [
          "template_id",
          "customer_id"
        ],
        "type": "object",
        "properties": {
          "phone": {
            "type": "string",
            "description": "Phone number. **Required if `chat_id` is not provided**",
            "example": "420123456879"
          },
          "chat_id": {
            "type": "number",
            "description": "Chat ID. If provided, the phone number is taken from the chat",
            "example": 1
          },
          "template_id": {
            "type": "number",
            "description": "Template ID",
            "example": 1
          },
          "customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "admin_id": {
            "type": "number",
            "description": "Admin ID.\n\n**Required if `auth_type = APIKey`.**\n**Ignored if `auth_type = Admin` (value is taken from system)**",
            "example": 1
          }
        }
      },
      "service_type": {
        "title": "service_type",
        "enum": [
          "internet",
          "voice",
          "custom",
          "bundle",
          "one_time"
        ],
        "type": "string",
        "description": "Service type",
        "example": "internet"
      },
      "service_type1": {
        "title": "service_type1",
        "enum": [
          "internet",
          "voice",
          "custom"
        ],
        "type": "string"
      },
      "size": {
        "title": "size",
        "enum": [
          "extra_small",
          "small",
          "medium",
          "large",
          "extra_large"
        ],
        "type": "string",
        "description": "Modal window size. Used only for Entry Points with type `action_link`.",
        "example": "large"
      },
      "source": {
        "title": "source",
        "enum": [
          "manual",
          "auto",
          "cdr",
          "config"
        ],
        "type": "string",
        "description": "Source",
        "example": "manual"
      },
      "source1": {
        "title": "source1",
        "enum": [
          "administration",
          "api",
          "portal",
          "widget",
          "incoming"
        ],
        "type": "string",
        "description": "Origin of the ticket",
        "example": "administration"
      },
      "source2": {
        "title": "source2",
        "enum": [
          "administration",
          "api",
          "portal",
          "public_form",
          "incoming"
        ],
        "type": "string",
        "description": "Source of the message",
        "example": "administration"
      },
      "src": {
        "title": "src",
        "enum": [
          "customer",
          "service"
        ],
        "type": "string",
        "description": "Source of geo data.",
        "example": "customer"
      },
      "status": {
        "title": "status",
        "enum": [
          "stock",
          "internal_usage",
          "sold",
          "rent",
          "returned",
          "assigned"
        ],
        "type": "string",
        "description": "Item status",
        "example": "stock"
      },
      "status1": {
        "title": "status1",
        "enum": [
          "null",
          "ok",
          "api_error",
          "error",
          "disabled",
          "unknown"
        ],
        "type": "string",
        "description": "Router status",
        "example": "null"
      },
      "StockBase1": {
        "title": "StockBase1",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Stock name",
            "example": "Stock #315955388"
          }
        }
      },
      "TaskBase1": {
        "title": "TaskBase1",
        "required": [
          "title",
          "address",
          "partner_id",
          "project_id",
          "priority",
          "workflow_status_id"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Task title, min length: 3, max length: 64",
            "example": "Scheduling task 1"
          },
          "description": {
            "type": "string",
            "description": "Task description",
            "example": "My new project"
          },
          "reporter_id": {
            "type": "number",
            "example": 1
          },
          "address": {
            "type": "string",
            "description": "Address",
            "example": "3rd Street 2345"
          },
          "gps": {
            "type": "string",
            "description": "Valid coordinates",
            "example": "50.10676296991858,14.445095658302305"
          },
          "related_customer_id": {
            "type": "number",
            "description": "Customer ID",
            "example": 1
          },
          "related_lead_id": {
            "type": "number",
            "description": "Lead ID",
            "example": 0
          },
          "resolved_at": {
            "type": "string",
            "example": "2019-05-16 20:00:55"
          },
          "partner_id": {
            "type": "number",
            "description": "Partner ID",
            "example": 1
          },
          "project_id": {
            "type": "number",
            "description": "Project ID",
            "example": 1
          },
          "location_id": {
            "type": "number",
            "example": 1
          },
          "related_to_id": {
            "type": "number",
            "example": 1
          },
          "related_service_id": {
            "type": "number",
            "example": 1
          },
          "related_service_type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/related_service_type"
              },
              {
                "description": "The type of service related to the task",
                "example": "internet"
              }
            ]
          },
          "created_at": {
            "type": "string",
            "description": "Date of task creating",
            "example": "2019-05-16 17:00:55"
          },
          "updated_at": {
            "type": "string",
            "example": "2019-05-16 20:00:55"
          },
          "priority": {
            "type": "string",
            "description": "Task priority: 'priority_low', 'priority_medium', 'priority_high'",
            "example": "priority_medium"
          },
          "assigned_to": {
            "allOf": [
              {
                "$ref": "#/components/schemas/assigned_to"
              },
              {
                "description": "The team or individual to whom the task is assigned"
              }
            ]
          },
          "assignee": {
            "type": "number",
            "example": 1
          },
          "assigned_at": {
            "type": "string",
            "example": "2024-11-04 16:33:18"
          },
          "is_scheduled": {
            "type": "boolean",
            "description": "Is Task Scheduled true or false",
            "example": true
          },
          "scheduled_from": {
            "type": "string",
            "description": "Shcheduled from date time",
            "example": "2019-05-16 18:00:55"
          },
          "formatted_duration": {
            "type": "string",
            "description": "Scheduled task duration format '0h 0m'",
            "example": "1h 25m"
          },
          "checklist_template_id": {
            "type": "number",
            "description": "Checklist template ID",
            "example": 1
          },
          "workflow_status_id": {
            "type": "number",
            "description": "Workflow status ID",
            "example": 1
          },
          "is_archived": {
            "type": "number",
            "description": "Is task archived. Valid values: 0, 1. Default: 0",
            "example": 0
          },
          "createdFromTicket": {
            "type": "boolean",
            "description": "If Task created from ticket true or false",
            "example": true
          },
          "task_labels": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of task labels (ids)."
          },
          "related_ticket_info": {
            "allOf": [
              {
                "$ref": "#/components/schemas/related_ticket_info"
              },
              {
                "description": "Will be set if task created from ticket"
              }
            ]
          },
          "travel_time_to": {
            "type": "number",
            "example": 0
          },
          "travel_time_from": {
            "type": "number",
            "example": 0
          },
          "closed": {
            "type": "number",
            "example": 0
          },
          "notification_send_interval": {
            "type": "number",
            "example": 0
          },
          "notification_enabled": {
            "type": "string",
            "example": "1"
          },
          "remaining": {
            "type": "number",
            "example": 0
          },
          "last_status_changed": {
            "type": "string",
            "example": "2024-04-15 11:06:45"
          },
          "watchers": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of task watchers IDs"
          }
        }
      },
      "tasks_item_status": {
        "title": "tasks_item_status",
        "type": "object",
        "properties": {
          "task_id": {
            "type": "number",
            "description": "Task id",
            "example": 1
          },
          "checklist_template_item_id": {
            "type": "number",
            "description": "ID of checklist template item",
            "example": 1
          },
          "checked": {
            "type": "boolean",
            "description": "If task checklist template item is checked true or false",
            "example": true
          }
        },
        "description": "Task checklist item status"
      },
      "TogglepinforTaskCommentresponse": {
        "title": "TogglepinforTaskCommentresponse",
        "required": [
          "is_pinned"
        ],
        "type": "object",
        "properties": {
          "is_pinned": {
            "type": "boolean"
          }
        },
        "example": {
          "is_pinned": true
        }
      },
      "Total1": {
        "title": "Total1",
        "required": [
          "_comment",
          "title",
          "sum",
          "rate_buy_price",
          "cdr_buy_price",
          "duration"
        ],
        "type": "object",
        "properties": {
          "_comment": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "sum": {
            "type": "number"
          },
          "rate_buy_price": {
            "type": "integer",
            "format": "int32"
          },
          "cdr_buy_price": {
            "type": "number"
          },
          "duration": {
            "type": "integer",
            "format": "int32"
          }
        },
        "example": {
          "_comment": "This element contains totals of all categories",
          "title": "Total",
          "sum": 206.73256484,
          "rate_buy_price": 0,
          "cdr_buy_price": 209.97441838,
          "duration": 1066717
        }
      },
      "Total2": {
        "title": "Total2",
        "required": [
          "title",
          "sum",
          "rate_buy_price",
          "cdr_buy_price",
          "amount"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "sum": {
            "type": "number"
          },
          "rate_buy_price": {
            "type": "integer",
            "format": "int32"
          },
          "cdr_buy_price": {
            "type": "integer",
            "format": "int32"
          },
          "amount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "example": {
          "title": "Total",
          "sum": 0.976,
          "rate_buy_price": 0,
          "cdr_buy_price": 0,
          "amount": 2
        }
      },
      "Transactioncategoriesconfigurationresponse": {
        "title": "Transactioncategoriesconfigurationresponse",
        "required": [
          "transaction_type_bundle_activation_fee",
          "transaction_type_bundle_cancellation_fee",
          "transaction_type_bundle_service",
          "transaction_type_bundle_service_discount",
          "transaction_type_custom_service",
          "transaction_type_custom_service_discount",
          "transaction_type_internet_service",
          "transaction_type_internet_service_discount",
          "transaction_type_internet_top_up",
          "transaction_type_inventory_sell",
          "transaction_type_invoice_item",
          "transaction_type_one_time_service",
          "transaction_type_voice_service",
          "transaction_type_voice_service_calls",
          "transaction_type_voice_service_data",
          "transaction_type_voice_service_discount",
          "transaction_type_voice_service_messages"
        ],
        "type": "object",
        "properties": {
          "transaction_type_bundle_activation_fee": {
            "$ref": "#/components/schemas/TransactionTypeBundleActivationFee"
          },
          "transaction_type_bundle_cancellation_fee": {
            "$ref": "#/components/schemas/TransactionTypeBundleCancellationFee"
          },
          "transaction_type_bundle_service": {
            "$ref": "#/components/schemas/TransactionTypeBundleService"
          },
          "transaction_type_bundle_service_discount": {
            "$ref": "#/components/schemas/TransactionTypeBundleServiceDiscount"
          },
          "transaction_type_custom_service": {
            "$ref": "#/components/schemas/TransactionTypeCustomService"
          },
          "transaction_type_custom_service_discount": {
            "$ref": "#/components/schemas/TransactionTypeCustomServiceDiscount"
          },
          "transaction_type_internet_service": {
            "$ref": "#/components/schemas/TransactionTypeInternetService"
          },
          "transaction_type_internet_service_discount": {
            "$ref": "#/components/schemas/TransactionTypeInternetServiceDiscount"
          },
          "transaction_type_internet_top_up": {
            "$ref": "#/components/schemas/TransactionTypeInternetTopUp"
          },
          "transaction_type_inventory_sell": {
            "$ref": "#/components/schemas/TransactionTypeInventorySell"
          },
          "transaction_type_invoice_item": {
            "$ref": "#/components/schemas/TransactionTypeInvoiceItem"
          },
          "transaction_type_one_time_service": {
            "$ref": "#/components/schemas/TransactionTypeOneTimeService"
          },
          "transaction_type_voice_service": {
            "$ref": "#/components/schemas/TransactionTypeVoiceService"
          },
          "transaction_type_voice_service_calls": {
            "$ref": "#/components/schemas/TransactionTypeVoiceServiceCalls"
          },
          "transaction_type_voice_service_data": {
            "$ref": "#/components/schemas/TransactionTypeVoiceServiceData"
          },
          "transaction_type_voice_service_discount": {
            "$ref": "#/components/schemas/TransactionTypeVoiceServiceDiscount"
          },
          "transaction_type_voice_service_messages": {
            "$ref": "#/components/schemas/TransactionTypeVoiceServiceMessages"
          }
        },
        "example": {
          "transaction_type_bundle_activation_fee": {
            "id": "0"
          },
          "transaction_type_bundle_cancellation_fee": {
            "id": "0"
          },
          "transaction_type_bundle_service": {
            "id": "5"
          },
          "transaction_type_bundle_service_discount": {
            "id": "0"
          },
          "transaction_type_custom_service": {
            "id": "1"
          },
          "transaction_type_custom_service_discount": {
            "id": "0"
          },
          "transaction_type_internet_service": {
            "id": "1"
          },
          "transaction_type_internet_service_discount": {
            "id": "0"
          },
          "transaction_type_internet_top_up": {
            "id": "1"
          },
          "transaction_type_inventory_sell": {
            "id": "1"
          },
          "transaction_type_invoice_item": {
            "id": "1"
          },
          "transaction_type_one_time_service": {
            "id": "1"
          },
          "transaction_type_voice_service": {
            "id": "1"
          },
          "transaction_type_voice_service_calls": {
            "id": "1"
          },
          "transaction_type_voice_service_data": {
            "id": "1"
          },
          "transaction_type_voice_service_discount": {
            "id": "0"
          },
          "transaction_type_voice_service_messages": {
            "id": "1"
          }
        }
      },
      "TransactionTypeBundleActivationFee": {
        "title": "TransactionTypeBundleActivationFee",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "example": {
          "id": "0"
        }
      },
      "TransactionTypeBundleCancellationFee": {
        "title": "TransactionTypeBundleCancellationFee",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "example": {
          "id": "0"
        }
      },
      "TransactionTypeBundleService": {
        "title": "TransactionTypeBundleService",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "example": {
          "id": "5"
        }
      },
      "TransactionTypeBundleServiceDiscount": {
        "title": "TransactionTypeBundleServiceDiscount",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "example": {
          "id": "0"
        }
      },
      "TransactionTypeCustomService": {
        "title": "TransactionTypeCustomService",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "example": {
          "id": "1"
        }
      },
      "TransactionTypeCustomServiceDiscount": {
        "title": "TransactionTypeCustomServiceDiscount",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "example": {
          "id": "0"
        }
      },
      "TransactionTypeInternetService": {
        "title": "TransactionTypeInternetService",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "example": {
          "id": "1"
        }
      },
      "TransactionTypeInternetServiceDiscount": {
        "title": "TransactionTypeInternetServiceDiscount",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "example": {
          "id": "0"
        }
      },
      "TransactionTypeInternetTopUp": {
        "title": "TransactionTypeInternetTopUp",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "example": {
          "id": "1"
        }
      },
      "TransactionTypeInventorySell": {
        "title": "TransactionTypeInventorySell",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "example": {
          "id": "1"
        }
      },
      "TransactionTypeInvoiceItem": {
        "title": "TransactionTypeInvoiceItem",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "example": {
          "id": "1"
        }
      },
      "TransactionTypeOneTimeService": {
        "title": "TransactionTypeOneTimeService",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "example": {
          "id": "1"
        }
      },
      "TransactionTypeVoiceService": {
        "title": "TransactionTypeVoiceService",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "example": {
          "id": "1"
        }
      },
      "TransactionTypeVoiceServiceCalls": {
        "title": "TransactionTypeVoiceServiceCalls",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "example": {
          "id": "1"
        }
      },
      "TransactionTypeVoiceServiceData": {
        "title": "TransactionTypeVoiceServiceData",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "example": {
          "id": "1"
        }
      },
      "TransactionTypeVoiceServiceDiscount": {
        "title": "TransactionTypeVoiceServiceDiscount",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "example": {
          "id": "0"
        }
      },
      "TransactionTypeVoiceServiceMessages": {
        "title": "TransactionTypeVoiceServiceMessages",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          }
        },
        "example": {
          "id": "1"
        }
      },
      "type1": {
        "title": "type1",
        "enum": [
          "base",
          "entry_point"
        ],
        "type": "string",
        "description": "Type of widget",
        "example": "entry_point"
      },
      "type2": {
        "title": "type2",
        "enum": [
          "one_time",
          "recurring"
        ],
        "type": "string",
        "description": "Type",
        "example": "one_time"
      },
      "type3": {
        "title": "type3",
        "enum": [
          "menu_link",
          "code",
          "action_link",
          "tab"
        ],
        "type": "string",
        "description": "Type of the Entry Point",
        "example": "action_link"
      },
      "type4": {
        "title": "type4",
        "enum": [
          "customer-portal",
          "inventory-notifications-mail",
          "inventory-notifications-sms",
          "invoice-pdf",
          "mail",
          "sms",
          "documents",
          "cards",
          "payment-calendar",
          "payment-receipt",
          "request-pdf",
          "reminder-mail",
          "reminder-sms",
          "monitoring-notification-mail",
          "monitoring-notification-sms",
          "exports",
          "tickets",
          "tickets-sms",
          "ticket-automation",
          "mail_cap",
          "sms_cap",
          "internal",
          "mail_fup",
          "sms_fup",
          "report_statements",
          "quote-pdf",
          "scheduling-notifications-mail",
          "scheduling-notifications-sms",
          "crm_notifications",
          "comment_reminders",
          "gdpr-notification",
          "terms",
          "mention_notifications_mail",
          "credit-note-pdf",
          "service_order"
        ],
        "type": "string",
        "description": "Template category",
        "example": "mail"
      },
      "type5": {
        "title": "type5",
        "enum": [
          1,
          2,
          3,
          4,
          5,
          6,
          7
        ],
        "type": "integer",
        "description": "Stock type",
        "example": 1
      },
      "type6": {
        "title": "type6",
        "enum": [
          "string",
          "password",
          "email",
          "integer",
          "float",
          "numeric",
          "boolean",
          "array",
          "date",
          "datetime",
          "select",
          "uri",
          "ip",
          "ipv6",
          "encrypted"
        ],
        "type": "string",
        "description": "Setting type",
        "example": "string"
      },
      "type7": {
        "title": "type7",
        "enum": [
          "internet",
          "voice",
          "custom"
        ],
        "type": "string"
      },
      "UpdateaCallrequest": {
        "title": "UpdateaCallrequest",
        "required": [
          "duration"
        ],
        "type": "object",
        "properties": {
          "duration": {
            "type": "integer",
            "format": "int32"
          }
        },
        "example": {
          "duration": 300
        }
      },
      "UpdateaCapTariffrequest": {
        "title": "UpdateaCapTariffrequest",
        "required": [
          "title"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          }
        },
        "example": {
          "title": "lte-top-1g"
        }
      },
      "UpdateaCappeddatarequest": {
        "title": "UpdateaCappeddatarequest",
        "required": [
          "quantity"
        ],
        "type": "object",
        "properties": {
          "quantity": {
            "type": "string"
          }
        },
        "example": {
          "quantity": "500000000"
        }
      },
      "UpdateaCRMpipelinestatusrequest": {
        "title": "UpdateaCRMpipelinestatusrequest",
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "example": {
          "name": "Lost"
        }
      },
      "UpdateaInventoryStockrequest": {
        "title": "UpdateaInventoryStockrequest",
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "example": {
          "name": "Stock #315955389"
        }
      },
      "UpdateaIPv4IPrequest": {
        "title": "UpdateaIPv4IPrequest",
        "required": [
          "title",
          "host_category",
          "customer_id",
          "is_used"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "host_category": {
            "type": "integer",
            "format": "int32"
          },
          "customer_id": {
            "type": "integer",
            "format": "int32"
          },
          "is_used": {
            "type": "integer",
            "format": "int32"
          }
        },
        "example": {
          "title": "Used by John Doe",
          "host_category": 1,
          "customer_id": 1,
          "is_used": 1
        }
      },
      "UpdateaIPv6IPrequest": {
        "title": "UpdateaIPv6IPrequest",
        "required": [
          "title",
          "host_category",
          "customer_id",
          "is_used"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "host_category": {
            "type": "integer",
            "format": "int32"
          },
          "customer_id": {
            "type": "integer",
            "format": "int32"
          },
          "is_used": {
            "type": "integer",
            "format": "int32"
          }
        },
        "example": {
          "title": "Used by John Doe",
          "host_category": 1,
          "customer_id": 1,
          "is_used": 1
        }
      },
      "Updatealabelrequest": {
        "title": "Updatealabelrequest",
        "required": [
          "label"
        ],
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          }
        },
        "example": {
          "label": "Label #315955389"
        }
      },
      "UpdateaLeadinforequest": {
        "title": "UpdateaLeadinforequest",
        "required": [
          "score",
          "owner"
        ],
        "type": "object",
        "properties": {
          "score": {
            "type": "integer",
            "format": "int32"
          },
          "owner": {
            "type": "integer",
            "format": "int32"
          }
        },
        "example": {
          "score": 25,
          "owner": 1
        }
      },
      "UpdateaPaymentmethodrequest": {
        "title": "UpdateaPaymentmethodrequest",
        "required": [
          "name",
          "name_1"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "name_1": {
            "type": "string"
          }
        },
        "example": {
          "name": "Cash",
          "name_1": "Payer"
        }
      },
      "UpdateaPendingstatusrecordrequest": {
        "title": "UpdateaPendingstatusrecordrequest",
        "required": [
          "date"
        ],
        "type": "object",
        "properties": {
          "date": {
            "type": "string"
          }
        },
        "example": {
          "date": "2018-08-20"
        }
      },
      "UpdateaRouterSectorrequest": {
        "title": "UpdateaRouterSectorrequest",
        "required": [
          "title",
          "speed_down",
          "priority"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "speed_down": {
            "type": "integer",
            "format": "int32"
          },
          "priority": {
            "type": "integer",
            "format": "int32"
          }
        },
        "example": {
          "title": "Limit 4/1",
          "speed_down": 4096,
          "priority": 2
        }
      },
      "UpdateaSchedulingChecklistTempalterequest": {
        "title": "UpdateaSchedulingChecklistTempalterequest",
        "required": [
          "title"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          }
        },
        "example": {
          "title": "Disconnect client"
        }
      },
      "UpdateaSchedulingProjectCategoryrequest": {
        "title": "UpdateaSchedulingProjectCategoryrequest",
        "required": [
          "title"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          }
        },
        "example": {
          "title": "Project Category name"
        }
      },
      "UpdateaSchedulingProjectTyperequest": {
        "title": "UpdateaSchedulingProjectTyperequest",
        "required": [
          "title"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          }
        },
        "example": {
          "title": "High priority"
        }
      },
      "UpdateaSchedulingTaskTempalterequest": {
        "title": "UpdateaSchedulingTaskTempalterequest",
        "required": [
          "title"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          }
        },
        "example": {
          "title": "Scheduling Task Template title update"
        }
      },
      "UpdateaSchedulingTeamrequest": {
        "title": "UpdateaSchedulingTeamrequest",
        "required": [
          "title"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          }
        },
        "example": {
          "title": "Team changed name"
        }
      },
      "UpdateaSchedulingWorkflowrequest": {
        "title": "UpdateaSchedulingWorkflowrequest",
        "required": [
          "title"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          }
        },
        "example": {
          "title": "Workflow name"
        }
      },
      "UpdateaTaskCommentrequest": {
        "title": "UpdateaTaskCommentrequest",
        "required": [
          "comment"
        ],
        "type": "object",
        "properties": {
          "comment": {
            "type": "string"
          }
        },
        "example": {
          "comment": "Some text"
        }
      },
      "Updateaticketfeedbacksrequest": {
        "title": "Updateaticketfeedbacksrequest",
        "required": [
          "comment"
        ],
        "type": "object",
        "properties": {
          "comment": {
            "type": "string"
          }
        },
        "example": {
          "comment": "new text"
        }
      },
      "UpdateaTicketmessagerequest": {
        "title": "UpdateaTicketmessagerequest",
        "required": [
          "message"
        ],
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          }
        },
        "example": {
          "message": "Better message"
        }
      },
      "UpdateaTicketrequest": {
        "title": "UpdateaTicketrequest",
        "type": "object",
        "properties": {
          "subject": {
            "type": "string"
          },
          "preventNotification": {
            "type": "boolean",
            "default": false,
            "writeOnly": true,
            "description": "Optional. If `true`, suppresses both customer and admin notifications (email + SMS) triggered by this update \u2014 most commonly when changing `status` to `closed`. Mirrors the UI checkbox \"Close without notification to customer\". Write-only: accepted in the request but never returned in API responses.",
            "example": true
          }
        },
        "example": {
          "status": "closed",
          "preventNotification": true
        }
      },
      "UpdateaTransactioncategoryrequest": {
        "title": "UpdateaTransactioncategoryrequest",
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "example": {
          "name": "Credit"
        }
      },
      "UpdateAdditionaldiscountrequest": {
        "title": "UpdateAdditionaldiscountrequest",
        "required": [
          "start_date"
        ],
        "type": "object",
        "properties": {
          "start_date": {
            "type": "string"
          }
        },
        "example": {
          "start_date": "2018-07-09"
        }
      },
      "Updateanattributerequest": {
        "title": "Updateanattributerequest",
        "required": [
          "values"
        ],
        "type": "object",
        "properties": {
          "values": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": ""
          }
        },
        "example": {
          "values": [
            "view"
          ]
        }
      },
      "Updatebillingrequest": {
        "title": "Updatebillingrequest",
        "required": [
          "make_invoices"
        ],
        "type": "object",
        "properties": {
          "make_invoices": {
            "type": "integer",
            "format": "int32"
          }
        },
        "example": {
          "make_invoices": 0
        }
      },
      "Updatecustomerpaymentaccountrequest": {
        "title": "Updatecustomerpaymentaccountrequest",
        "required": [
          "field_1"
        ],
        "type": "object",
        "properties": {
          "field_1": {
            "type": "string"
          }
        },
        "example": {
          "field_1": "new value"
        }
      },
      "UpdateFUPCompilerrequest": {
        "title": "UpdateFUPCompilerrequest",
        "required": [
          "traffic_accounting"
        ],
        "type": "object",
        "properties": {
          "traffic_accounting": {
            "type": "integer",
            "format": "int32"
          }
        },
        "example": {
          "traffic_accounting": 0
        }
      },
      "UpdateFUPCounterrequest": {
        "title": "UpdateFUPCounterrequest",
        "required": [
          "day_up"
        ],
        "type": "object",
        "properties": {
          "day_up": {
            "type": "integer",
            "format": "int64"
          }
        },
        "example": {
          "day_up": 2154842512
        }
      },
      "UpdateFUPLimitrequest": {
        "title": "UpdateFUPLimitrequest",
        "required": [
          "traffic_amount"
        ],
        "type": "object",
        "properties": {
          "traffic_amount": {
            "type": "string"
          }
        },
        "example": {
          "traffic_amount": "123"
        }
      },
      "UpdateFUPOverriderequest": {
        "title": "UpdateFUPOverriderequest",
        "required": [
          "speed_download"
        ],
        "type": "object",
        "properties": {
          "speed_download": {
            "type": "integer",
            "format": "int32"
          }
        },
        "example": {
          "speed_download": 15000
        }
      },
      "UpdateFUPPolicyrequest": {
        "title": "UpdateFUPPolicyrequest",
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "example": {
          "name": "New FUP Policy"
        }
      },
      "UpdateNetworksiterequest": {
        "title": "UpdateNetworksiterequest",
        "required": [
          "title",
          "description",
          "address",
          "gps",
          "location_id"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "gps": {
            "type": "string"
          },
          "location_id": {
            "type": "string"
          }
        },
        "example": {
          "title": "Network site 1",
          "description": "Network site description",
          "address": "Big street 11-321",
          "gps": "50.10676296991858,14.445095658302305",
          "location_id": "1"
        }
      },
      "Updateonlinecustomerrequest": {
        "title": "Updateonlinecustomerrequest",
        "required": [
          "in_bytes",
          "out_bytes"
        ],
        "type": "object",
        "properties": {
          "in_bytes": {
            "type": "integer",
            "format": "int32"
          },
          "out_bytes": {
            "type": "integer",
            "format": "int32"
          }
        },
        "example": {
          "in_bytes": 106325,
          "out_bytes": 3314247
        }
      },
      "UpdateProjectrequest": {
        "title": "UpdateProjectrequest",
        "required": [
          "title"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          }
        },
        "example": {
          "title": "Scheduling project 2"
        }
      },
      "Updatesettingsrequest": {
        "title": "Updatesettingsrequest",
        "required": [
          "billing_date",
          "billing_due"
        ],
        "type": "object",
        "properties": {
          "billing_date": {
            "type": "integer",
            "format": "int32"
          },
          "billing_due": {
            "type": "integer",
            "format": "int32"
          }
        },
        "example": {
          "billing_date": 5,
          "billing_due": 15
        }
      },
      "UpdateTaskrequest": {
        "title": "UpdateTaskrequest",
        "required": [
          "title"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          }
        },
        "example": {
          "title": "Scheduling task 2"
        }
      },
      "UpdateTaskWorklogrequest": {
        "title": "UpdateTaskWorklogrequest",
        "required": [
          "time_spent"
        ],
        "type": "object",
        "properties": {
          "time_spent": {
            "type": "integer",
            "format": "int32"
          }
        },
        "example": {
          "time_spent": 10000
        }
      },
      "Updatevoucherrequest": {
        "title": "Updatevoucherrequest",
        "required": [
          "speed_download"
        ],
        "type": "object",
        "properties": {
          "speed_download": {
            "type": "integer",
            "format": "int32"
          }
        },
        "example": {
          "speed_download": 2048
        }
      },
      "Updatevouchersserierequest": {
        "title": "Updatevouchersserierequest",
        "required": [
          "prefix"
        ],
        "type": "object",
        "properties": {
          "prefix": {
            "type": "string"
          }
        },
        "example": {
          "prefix": "PREFIX2"
        }
      },
      "UseaIPv6IPrequest": {
        "title": "UseaIPv6IPrequest",
        "required": [
          "ipv6_networks_id",
          "ip",
          "prefix",
          "title",
          "host_category",
          "customer_id",
          "is_used"
        ],
        "type": "object",
        "properties": {
          "ipv6_networks_id": {
            "type": "string"
          },
          "ip": {
            "type": "string"
          },
          "prefix": {
            "type": "integer",
            "format": "int32"
          },
          "title": {
            "type": "string"
          },
          "host_category": {
            "type": "integer",
            "format": "int32"
          },
          "customer_id": {
            "type": "integer",
            "format": "int32"
          },
          "is_used": {
            "type": "integer",
            "format": "int32"
          }
        },
        "example": {
          "ipv6_networks_id": "1",
          "ip": "2001:db8:0:a::",
          "prefix": 64,
          "title": "Used by John Doe",
          "host_category": 1,
          "customer_id": 1,
          "is_used": 1
        }
      },
      "use_transactions": {
        "title": "use_transactions",
        "enum": [
          "0",
          "1"
        ],
        "type": "string",
        "description": "Use transactions",
        "example": "1"
      },
      "validity": {
        "title": "validity",
        "enum": [
          "end_of_period",
          "unlimited",
          "number_of_months",
          "number_of_days",
          "number_of_hours"
        ],
        "type": "string",
        "description": "Validity",
        "example": "number_of_hours"
      },
      "VoicetariffBase1": {
        "title": "VoicetariffBase1",
        "required": [
          "title",
          "type",
          "partners_ids",
          "with_vat"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Unique title of tariff",
            "example": "Aplha"
          },
          "service_name": {
            "type": "string",
            "description": "Unique service name. If not set will be get from title",
            "example": "aplha"
          },
          "type": {
            "type": "string",
            "description": "Type. Can be 'voip' for VoIP, 'fix' for Fix, 'mobile' for Mobile. Default: 'voip'",
            "example": "voip"
          },
          "partners_ids": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Array of partners (ids) who can use this tariff"
          },
          "price": {
            "type": "number",
            "description": "Price",
            "example": 100
          },
          "with_vat": {
            "type": "boolean",
            "description": "With VAT or not",
            "example": true
          },
          "vat_percent": {
            "type": "number",
            "description": "VAT value",
            "example": 19
          },
          "billing_types": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Types of billing"
          },
          "billing_days_count": {
            "type": "number",
            "description": "Prepaid period days. Default: 1",
            "example": 1
          },
          "available_for_locations": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "Array of locations (ids)"
          },
          "buy_price_increase": {
            "type": "number",
            "description": "Buy price increase",
            "example": 0
          },
          "connection_cost_included": {
            "type": "boolean",
            "description": "Included pricing cover connect cost",
            "example": true
          },
          "customer_categories": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Customer categories"
          },
          "customer_rate_table_id": {
            "type": "number",
            "description": "Rate table (id)"
          },
          "hide_on_admin_portal": {
            "type": "boolean",
            "description": "Hide tariff on Admin portal. Default: false",
            "example": false
          },
          "show_on_customer_portal": {
            "type": "boolean",
            "description": "Show tariff on Customer portal. Default: false",
            "example": false
          },
          "tax_id": {
            "type": "number",
            "description": "Tax id",
            "example": 0
          },
          "custom_period": {
            "allOf": [
              {
                "$ref": "#/components/schemas/custom_period"
              },
              {
                "description": "Use for check if use custom period",
                "example": 1
              }
            ]
          },
          "available_for_services": {
            "type": "boolean",
            "description": "Available to assign in services",
            "example": true
          },
          "customer_labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Customerlabel"
            },
            "description": "Array of customer labels"
          },
          "tariff_labels": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Tarifflabel"
            },
            "description": "Array of tariff labels"
          }
        }
      },
      "ACSFileResponse": {
        "title": "ACSFileResponse",
        "required": [
          "id"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "MongoDB ObjectId of the file.",
            "example": "64f1a2b3c4d5e6f7a8b9c0d1"
          },
          "oui": {
            "type": "string",
            "nullable": true,
            "description": "Device OUI (Organizationally Unique Identifier).",
            "example": "E48D8C"
          },
          "product_class": {
            "type": "string",
            "nullable": true,
            "description": "Device product class.",
            "example": "CHR"
          },
          "file_type": {
            "type": "string",
            "nullable": true,
            "description": "TR-069 file type. Standard values are listed in the enum. Custom types configured in `config/acs_file_types.php` on the server are also possible.",
            "enum": [
              "1 Firmware Upgrade Image",
              "2 Web Content",
              "3 Vendor Configuration File",
              "4 Tone File",
              "5 Ringer File",
              "X MIKROTIK Factory Configuration File"
            ],
            "example": "1 Firmware Upgrade Image"
          },
          "version": {
            "type": "string",
            "nullable": true,
            "description": "File/firmware version string.",
            "example": "7.10.2"
          },
          "length": {
            "type": "integer",
            "nullable": true,
            "description": "File size in bytes.",
            "example": 10485760
          }
        }
      },
      "LinkedHardware": {
        "title": "LinkedHardware",
        "type": "object",
        "description": "Monitoring device currently linked to the Inventory Item. `null` when no hardware is linked.",
        "properties": {
          "id": {
            "type": "number",
            "description": "Monitoring device ID",
            "example": 1
          },
          "title": {
            "type": "string",
            "description": "Monitoring device title",
            "example": "AP-Tower-1"
          },
          "type": {
            "type": "number",
            "description": "Monitoring type ID",
            "example": 1
          },
          "ip": {
            "type": "string",
            "description": "Monitoring device IP",
            "example": "192.168.1.100"
          }
        }
      },
      "ItemHardwareLinkExisting": {
        "title": "ItemHardwareLinkExisting",
        "type": "object",
        "description": "Link the new Inventory Item to an existing Monitoring device.",
        "required": [
          "link_to_existing"
        ],
        "properties": {
          "link_to_existing": {
            "type": "number",
            "description": "ID of an existing Monitoring device to link to the new item.",
            "example": 1
          }
        }
      },
      "ItemHardwareCreate": {
        "title": "ItemHardwareCreate",
        "type": "object",
        "description": "Create a new Monitoring device together with the Inventory Item. Accepts the same fields as `MonitoringBase`. Requires the `monitoring` module to be enabled.",
        "required": [
          "title",
          "monitoring_group"
        ],
        "properties": {
          "title": {
            "type": "string",
            "description": "Monitoring device title",
            "example": "AP-Tower-1"
          },
          "monitoring_group": {
            "type": "number",
            "description": "Monitoring group ID",
            "example": 1
          },
          "ip": {
            "type": "string",
            "description": "IP address (unique)",
            "example": "192.168.1.100"
          },
          "producer": {
            "type": "number",
            "description": "Monitoring producer ID",
            "example": 1
          },
          "type": {
            "type": "number",
            "description": "Monitoring type ID",
            "example": 1
          }
        }
      },
      "BulkLinkHardwareEntry": {
        "title": "BulkLinkHardwareEntry",
        "type": "object",
        "required": [
          "item_id",
          "hardware_id"
        ],
        "properties": {
          "item_id": {
            "type": "number",
            "description": "Inventory Item ID",
            "example": 1
          },
          "hardware_id": {
            "type": "number",
            "description": "Monitoring device ID",
            "example": 1
          }
        }
      },
      "BulkLinkHardwareRequest": {
        "title": "BulkLinkHardwareRequest",
        "type": "object",
        "required": [
          "links"
        ],
        "properties": {
          "links": {
            "type": "array",
            "description": "List of pairs to link.",
            "items": {
              "$ref": "#/components/schemas/BulkLinkHardwareEntry"
            }
          }
        }
      },
      "BulkLinkHardwareResponse": {
        "title": "BulkLinkHardwareResponse",
        "type": "object",
        "properties": {
          "linked_count": {
            "type": "number",
            "description": "Number of pairs that were linked successfully.",
            "example": 2
          },
          "failed_ids": {
            "type": "array",
            "description": "Inventory Item IDs that could not be linked: no admin access to the item, the target hardware is already linked elsewhere, or another save error.",
            "items": {
              "type": "number"
            },
            "example": [
              3
            ]
          },
          "skipped_count": {
            "type": "number",
            "description": "Number of input entries dropped during normalization (malformed entry or duplicate `item_id`). The invariant `linked_count + len(failed_ids) + skipped_count == len(links)` holds.",
            "example": 0
          }
        }
      },
      "ErrorMessagesResponse": {
        "title": "ErrorMessagesResponse",
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "description": "Human-readable error messages.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "NAStypecreate": {
        "title": "NAStypecreate",
        "required": [
          "title"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "example": "NAS title"
          },
          "mikrotik_api": {
            "type": "boolean",
            "example": false
          },
          "copySettingsFromId": {
            "type": "number",
            "description": "ID of an existing NAS type whose settings should be copied when creating this new type.",
            "example": 1
          }
        }
      },
      "NAStypeid": {
        "title": "NAStypeid",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "NAS type ID",
            "example": 1
          }
        }
      },
      "NAStyperesponse": {
        "title": "NAStyperesponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "example": 1
          },
          "title": {
            "type": "string",
            "example": "NAS title"
          },
          "mikrotik_api": {
            "type": "boolean",
            "example": false
          }
        }
      },
      "ConnectionTypeResponse": {
        "title": "ConnectionTypeResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Connection type ID.",
            "example": 1
          },
          "title": {
            "type": "string",
            "description": "Connection type title.",
            "example": "PPP"
          },
          "color": {
            "type": "string",
            "description": "Color code (hex or named).",
            "example": "#3498db"
          },
          "default_type": {
            "type": "string",
            "description": "Whether the type is the default for new entities. `0` or `1`.",
            "example": "0"
          }
        }
      },
      "CostResponse": {
        "title": "CostResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Cost ID.",
            "example": 1
          },
          "category_id": {
            "type": "number",
            "description": "Cost category ID.",
            "example": 5
          },
          "supplier_invoice_id": {
            "type": "number",
            "nullable": true,
            "description": "Linked supplier invoice ID. Nullable.",
            "example": 12
          },
          "fixed_cost_id": {
            "type": "number",
            "description": "Linked fixed cost ID. `0` if the entry is not derived from a fixed cost.",
            "example": 0
          },
          "description": {
            "type": "string",
            "description": "Free-form description of the cost.",
            "example": "Office rent - March"
          },
          "date_time": {
            "type": "string",
            "description": "When the cost was registered. Format: `YYYY-MM-DD HH:mm:ss`.",
            "example": "2026-03-01 09:00:00"
          },
          "amount": {
            "type": "number",
            "description": "Cost amount.",
            "example": 1500.0
          }
        }
      },
      "NewsResponse": {
        "title": "NewsResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "News ID.",
            "example": 1
          },
          "title": {
            "type": "string",
            "description": "News title.",
            "example": "Maintenance window"
          },
          "text": {
            "type": "string",
            "description": "News body (HTML allowed).",
            "example": "<p>Service will be unavailable on Sunday 02:00-04:00.</p>"
          },
          "description": {
            "type": "string",
            "description": "Short text shown in the news list.",
            "example": "Planned maintenance on Sunday"
          },
          "partners": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of partner IDs the news is targeted to. Empty array means available to all partners.",
            "example": [
              "1",
              "2"
            ]
          },
          "locations": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of location IDs the news is targeted to. Empty array means available to all locations.",
            "example": [
              "1"
            ]
          },
          "date": {
            "type": "string",
            "description": "Publication date. Format: `YYYY-MM-DD`.",
            "example": "2026-03-15"
          }
        }
      },
      "VoiceCategoryResponse": {
        "title": "VoiceCategoryResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Voice category ID.",
            "example": 1
          },
          "type": {
            "type": "string",
            "enum": [
              "call",
              "message",
              "data"
            ],
            "description": "Voice service type. One of `call`, `message`, `data`.",
            "example": "call"
          },
          "title": {
            "type": "string",
            "description": "Category title.",
            "example": "Local calls"
          }
        }
      },
      "VoiceCustomerRateResponse": {
        "title": "VoiceCustomerRateResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Customer rate ID.",
            "example": 1
          },
          "table_id": {
            "type": "number",
            "description": "Customer rate table the rate belongs to.",
            "example": 3
          },
          "name": {
            "type": "string",
            "description": "Rate name.",
            "example": "Local"
          },
          "description": {
            "type": "string",
            "description": "Free-form description.",
            "example": "Local destinations"
          },
          "type": {
            "type": "string",
            "enum": [
              "call",
              "message",
              "data"
            ],
            "description": "Voice service type. One of `call`, `message`, `data`.",
            "example": "call"
          },
          "category_id": {
            "type": "number",
            "nullable": true,
            "description": "Voice category ID. Nullable.",
            "example": 1
          },
          "prefix": {
            "type": "string",
            "description": "Number prefix the rate matches.",
            "example": "380"
          },
          "price": {
            "type": "number",
            "description": "Price per tariffication step.",
            "example": 0.05
          },
          "first_step": {
            "type": "number",
            "description": "Length of the first chargeable step (seconds for calls, units for other types).",
            "example": 60
          },
          "tariffication_step": {
            "type": "number",
            "description": "Length of each subsequent chargeable step.",
            "example": 30
          },
          "connect_cost": {
            "type": "number",
            "description": "One-off connect cost charged on top of the price.",
            "example": 0.0
          }
        }
      },
      "VoicePrefixResponse": {
        "title": "VoicePrefixResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Voice prefix ID.",
            "example": 1
          },
          "prefix": {
            "type": "string",
            "description": "Number prefix.",
            "example": "380"
          },
          "destination": {
            "type": "string",
            "description": "Human-readable destination name.",
            "example": "Ukraine"
          },
          "rate_type": {
            "type": "string",
            "enum": [
              "call",
              "data",
              "message"
            ],
            "description": "Voice service type. One of `call`, `data`, `message`.",
            "example": "call"
          },
          "category_id": {
            "type": "number",
            "nullable": true,
            "description": "Linked voice category ID. Nullable.",
            "example": 1
          },
          "is_hard": {
            "type": "string",
            "description": "Whether the prefix is hard-coded (system) and cannot be edited. `0` or `1`.",
            "example": "0"
          }
        }
      },
      "VoiceProviderRateResponse": {
        "title": "VoiceProviderRateResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Provider rate ID.",
            "example": 1
          },
          "provider_id": {
            "type": "number",
            "description": "Voice provider ID.",
            "example": 2
          },
          "name": {
            "type": "string",
            "description": "Rate name.",
            "example": "Local"
          },
          "description": {
            "type": "string",
            "description": "Free-form description.",
            "example": "Local destinations"
          },
          "type": {
            "type": "string",
            "enum": [
              "call",
              "message",
              "data"
            ],
            "description": "Voice service type. One of `call`, `message`, `data`.",
            "example": "call"
          },
          "category_id": {
            "type": "number",
            "nullable": true,
            "description": "Voice category ID. Nullable.",
            "example": 1
          },
          "prefix": {
            "type": "string",
            "description": "Number prefix the rate matches.",
            "example": "380"
          },
          "price": {
            "type": "number",
            "description": "Buy price per tariffication step.",
            "example": 0.03
          },
          "first_step": {
            "type": "number",
            "description": "Length of the first chargeable step (seconds for calls, units for other types).",
            "example": 60
          },
          "tariffication_step": {
            "type": "number",
            "description": "Length of each subsequent chargeable step.",
            "example": 30
          },
          "connect_cost": {
            "type": "number",
            "description": "One-off connect cost charged on top of the price.",
            "example": 0.0
          }
        }
      },
      "MonitoringvendorResponse": {
        "title": "MonitoringvendorResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Monitoring vendor ID.",
            "example": 9
          },
          "title": {
            "type": "string",
            "description": "Vendor name.",
            "example": "Mikrotik"
          }
        }
      },
      "MonitoringvendorRequest": {
        "title": "MonitoringvendorRequest",
        "required": [
          "title"
        ],
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "description": "Vendor name.",
            "example": "Mikrotik"
          }
        }
      },
      "MonitoringvendorId": {
        "title": "MonitoringvendorId",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Monitoring vendor ID.",
            "example": 9
          }
        }
      },
      "MonitoringtypeResponse": {
        "title": "MonitoringtypeResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Monitoring device type ID.",
            "example": 4
          },
          "title": {
            "type": "string",
            "description": "Device type name.",
            "example": "Router"
          }
        }
      },
      "MonitoringgroupResponse": {
        "title": "MonitoringgroupResponse",
        "type": "object",
        "properties": {
          "id": {
            "type": "number",
            "description": "Monitoring group ID.",
            "example": 2
          },
          "title": {
            "type": "string",
            "description": "Group name.",
            "example": "Core devices"
          },
          "delay_timer": {
            "type": "number",
            "description": "Delay (in minutes) before notifications are sent for the group.",
            "example": 5
          },
          "panel_notifications": {
            "type": "boolean",
            "description": "Whether panel (in-app) notifications are enabled for the group.",
            "example": true
          },
          "email_notifications": {
            "type": "boolean",
            "description": "Whether email notifications are enabled for the group.",
            "example": true
          },
          "email_notification_subject": {
            "type": "string",
            "description": "Subject template used for the group's email notifications.",
            "example": "[Splynx] Monitoring alert"
          },
          "email_notifications_template_id": {
            "type": "number",
            "nullable": true,
            "description": "Email template ID used for the group's notifications.",
            "example": 1
          },
          "notifications_admins": {
            "type": "array",
            "description": "Administrator IDs that receive notifications for the group.",
            "items": {
              "type": "number"
            },
            "example": [
              1,
              2
            ]
          },
          "sms_notifications": {
            "type": "boolean",
            "description": "Whether SMS notifications are enabled for the group.",
            "example": false
          },
          "sms_notifications_template_id": {
            "type": "number",
            "nullable": true,
            "description": "SMS template ID used for the group's notifications.",
            "example": 1
          }
        }
      }
    },
    "securitySchemes": {
      "httpBasic": {
        "type": "http",
        "scheme": "basic"
      }
    }
  },
  "security": [
    {
      "httpBasic": []
    }
  ],
  "tags": [
    {
      "name": "Base requests",
      "description": ""
    },
    {
      "name": "Auth",
      "description": ""
    },
    {
      "name": "Api",
      "description": ""
    },
    {
      "name": "Dashboard",
      "description": ""
    },
    {
      "name": "Login",
      "description": ""
    },
    {
      "name": "Tariffs",
      "description": ""
    },
    {
      "name": "FUP",
      "description": ""
    },
    {
      "name": "CAP",
      "description": ""
    },
    {
      "name": "Customers",
      "description": ""
    },
    {
      "name": "CRM",
      "description": ""
    },
    {
      "name": "Communications",
      "description": ""
    },
    {
      "name": "Services",
      "description": ""
    },
    {
      "name": "Finance",
      "description": ""
    },
    {
      "name": "Inventory",
      "description": ""
    },
    {
      "name": "Networking",
      "description": ""
    },
    {
      "name": "Support",
      "description": ""
    },
    {
      "name": "Scheduling",
      "description": ""
    },
    {
      "name": "Voice",
      "description": ""
    },
    {
      "name": "Administration",
      "description": ""
    },
    {
      "name": "Logs",
      "description": ""
    },
    {
      "name": "Config",
      "description": ""
    },
    {
      "name": "WhatsApp messaging",
      "description": ""
    },
    {
      "name": "Mobile App",
      "description": ""
    }
  ]
}
