Sub Account Enable or Disable

1. Sub Account Management API

This API allows the Management of a sub account within the system. The request body must include all necessary attributes, including null values, as these are required to verify the request signature. The timestamp included must be no older than 30 minutes.

  1. Generate the body with this structure:

{
    "externalId": "172",
    "name": "DEMO",
    "isEnabled": true,
    "zipCode": "49546-6911",
    "address": "7429 35TH AVE NW LANSING, MI",
    "city": null,
    "state": null,
    "country": "USA",
    "settings": [
        {
            "externalId": null,
            "key": "cameraModule",
            "value": "true",
            "valueType": "BOOLEAN"
        },
        {
            "externalId": null,
            "key": "noiseCancelling",
            "value": "true",
            "valueType": "BOOLEAN"
        },
        {
            "externalId": null,
            "key": "transcription",
            "value": "true",
            "valueType": "BOOLEAN"
        },
        {
            "externalId": null,
            "key": "playerAutoPlay",
            "value": "true",
            "valueType": "BOOLEAN"
        },
        {
            "externalId": null,
            "key": "audioMuted",
            "value": "false",
            "valueType": "BOOLEAN"
        },
        {
            "externalId": null,
            "key": "fullscreen",
            "value": "true",
            "valueType": "BOOLEAN"
        },
        {
            "externalId": null,
            "key": "downloadable",
            "value": "false",
            "valueType": "BOOLEAN"
        }
    ],
    "extraFields": [
        {
            "key": "OEM",
            "value": "OEM PROVIDER"
        }
    ],
    "timestamp": 1721163712000
}
  1. To build the body for conversion to a signature, remove all spaces (whitespaces, tabs, etc.) while maintaining the original structure of the data.

{"externalId":"172","name":"DEMO","isEnabled":true,"zipCode":"49546-6911","address":"7429 35TH AVE NW LANSING, MI","city":null,"state":null,"country":"USA","settings":[{"externalId":null,"key":"cameraModule","value":"true","valueType":"BOOLEAN"},{"externalId":null,"key":"noiseCancelling","value":"true","valueType":"BOOLEAN"},{"externalId":null,"key":"transcription","value":"true","valueType":"BOOLEAN"},{"externalId":null,"key":"playerAutoPlay","value":"true","valueType":"BOOLEAN"},{"externalId":null,"key":"audioMuted","value":"false","valueType":"BOOLEAN"},{"externalId":null,"key":"fullscreen","value":"true","valueType":"BOOLEAN"},{"externalId":null,"key":"downloadable","value":"false","valueType":"BOOLEAN"}],"extraFields":[{"key":"OEM","value":"OEM PROVIDER"}],"timestamp":1721163712000}
  1. HTTP Request

End point - /api/v2/subaccount

Method - POST

Header -

  1. 'x-authentication-api-key: {apikey}'

  2. 'x-authentication-signature: {signature}'

  3. 'Content-Type: application/json'

Body -

{
    "externalId": {EXTERNAL-ID},
    "name": {NAME},
    "isEnabled": {IS-ENABLED},
    "zipCode": {ZIP-CODE},
    "address": {SHIPPING-ADDRESS},
    "city": {city},
    "state": {state},
    "country": {COUNTRY},
    "extraFields": [
        {
            "key": {EXTRA-KEY},
            "value": {EXTRA-VALUE}
        }
    ],
    "settings": [
        {
            "externalId": null,
            "key": {KEY},
            "value": {VALUE},
            "valueType": {VALUE-TYPE}
        },
        ...
    ],
    "timestamp": {TIMESTAMP}
}

Example -

curl --location 'https://sdk-mobile-api-rc.truvideo.com/api/subaccount' \
--header 'x-authentication-api-key: {APIKEY}' \
--header 'x-authentication-signature: {SIGNATURE}' \
--header 'Content-Type: application/json' \
--data '{
    "externalId": {EXTERNAL-ID},
    "name": {NAME},
    "isEnabled": {IS-ENABLED},
    "zipCode": {ZIP-CODE},
    "address": {SHIPPING-ADDRESS},
    "city": {city},
    "state": {state},
    "country": {COUNTRY},
    "extraFields": [
        {
            "key": {EXTRA-KEY},
            "value": {EXTRA-VALUE}
        }
    ],
    "settings": [
        {
            "externalId": null,
            "key": {KEY},
            "value": {VALUE},
            "valueType": {VALUE-TYPE}
        },
        ...
    ],
    "timestamp": {TIMESTAMP}
}'

These are the values:

base-url:


apikey: is a new apikey for BACKOFFICE. The backend team provide that to the partner.


signature: This is explained on the initial part of the document.


