> For the complete documentation index, see [llms.txt](https://navixy.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://navixy.com/docs/navixy-api/user-api/resources/tracking/retranslator.md).

# Retranslator

Forward the data a device sends to the Navixy platform on to a third-party server.

A retranslator forwards the data that a device sends to the platform on to a third-party server of the user's choosing, so the same stream can feed an outside application without touching the device.

Each retranslator names a protocol, the address and port of the receiving server, and whether it is currently enabled. Some protocols also require a login and a password. Which ones do is decided by the protocol, so call `retranslator/protocols/list` before creating a retranslator and read the credential rules it reports.

Every operation that changes a retranslator requires the `admin` right, which is available only to master users. Listing them and listing the protocols are not restricted.

## Retranslator protocol object

## The RetranslatorProtocol object

```json
{"openapi":"3.1.0","info":{"title":"Navixy Platform API","version":"1.0.0"},"components":{"schemas":{"RetranslatorProtocol":{"type":"object","description":"A forwarding protocol the platform can retranslate with, and the credential rules it imposes.","properties":{"id":{"type":"integer","description":"Protocol ID."},"name":{"type":"string","description":"Protocol name, for example `EGTS` or `Wialon IPS`."},"classname":{"type":"string","description":"Internal name of the handler implementing the protocol. Read-only, and of no use to callers."},"has_login":{"type":"boolean","description":"`true` when the protocol uses a login at all."},"has_password":{"type":"boolean","description":"`true` when the protocol uses a password at all."},"required_login":{"type":"boolean","description":"`true` when a retranslator on this protocol cannot be saved without a login."},"required_password":{"type":"boolean","description":"`true` when a retranslator on this protocol cannot be saved without a password."},"fake_device_id_pattern":{"type":["string","null"],"description":"Regular expression the substitute device ID must match, or `null` when the protocol does not constrain it."}}}}}}
```

## Retranslator object

## The Retranslator object

```json
{"openapi":"3.1.0","info":{"title":"Navixy Platform API","version":"1.0.0"},"components":{"schemas":{"Retranslator":{"type":"object","description":"A forwarding rule that sends the data devices report to the platform on to a third-party server.","properties":{"id":{"type":"integer","description":"Retranslator ID. Read-only, assigned on creation, and required when updating.","minimum":1},"name":{"type":"string","description":"Name of the retranslator. 1 to 64 characters, trimmed.","minLength":1,"maxLength":64},"protocol_id":{"type":"integer","description":"ID of the protocol to forward with, from `retranslator/protocols/list`.","minimum":1},"address":{"type":"string","description":"Network address of the receiving server, such as `127.0.0.1` or `localhost`. 1 to 255 characters, trimmed.","minLength":1,"maxLength":255},"port":{"type":"integer","description":"Port on the receiving server.","minimum":1,"maximum":65535},"login":{"type":"string","description":"Optional unless the protocol requires it. 1 to 64 characters, trimmed.","minLength":1,"maxLength":64},"password":{"type":"string","description":"Optional unless the protocol requires it. 1 to 64 characters, trimmed. **Returned in clear text by `retranslator/list`.**","minLength":1,"maxLength":64},"enabled":{"type":"boolean","description":"Whether the retranslator is forwarding."}}}}}}
```

## API actions

API base path: `/retranslator`.

Operations that list no errors of their own return only the [general error codes](/docs/navixy-api/general/errors.md#error-codes).

***

*Required sub-user rights:* `admin` (available only to master users).

## Create retranslator

> Create a retranslator, which forwards the data a device sends to the platform on to a third-party server.\
> \
> Pass the retranslator object without \`id\`.\
> \
> Address, port and login must be unique within the account; a duplicate returns error 247. Which of \`login\` and \`password\` are required depends on the protocol: read \`required\_login\` and \`required\_password\` from \`retranslator/protocols/list\` before saving one. A missing required value returns error 7 naming the field.\
> \
> Requires the \`admin\` right, so only a master user can call it.

```json
{"openapi":"3.1.0","info":{"title":"Navixy Platform API","version":"1.0.0"},"tags":[{"name":"Tracking services","description":"Services supporting tracking rather than the trackers themselves: APN lookup, BLE beacon data, delivery tracking, geocoding, map layers and data forwarding. Resources under the /apn_settings/, /beacon/, /delivery/, /geocoder/, /map_layer/ and /retranslator/ paths."}],"servers":[{"url":"https://api.eu.navixy.com/v2","description":"Navixy production server on European platform"},{"url":"https://api.us.navixy.com/v2","description":"Navixy production server on American platform"},{"url":"https://api.me.navixy.com/v2","description":"Navixy production server on Middle East platform"}],"security":[{"api_key":[]}],"components":{"securitySchemes":{"api_key":{"type":"apiKey","description":"Either a user session hash or an API key, with the \"NVX \" prefix, for example \"NVX 22eac1c27af4be7b9d04da2ce1af111b\". Obtain a session hash from the userAuth operation, or create an API key from the API keys operations. A small number of operations accept a session hash only and reject an API key with error code 4; each says so in its description.","name":"Authorization","in":"header"}},"schemas":{"Retranslator":{"type":"object","description":"A forwarding rule that sends the data devices report to the platform on to a third-party server.","properties":{"id":{"type":"integer","description":"Retranslator ID. Read-only, assigned on creation, and required when updating.","minimum":1},"name":{"type":"string","description":"Name of the retranslator. 1 to 64 characters, trimmed.","minLength":1,"maxLength":64},"protocol_id":{"type":"integer","description":"ID of the protocol to forward with, from `retranslator/protocols/list`.","minimum":1},"address":{"type":"string","description":"Network address of the receiving server, such as `127.0.0.1` or `localhost`. 1 to 255 characters, trimmed.","minLength":1,"maxLength":255},"port":{"type":"integer","description":"Port on the receiving server.","minimum":1,"maximum":65535},"login":{"type":"string","description":"Optional unless the protocol requires it. 1 to 64 characters, trimmed.","minLength":1,"maxLength":64},"password":{"type":"string","description":"Optional unless the protocol requires it. 1 to 64 characters, trimmed. **Returned in clear text by `retranslator/list`.**","minLength":1,"maxLength":64},"enabled":{"type":"boolean","description":"Whether the retranslator is forwarding."}}}},"responses":{"ResponseError":{"description":"Error response object","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Always false."},"status":{"type":"object","description":"Error status. Present only when an error occurred.","properties":{"code":{"type":"integer","description":"An error code in this API, not an HTTP code."},"description":{"type":"string","description":"An error description."}}},"errors":{"type":"array","description":"Per-parameter detail, returned with validation failures such as error code 7. A parameter name here may be an internal field name rather than the documented parameter name.","items":{"type":"object","properties":{"parameter":{"type":"string","description":"Name of the parameter that failed validation."},"error":{"type":"string","description":"What was wrong with it."}}}}}}}}}}},"paths":{"/retranslator/create":{"post":{"tags":["Tracking services"],"summary":"Create retranslator","description":"Create a retranslator, which forwards the data a device sends to the platform on to a third-party server.\n\nPass the retranslator object without `id`.\n\nAddress, port and login must be unique within the account; a duplicate returns error 247. Which of `login` and `password` are required depends on the protocol: read `required_login` and `required_password` from `retranslator/protocols/list` before saving one. A missing required value returns error 7 naming the field.\n\nRequires the `admin` right, so only a master user can call it.","operationId":"retranslatorCreate","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"retranslator":{"allOf":[{"$ref":"#/components/schemas/Retranslator"}],"description":"The retranslator to create, without `id`."}},"required":["retranslator"]}}}},"responses":{"200":{"description":"The created retranslator","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"`true` if request finished successfully.","readOnly":true},"id":{"type":"integer","description":"ID of the new retranslator."}}}}}},"400":{"description":"Bad request. The response body carries the API-level error code in `status.code`. Validation failures also include an `errors` array naming each offending parameter.","$ref":"#/components/responses/ResponseError"},"402":{"description":"Error 268: the account's quota for retranslators is exhausted.","$ref":"#/components/responses/ResponseError"},"409":{"description":"Error 247: a retranslator with this address, port and login already exists. Error 206: the login is already in use, which the Navixy Web Service protocol enforces across the platform.","$ref":"#/components/responses/ResponseError"},"default":{"$ref":"#/components/responses/ResponseError"}}}}}}
```

#### Errors

These errors come in addition to the [general error codes](/docs/navixy-api/general/errors.md#error-codes):

* 7 - Invalid parameters, when the protocol requires a login or a password and the field was sent empty.
* 206 - Login already in use. For the Navixy Web Service protocol, another retranslator on the platform already uses this login.
* 247 - Entity already exists, when a retranslator with this address, port, and login already exists.
* 268 - Over quota, when the user's quota for retranslators is exceeded.

***

*Required sub-user rights:* `admin` (available only to master users).

## Delete retranslator

> Delete a retranslator. Devices forwarding through it stop doing so.\
> \
> Requires the \`admin\` right, so only a master user can call it.\
> \
> Also accepts GET with the same parameters as query-string values.

```json
{"openapi":"3.1.0","info":{"title":"Navixy Platform API","version":"1.0.0"},"tags":[{"name":"Tracking services","description":"Services supporting tracking rather than the trackers themselves: APN lookup, BLE beacon data, delivery tracking, geocoding, map layers and data forwarding. Resources under the /apn_settings/, /beacon/, /delivery/, /geocoder/, /map_layer/ and /retranslator/ paths."}],"servers":[{"url":"https://api.eu.navixy.com/v2","description":"Navixy production server on European platform"},{"url":"https://api.us.navixy.com/v2","description":"Navixy production server on American platform"},{"url":"https://api.me.navixy.com/v2","description":"Navixy production server on Middle East platform"}],"security":[{"api_key":[]}],"components":{"securitySchemes":{"api_key":{"type":"apiKey","description":"Either a user session hash or an API key, with the \"NVX \" prefix, for example \"NVX 22eac1c27af4be7b9d04da2ce1af111b\". Obtain a session hash from the userAuth operation, or create an API key from the API keys operations. A small number of operations accept a session hash only and reject an API key with error code 4; each says so in its description.","name":"Authorization","in":"header"}},"responses":{"OK":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"`true` if request finished successfully.","readOnly":true}}}}}},"ResponseError":{"description":"Error response object","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Always false."},"status":{"type":"object","description":"Error status. Present only when an error occurred.","properties":{"code":{"type":"integer","description":"An error code in this API, not an HTTP code."},"description":{"type":"string","description":"An error description."}}},"errors":{"type":"array","description":"Per-parameter detail, returned with validation failures such as error code 7. A parameter name here may be an internal field name rather than the documented parameter name.","items":{"type":"object","properties":{"parameter":{"type":"string","description":"Name of the parameter that failed validation."},"error":{"type":"string","description":"What was wrong with it."}}}}}}}}}}},"paths":{"/retranslator/delete":{"post":{"tags":["Tracking services"],"summary":"Delete retranslator","description":"Delete a retranslator. Devices forwarding through it stop doing so.\n\nRequires the `admin` right, so only a master user can call it.\n\nAlso accepts GET with the same parameters as query-string values.","operationId":"retranslatorDelete","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"retranslator_id":{"type":"integer","description":"ID of the retranslator to delete.","minimum":1}},"required":["retranslator_id"]}}}},"responses":{"200":{"description":"Retranslator deleted","$ref":"#/components/responses/OK"},"400":{"description":"Bad request. The response body carries the API-level error code in `status.code`. Validation failures also include an `errors` array naming each offending parameter.","$ref":"#/components/responses/ResponseError"},"default":{"$ref":"#/components/responses/ResponseError"}}}}}}
```

#### Errors

These errors come in addition to the [general error codes](/docs/navixy-api/general/errors.md#error-codes):

* 201 - Not found in the database.

***

## List retranslators

> Return every retranslator belonging to the account.\
> \
> \*\*The response includes each retranslator's \`password\` in clear text.\*\*\
> \
> Callable with an empty body. Also accepts GET.

```json
{"openapi":"3.1.0","info":{"title":"Navixy Platform API","version":"1.0.0"},"tags":[{"name":"Tracking services","description":"Services supporting tracking rather than the trackers themselves: APN lookup, BLE beacon data, delivery tracking, geocoding, map layers and data forwarding. Resources under the /apn_settings/, /beacon/, /delivery/, /geocoder/, /map_layer/ and /retranslator/ paths."}],"servers":[{"url":"https://api.eu.navixy.com/v2","description":"Navixy production server on European platform"},{"url":"https://api.us.navixy.com/v2","description":"Navixy production server on American platform"},{"url":"https://api.me.navixy.com/v2","description":"Navixy production server on Middle East platform"}],"security":[{"api_key":[]}],"components":{"securitySchemes":{"api_key":{"type":"apiKey","description":"Either a user session hash or an API key, with the \"NVX \" prefix, for example \"NVX 22eac1c27af4be7b9d04da2ce1af111b\". Obtain a session hash from the userAuth operation, or create an API key from the API keys operations. A small number of operations accept a session hash only and reject an API key with error code 4; each says so in its description.","name":"Authorization","in":"header"}},"schemas":{"Retranslator":{"type":"object","description":"A forwarding rule that sends the data devices report to the platform on to a third-party server.","properties":{"id":{"type":"integer","description":"Retranslator ID. Read-only, assigned on creation, and required when updating.","minimum":1},"name":{"type":"string","description":"Name of the retranslator. 1 to 64 characters, trimmed.","minLength":1,"maxLength":64},"protocol_id":{"type":"integer","description":"ID of the protocol to forward with, from `retranslator/protocols/list`.","minimum":1},"address":{"type":"string","description":"Network address of the receiving server, such as `127.0.0.1` or `localhost`. 1 to 255 characters, trimmed.","minLength":1,"maxLength":255},"port":{"type":"integer","description":"Port on the receiving server.","minimum":1,"maximum":65535},"login":{"type":"string","description":"Optional unless the protocol requires it. 1 to 64 characters, trimmed.","minLength":1,"maxLength":64},"password":{"type":"string","description":"Optional unless the protocol requires it. 1 to 64 characters, trimmed. **Returned in clear text by `retranslator/list`.**","minLength":1,"maxLength":64},"enabled":{"type":"boolean","description":"Whether the retranslator is forwarding."}}}},"responses":{"ResponseError":{"description":"Error response object","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Always false."},"status":{"type":"object","description":"Error status. Present only when an error occurred.","properties":{"code":{"type":"integer","description":"An error code in this API, not an HTTP code."},"description":{"type":"string","description":"An error description."}}},"errors":{"type":"array","description":"Per-parameter detail, returned with validation failures such as error code 7. A parameter name here may be an internal field name rather than the documented parameter name.","items":{"type":"object","properties":{"parameter":{"type":"string","description":"Name of the parameter that failed validation."},"error":{"type":"string","description":"What was wrong with it."}}}}}}}}}}},"paths":{"/retranslator/list":{"post":{"tags":["Tracking services"],"summary":"List retranslators","description":"Return every retranslator belonging to the account.\n\n**The response includes each retranslator's `password` in clear text.**\n\nCallable with an empty body. Also accepts GET.","operationId":"retranslatorList","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"responses":{"200":{"description":"The retranslators","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"`true` if request finished successfully.","readOnly":true},"list":{"type":"array","items":{"$ref":"#/components/schemas/Retranslator"}}}}}}},"400":{"description":"Bad request. The response body carries the API-level error code in `status.code`. Validation failures also include an `errors` array naming each offending parameter.","$ref":"#/components/responses/ResponseError"},"default":{"$ref":"#/components/responses/ResponseError"}}}}}}
```

***

*Required sub-user rights:* `admin` (available only to master users).

## Update retranslator

> Update a retranslator. It must exist and belong to the current account.\
> \
> \*\*\`id\` is required inside the object\*\* and identifies which retranslator to change. Every other field is replaced by what is sent.\
> \
> Address, port and login must be unique within the account; a duplicate returns error 247. Which of \`login\` and \`password\` are required depends on the protocol: read \`required\_login\` and \`required\_password\` from \`retranslator/protocols/list\` before saving one. A missing required value returns error 7 naming the field.\
> \
> Requires the \`admin\` right, so only a master user can call it.

```json
{"openapi":"3.1.0","info":{"title":"Navixy Platform API","version":"1.0.0"},"tags":[{"name":"Tracking services","description":"Services supporting tracking rather than the trackers themselves: APN lookup, BLE beacon data, delivery tracking, geocoding, map layers and data forwarding. Resources under the /apn_settings/, /beacon/, /delivery/, /geocoder/, /map_layer/ and /retranslator/ paths."}],"servers":[{"url":"https://api.eu.navixy.com/v2","description":"Navixy production server on European platform"},{"url":"https://api.us.navixy.com/v2","description":"Navixy production server on American platform"},{"url":"https://api.me.navixy.com/v2","description":"Navixy production server on Middle East platform"}],"security":[{"api_key":[]}],"components":{"securitySchemes":{"api_key":{"type":"apiKey","description":"Either a user session hash or an API key, with the \"NVX \" prefix, for example \"NVX 22eac1c27af4be7b9d04da2ce1af111b\". Obtain a session hash from the userAuth operation, or create an API key from the API keys operations. A small number of operations accept a session hash only and reject an API key with error code 4; each says so in its description.","name":"Authorization","in":"header"}},"schemas":{"Retranslator":{"type":"object","description":"A forwarding rule that sends the data devices report to the platform on to a third-party server.","properties":{"id":{"type":"integer","description":"Retranslator ID. Read-only, assigned on creation, and required when updating.","minimum":1},"name":{"type":"string","description":"Name of the retranslator. 1 to 64 characters, trimmed.","minLength":1,"maxLength":64},"protocol_id":{"type":"integer","description":"ID of the protocol to forward with, from `retranslator/protocols/list`.","minimum":1},"address":{"type":"string","description":"Network address of the receiving server, such as `127.0.0.1` or `localhost`. 1 to 255 characters, trimmed.","minLength":1,"maxLength":255},"port":{"type":"integer","description":"Port on the receiving server.","minimum":1,"maximum":65535},"login":{"type":"string","description":"Optional unless the protocol requires it. 1 to 64 characters, trimmed.","minLength":1,"maxLength":64},"password":{"type":"string","description":"Optional unless the protocol requires it. 1 to 64 characters, trimmed. **Returned in clear text by `retranslator/list`.**","minLength":1,"maxLength":64},"enabled":{"type":"boolean","description":"Whether the retranslator is forwarding."}}}},"responses":{"OK":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"`true` if request finished successfully.","readOnly":true}}}}}},"ResponseError":{"description":"Error response object","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Always false."},"status":{"type":"object","description":"Error status. Present only when an error occurred.","properties":{"code":{"type":"integer","description":"An error code in this API, not an HTTP code."},"description":{"type":"string","description":"An error description."}}},"errors":{"type":"array","description":"Per-parameter detail, returned with validation failures such as error code 7. A parameter name here may be an internal field name rather than the documented parameter name.","items":{"type":"object","properties":{"parameter":{"type":"string","description":"Name of the parameter that failed validation."},"error":{"type":"string","description":"What was wrong with it."}}}}}}}}}}},"paths":{"/retranslator/update":{"post":{"tags":["Tracking services"],"summary":"Update retranslator","description":"Update a retranslator. It must exist and belong to the current account.\n\n**`id` is required inside the object** and identifies which retranslator to change. Every other field is replaced by what is sent.\n\nAddress, port and login must be unique within the account; a duplicate returns error 247. Which of `login` and `password` are required depends on the protocol: read `required_login` and `required_password` from `retranslator/protocols/list` before saving one. A missing required value returns error 7 naming the field.\n\nRequires the `admin` right, so only a master user can call it.","operationId":"retranslatorUpdate","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"retranslator":{"allOf":[{"$ref":"#/components/schemas/Retranslator"}],"description":"The retranslator to update, including `id`."}},"required":["retranslator"]}}}},"responses":{"200":{"description":"Retranslator updated","$ref":"#/components/responses/OK"},"400":{"description":"Bad request. The response body carries the API-level error code in `status.code`. Validation failures also include an `errors` array naming each offending parameter.","$ref":"#/components/responses/ResponseError"},"409":{"description":"Error 247: another retranslator already has this address, port and login. Error 206: the login is already in use, which the Navixy Web Service protocol enforces across the platform.","$ref":"#/components/responses/ResponseError"},"default":{"$ref":"#/components/responses/ResponseError"}}}}}}
```

#### Errors

These errors come in addition to the [general error codes](/docs/navixy-api/general/errors.md#error-codes):

* 7 - Invalid parameters, when the protocol requires a login or a password and the field was sent empty.
* 201 - Not found in the database, when no retranslator has the given ID or it belongs to another user.
* 206 - Login already in use. For the Navixy Web Service protocol, another retranslator on the platform already uses this login.
* 247 - Entity already exists, when a retranslator with this address, port, and login already exists.

***

## List retranslator protocols

> Return every retranslator protocol the platform supports, with the credential rules each one imposes.\
> \
> Read this before creating a retranslator: \`required\_login\` and \`required\_password\` decide which credentials the create call will insist on, and \`fake\_device\_id\_pattern\` constrains the substitute device ID.\
> \
> Callable with an empty body. Also accepts GET.\
> \
> \*\*The path is \`retranslator/protocols/list\`, plural.\*\* The singular form \`retranslator/protocol/list\` returns error 111.

```json
{"openapi":"3.1.0","info":{"title":"Navixy Platform API","version":"1.0.0"},"tags":[{"name":"Tracking services","description":"Services supporting tracking rather than the trackers themselves: APN lookup, BLE beacon data, delivery tracking, geocoding, map layers and data forwarding. Resources under the /apn_settings/, /beacon/, /delivery/, /geocoder/, /map_layer/ and /retranslator/ paths."}],"servers":[{"url":"https://api.eu.navixy.com/v2","description":"Navixy production server on European platform"},{"url":"https://api.us.navixy.com/v2","description":"Navixy production server on American platform"},{"url":"https://api.me.navixy.com/v2","description":"Navixy production server on Middle East platform"}],"security":[{"api_key":[]}],"components":{"securitySchemes":{"api_key":{"type":"apiKey","description":"Either a user session hash or an API key, with the \"NVX \" prefix, for example \"NVX 22eac1c27af4be7b9d04da2ce1af111b\". Obtain a session hash from the userAuth operation, or create an API key from the API keys operations. A small number of operations accept a session hash only and reject an API key with error code 4; each says so in its description.","name":"Authorization","in":"header"}},"schemas":{"RetranslatorProtocol":{"type":"object","description":"A forwarding protocol the platform can retranslate with, and the credential rules it imposes.","properties":{"id":{"type":"integer","description":"Protocol ID."},"name":{"type":"string","description":"Protocol name, for example `EGTS` or `Wialon IPS`."},"classname":{"type":"string","description":"Internal name of the handler implementing the protocol. Read-only, and of no use to callers."},"has_login":{"type":"boolean","description":"`true` when the protocol uses a login at all."},"has_password":{"type":"boolean","description":"`true` when the protocol uses a password at all."},"required_login":{"type":"boolean","description":"`true` when a retranslator on this protocol cannot be saved without a login."},"required_password":{"type":"boolean","description":"`true` when a retranslator on this protocol cannot be saved without a password."},"fake_device_id_pattern":{"type":["string","null"],"description":"Regular expression the substitute device ID must match, or `null` when the protocol does not constrain it."}}}},"responses":{"ResponseError":{"description":"Error response object","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Always false."},"status":{"type":"object","description":"Error status. Present only when an error occurred.","properties":{"code":{"type":"integer","description":"An error code in this API, not an HTTP code."},"description":{"type":"string","description":"An error description."}}},"errors":{"type":"array","description":"Per-parameter detail, returned with validation failures such as error code 7. A parameter name here may be an internal field name rather than the documented parameter name.","items":{"type":"object","properties":{"parameter":{"type":"string","description":"Name of the parameter that failed validation."},"error":{"type":"string","description":"What was wrong with it."}}}}}}}}}}},"paths":{"/retranslator/protocols/list":{"post":{"tags":["Tracking services"],"summary":"List retranslator protocols","description":"Return every retranslator protocol the platform supports, with the credential rules each one imposes.\n\nRead this before creating a retranslator: `required_login` and `required_password` decide which credentials the create call will insist on, and `fake_device_id_pattern` constrains the substitute device ID.\n\nCallable with an empty body. Also accepts GET.\n\n**The path is `retranslator/protocols/list`, plural.** The singular form `retranslator/protocol/list` returns error 111.","operationId":"retranslatorProtocolsList","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{}}}}},"responses":{"200":{"description":"The protocols","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"`true` if request finished successfully.","readOnly":true},"list":{"type":"array","items":{"$ref":"#/components/schemas/RetranslatorProtocol"}}}}}}},"400":{"description":"Bad request. The response body carries the API-level error code in `status.code`. Validation failures also include an `errors` array naming each offending parameter.","$ref":"#/components/responses/ResponseError"},"default":{"$ref":"#/components/responses/ResponseError"}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://navixy.com/docs/navixy-api/user-api/resources/tracking/retranslator.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