externalId: this is the dealer id from the partner side.


name: this is the dealer name from the partner side.


IS-ENABLED: this is if you want to create an enable sub account or not.


ZIP-CODE: This is the postal code associated with the shipping address.


SHIPPING-ADDRESS: This is the physical address where shipments will be delivered.


extraFields:This field must always be sent at the time of the request. If it is not required, it must be explicitly set to null, keeping it as a parameter in the following JSON format. Since it is an array, multiple extraFields can be sent:

"extraFields": null

EXTRA-KEY: Represents a customizable key that accepts any string value. It is intended to be used as an additional field to store business-specific data

EXTRA-VALUE:Represents the corresponding value for the EXTRA-KEY. It accepts any string and should be used to store the relevant information associated with the key


settings:

  • externalId: inside of settings, is always null.

  • key: the keys at the moment are:

    • cameraModule

    • noiseCancelling

    • transcription

    • playerAutoPlay

    • logo.

    • audioMuted

    • fullscreen

    • downloadable

  • value: this is the value related to the key.

  • valueType: this is the value type for the key. These are:

BOOLEAN, STRING, INTEGER, DOUBLE, FLOAT, LONG, SHORT, BYTE, CHAR, DATE, TIME, TIMESTAMP, CLOB, BLOB, ARRAY, OBJECT


timestamp: the timestamp needs to be no more than 30 minutes from now.

2. Sub Account Switch Enable

Description

This endpoint allows you to update the status of a subaccount by enabling or disabling it.

Request

Method

PATCH

URL

  • Staging: https://sdk-mobile-api-rc.truvideo.com/api/subaccount

  • Production: https://sdk-mobile-api.truvideo.com/api/subaccount

Headers

  • Content-Type: application/json

  • Authorization: Bearer {{YOUR-ACCESS-TOKEN}}

Body

{
    "isEnabled": {{BOOLEAN}}
}

Parameters:

  • isEnabled: (boolean, required) Indicates whether the subaccount should be enabled or disabled. Possible values:

    • true: Enable the subaccount.

    • false: Disable the subaccount.

Example Request

curl --location --globoff --request PATCH 'https://sdk-mobile-api-rc.truvideo.com/api/subaccount' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{YOUR-ACCESS-TOKEN}}' \
--data '{
    "isEnabled": true
}'

Response

Successful Response

Status Code: 200 OK

Body:

{
    "id": "1087d127-fa57-4f1b-8309-a87c23908655",
    "externalId": "172",
    "name": "New Name",
    "isEnabled": true,
    "environmentUuid": "6514ef77-c0ab-40a8-aca4-90916207f13e",
    "internalStatus": "DEMO"
}

Note

  • BASE-URL:

    • Staging: https://sdk-mobile-api-rc.truvideo.com

    • Production: https://sdk-mobile-api.truvideo.com

  • YOUR-ACCESS-TOKEN: Obtain the access token by following the instructions provided in the documentation: [SDK Mobile] - Generate Admin API Token.

  • BOOLEAN: Possible values are:

    • true

    • false

3. Update Sub Account Name

This endpoint allows you to update the name of a subaccount.

Request

Method

PATCH

URL

  • Staging: https://sdk-mobile-api-rc.truvideo.com/api/subaccount/update

  • Production: https://sdk-mobile-api.truvideo.com/api/subaccount/update

Headers

  • Content-Type: application/json

  • Authorization: Bearer {{YOUR-ACCESS-TOKEN}}

Body

{
    "name": "{NAME}"
}

Parameters:

  • name: (string, required) The new name you want to set for the subaccount.

Example Request

curl --location --request PATCH 'https://sdk-mobile-api-rc.truvideo.com/api/subaccount/update' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {{YOUR-ACCESS-TOKEN}}' \
--data '{
    "name": "New Subaccount Name"
}'

Response

Status Code: 200 OK

Body:

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "externalId": "text",
  "name": "text",
  "isEnabled": true,
  "environmentUuid": "123e4567-e89b-12d3-a456-426614174000",
  "internalStatus": "INVOICING",
  "zipCode": "text",
  "address": "text",
  "city": "text",
  "state": "text",
  "lastModifiedDate": "2025-07-28T15:46:28.242Z"
}

Note

  • BASE-URL:

    • Staging: https://sdk-mobile-api-rc.truvideo.com

    • Production: https://sdk-mobile-api.truvideo.com

  • YOUR-ACCESS-TOKEN: Obtain the access token by following the instructions provided in the documentation: [SDK Mobile] - Generate Admin API Token.

  • BOOLEAN: Possible values are:

    • true

    • false

  • NAME: Provide the new name for the subaccount.

Last updated