NAV
API version 2.38.0
shell javascript

PrivMX Bridge API

This site is only a reference to managing PrivMX Bridge. To get an overview of the whole PrivMX platform and read about using client applications, refer to PrivMX Documentation.

PrivMX Bridge is a secure, zero-knowledge server for encrypted data storage and communication. It allows users to communicate and exchange data in a fully encrypted environment, ensuring end-to-end encryption and protecting data privacy at every step. Client software for PrivMX Bridge is PrivMX Endpoint, which handles the encryption.

Introduction

Use the JSON-rpc protocol to call API methods.

Below is an example cURL command for querying the API to list Solutions:

curl -X POST -H "Content-Type: application/json" \
    -H "Authorization: one-of-our-authorization-methods" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 0,
        "method": "solution/listSolutions",
        "params": {}
    }' \
    https://my-privmx-bridge-instance/api

Authorization

API Keys

You can access the API methods using API Keys. These keys have no time-to-live (TTL) but can be disabled or deleted. Each key is assigned a specific scope. You can create up to 10 API Keys by calling the method manager/createApiKey.

NOTICE: When you install PrivMX Bridge, you receive your first API Key with full API access.

An API Key can be created without public key:

curl -X POST -H "Content-Type: application/json" \
    -H "Authorization: one-of-our-authorization-methods" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 0,
        "method": "manager/createApiKey",
        "params": {
            "name": "My ApiKey",
            "scope": ["apikey", "context", "solution"],
        }
    }' \
    https://my-privmx-bridge-instance/api

Or with an ED25519 PEM-encoded public key:

curl -X POST -H "Content-Type: application/json" \
    -H "Authorization: one-of-our-authorization-methods" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 0,
        "method": "manager/createApiKey",
        "params": {
            "name": "My ApiKey",
            "scope": ["apikey", "context", "solution"],
            "publicKey": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEADsSTjY2wnm1iwWamIWwLTPVhtTIb8TVlI8tts3wkhkQ=\n-----END PUBLIC KEY-----",
        }
    }' \
    https://my-privmx-bridge-instance/api

You will receive an id and secret of API Key:

{
    "jsonrpc":"2.0",
    "id":0,
    "result": {
        "id": "hysd62jsd7823nasd03",
        "secret": "759a1d8edba555badf1216b0f381b94950141"
    }
}

You can now authorize requests using your API Key in one of the following ways:

Signatures

You can sign your request using your API Key.

First, prepare the data to be signed:

apiKeyId = "6XMc4VMf3q54YNarSn9CWUn4htStNu1ry9ajamemdo23sS1y21";
requestPayload =
  '{"jsonrpc":"2.0","id":0,"method":"solution/listSolutions","params":{}}';
requestData = `POST\n/api\n${requestPayload}\n`; // UPPERCASE(HTTP_METHOD()) + "\n" + URI() + "\n" + RequestBody + "\n";
timestamp = 1702555410352;
nonce = "3xUee4EA0gr8dg==";
dataToSign = `${timestamp};${nonce};${requestData}`;

Next, generate a signature corresponding to your API Key credentials:

HMAC signature

apiKeySecret = "CspXxVtTyE3sf6jB7z4CSjxoymuS2H67ZjNDfovTu3i8";
signature = BASE64(HMACSHA256(apiKeySecret, dataToSign).SUBARRAY(0, 20));

ECC signature, if you provided a publicKey:

privateKey =
  "-----BEGIN PRIVATE KEY-----\nMC4CAQAwBQYDK2VwBCIEIOBVFGaSFtfqbNvZWctFKg3k+I0T5YXRavpKAD9+BgCX\n-----END PRIVATE KEY-----";
signature = BASE64(SIGN(dataToSign, privateKey));

To sign a request, include the following in the Authorization header:

"pmx-hmac-sha256 ${apiKeyId};1;${timestamp};${nonce};${signature}"
curl -X POST -H "Content-Type: application/json" \
    -H "Authorization: pmx-hmac-sha256 6XMc4VMf3q54YNarSn9CWUn4htStNu1ry9ajamemdo23sS1y21;1;1702555410352;3xUee4EA0gr8dg;JN5llLladWZ+1rGu6yrkbIQzme0=" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 0,
        "method": "solution/listSolutions",
        "params": {}
    }' \
    https://my-privmx-bridge-instance/api

API Key Credentials

You can authorize the request by placing your API Key credentials in the Authorization header:

basicAuthorization = BASE64(`${apiKeyId}:${apiKeySecret}`);
authorizationHeaderValue = `Basic ${basicAuthorization}`;
curl -X POST -H "Content-Type: application/json" \
    -H "Authorization: Basic YWxpY2U6dGhlc2NlcmV0" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 0,
        "method": "solution/listSolutions",
        "params": {}
    }' \
    https://my-privmx-bridge-instance/api

Note that you cannot use this authorization method if your API Key includes a public key. In such a case, only ECC signatures are available for this API Key.

Access Tokens

Access Tokens have a TTL but can be refreshed using refresh tokens. You can generate them by calling manager/auth:

curl -X POST \
    -H "Content-Type: application/json" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "manager/auth",
        "params": {
            "scope": ["apikey", "solution"],
            "grantType": "api_key_credentials",
            "apiKeyId": "65ad8f6b2e4f4f1adb40bf68",
            "apiKeySecret": "5ZTUQ7VBxoqRKn3pEyPjHeavXHVw7JcJF3MvAV43yfsR"
        }
    }' \
    https://my-privmx-bridge-instance/api

You will receive an access_token and a refresh_token:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "accessToken": "SXRzIGEgcmFuZG9tIHRleHQgZW5jb2RlZCBmb3IgdGhlIHRlc3RpbmcgcHVycG9zZSwgaWYgeW91IGRlY29kZWQgdGhpcyB0ZXh0LCB0cmVhdCBpcyBhcyBhIHNvcnQgb2YgZWFzdGVyIGVnZyA6KS4=",
        "accessTokenExpiry": 1726652150623,
        "refreshToken": "TG9yZW0gaXBzdW1Mb3JlbSBpcHN1bUxvcmVtIGlwc3VtTG9yZW0gaXBzdW1Mb3JlbSBpcHN1bUxvcmVtIGlwc3VtTG9yZW0gaXBzdW0=",
        "refreshTokenExpiry": 1726952150623,
        "tokenType": "Bearer",
        "scope": [
            "apiKey",
            "solution",
            "context"
        ]
    }
}

The Access Token can be used to authorize your request by placing it in the Authorization header:

curl -X POST \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer SXRzIGEgcmFuZG9tIHRleHQgZW5jb2RlZCBmb3IgdGhlIHRlc3RpbmcgcHVycG9zZSwgaWYgeW91IGRlY29kZWQgdGhpcyB0ZXh0LCB0cmVhdCBpcyBhcyBhIHNvcnQgb2YgZWFzdGVyIGVnZyA6KS4=" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "solution/listSolutions",
        "params": {}
    }' \
    https://my-privmx-bridge-instance/api

Access Tokens can be refreshed using refresh tokens by calling the manager/auth method:

curl -X POST \
    -H "Content-Type: application/json" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "manager/auth",
        "params": {
            "grantType": "refresh_token",
            "refreshToken": "TG9yZW0gaXBzdW1Mb3JlbSBpcHN1bUxvcmVtIGlwc3VtTG9yZW0gaXBzdW0=",
        }
    }' \
    https://my-privmx-bridge-instance/api

In response, you will receive a new pair of tokens, and the old pair will be revoked.

API Scopes

When requesting an Access Token, you can specify the scope, which defines the level of access granted. Here's a breakdown of the available scopes:

Scope Description
session:NAME Creates a new session with the provided name, generating tokens bound to that session. Access is granted for the session's lifetime. A user can have up to 16 sessions; when this limit is reached, the oldest session is removed.
ipAddr:ADDR Restricts the token to connections from a specific IPv4 address (ADDR).
expiresIn:NUMBER Access Token will expire after NUMBER of milliseconds. Max value is refresh token TTL.
apiKey Restricts the token to manager API scope.
solution Restricts the token to Solution API scope.
context Restricts the token to Context API scope.
thread Restricts the token to Thread API scope.
store Restricts the token to Store API scope.
inbox Restricts the token to Inbox API scope.
stream Restricts the token to stream API scope.
solution:SOLUTION_ID Restricts the token to manage Contexts only under given SOLUTION_ID.
solution:* Restricts the token to manage all Contexts.

These scopes allow fine-grained control over what actions can be performed with the generated tokens, making it easier to manage permissions across different parts of the system.

Methods

Note: Every API request can return any of the common errors, which are only specified in Error Codes section not to duplicate them in every method description.

Context

context/addSolutionToContext

Creates connection between context and solution

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/addSolutionToContext",
        "params": {
            "contextId": "65fd820f0758a54a68558d7c",
            "solutionId": "65ad8f6c2e4f4f1adb40bf81"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/addSolutionToContext",
        "params": {
            "contextId": "65fd820f0758a54a68558d7c",
            "solutionId": "65ad8f6c2e4f4f1adb40bf81"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": "OK"
}
Parameter Type Enum Description
contextId string context's id (length in [1,128])
solutionId string solution's id (length in [1,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result string OK "OK"

Additional errors

Error Code Message
24854 Context does not exist
24880 Solution does not exist
24883 Cannot assign private context

context/addUserToContext

Add user to context with given id

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/addUserToContext",
        "params": {
            "contextId": "65fd820f0758a54a68558d7c",
            "userId": "Josh",
            "userPubKey": "64dGCs7myoFrZDnP5pgvmBNKF1za22b5iBQaEpeBcGWiTUCA3c"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/addUserToContext",
        "params": {
            "contextId": "65fd820f0758a54a68558d7c",
            "userId": "Josh",
            "userPubKey": "64dGCs7myoFrZDnP5pgvmBNKF1za22b5iBQaEpeBcGWiTUCA3c"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": "OK"
}
Parameter Type Enum Description
contextId string context's id (length in [1,128])
userId string user's id (length in [1,128])
userPubKey string context user's public key
acl string (optional) user acl (length in [0,4096])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result string OK "OK"

Additional errors

Error Code Message
24854 Context does not exist

context/createContext

Creates new application context with given options

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/createContext",
        "params": {
            "solution": "65ad8f6c2e4f4f1adb40bf81",
            "name": "some-context",
            "description": "some-description",
            "scope": "private"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/createContext",
        "params": {
            "solution": "65ad8f6c2e4f4f1adb40bf81",
            "name": "some-context",
            "description": "some-description",
            "scope": "private"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "contextId": "65fd820f0758a54a68558d7c"
    }
}
Parameter Type Enum Description
solution string solution's id (length in [1,128])
name string context's name (length in [0,128])
description string context's description (length in [0,128])
scope string public
private
context's scope, public or private
policy object (optional) context's policy

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object id of newly created context
  ›  contextId string context's id

Additional errors

Error Code Message
24880 Solution does not exist

context/deleteContext

Removes context

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/deleteContext",
        "params": {
            "contextId": "65fd820f0758a54a68558d7c"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/deleteContext",
        "params": {
            "contextId": "65fd820f0758a54a68558d7c"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": "OK"
}
Parameter Type Enum Description
contextId string context's id (length in [1,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result string OK "OK"

Additional errors

Error Code Message
24854 Context does not exist

context/getContext

Get context by given id

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/getContext",
        "params": {
            "contextId": "65fd820f0758a54a68558d7c"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/getContext",
        "params": {
            "contextId": "65fd820f0758a54a68558d7c"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "context": {
            "id": "65fd820f0758a54a68558d7c",
            "created": 1726652150623,
            "modified": 1726652150623,
            "solution": "56fd820f0758a54a68558d7c",
            "name": "My Context",
            "description": "Some text",
            "scope": "private",
            "shares": [
                "56eee20f0758a54a68558d7c"
            ],
            "policy": {}
        }
    }
}
Parameter Type Enum Description
contextId string context's id (length in [1,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object context's info
  ›  context object context's info
  ›    ›  id string context's id
  ›    ›  created number context's creation timestamp
  ›    ›  modified number context's modification timestamp
  ›    ›  solution string context's main solution
  ›    ›  name string context's name
  ›    ›  description string context's description
  ›    ›  scope string public
private
context's scope
  ›    ›  shares array of string context's shares
  ›    ›  policy object context's policy

Additional errors

Error Code Message
24854 Context does not exist

context/getUserFromContext

Get user from context

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/getUserFromContext",
        "params": {
            "contextId": "65fd820f0758a54a68558d7c",
            "userId": "John"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/getUserFromContext",
        "params": {
            "contextId": "65fd820f0758a54a68558d7c",
            "userId": "John"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "user": {
            "userId": "John",
            "pubKey": "64dGCs7myoFrZDnP5pgvmBNKF1za22b5iBQaEpeBcGWiTUCA3c",
            "created": 1713444359253,
            "contextId": "65fd820f0758a54a68558d7c",
            "acl": ""
        }
    }
}
Parameter Type Enum Description
contextId string context's id (length in [1,128])
userId string user's id (length in [1,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object info about user of the context
  ›  user object user info
  ›    ›  userId string user's id
  ›    ›  pubKey string context user's public key
  ›    ›  created number context user's creation date
  ›    ›  contextId string context's id
  ›    ›  acl string user acl

Additional errors

Error Code Message
24854 Context does not exist
9 User doesn't exist

context/getUserFromContextByPubKey

Get user from context by user's public key

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/getUserFromContextByPubKey",
        "params": {
            "contextId": "65fd820f0758a54a68558d7c",
            "pubKey": "64dGCs7myoFrZDnP5pgvmBNKF1za22b5iBQaEpeBcGWiTUCA3c"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/getUserFromContextByPubKey",
        "params": {
            "contextId": "65fd820f0758a54a68558d7c",
            "pubKey": "64dGCs7myoFrZDnP5pgvmBNKF1za22b5iBQaEpeBcGWiTUCA3c"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "user": {
            "userId": "John",
            "pubKey": "64dGCs7myoFrZDnP5pgvmBNKF1za22b5iBQaEpeBcGWiTUCA3c",
            "created": 1713444359253,
            "contextId": "65fd820f0758a54a68558d7c",
            "acl": ""
        }
    }
}
Parameter Type Enum Description
contextId string context's id (length in [1,128])
pubKey string context user's public key

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object info about user of a context
  ›  user object user info
  ›    ›  userId string user's id
  ›    ›  pubKey string context user's public key
  ›    ›  created number context user's creation date
  ›    ›  contextId string context's id
  ›    ›  acl string user acl

Additional errors

Error Code Message
24854 Context does not exist
9 User doesn't exist

context/listContexts

Get list of all contexts

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/listContexts",
        "params": {
            "limit": 10,
            "skip": 0,
            "sortOrder": "asc"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/listContexts",
        "params": {
            "limit": 10,
            "skip": 0,
            "sortOrder": "asc"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "count": 1,
        "list": [
            {
                "id": "662116076325655645e6031e",
                "solution": "65ad8f6c2e4f4f1adb40bf81",
                "shares": [],
                "created": 1713444359253,
                "modified": 1713444359253,
                "name": "sampleContext",
                "description": "context description",
                "scope": "private",
                "policy": {}
            }
        ]
    }
}
Parameter Type Enum Description
skip number (in range: [0,∞])
limit number (in range: [1,100])
sortOrder string desc
asc
lastId string (optional) (length in [1,128])
query object (optional) query

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object list of contexts
  ›  list array of object contexts list
  ›    ›  id string context's id
  ›    ›  created number context's creation timestamp
  ›    ›  modified number context's modification timestamp
  ›    ›  solution string context's main solution
  ›    ›  name string context's name
  ›    ›  description string context's description
  ›    ›  scope string public
private
context's scope
  ›    ›  shares array of string context's shares
  ›    ›  policy object context's policy
  ›  count number list elements count

Additional errors

No additional errors

context/listContextsOfSolution

Get list of all contexts of given solution

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/listContextsOfSolution",
        "params": {
            "solutionId": "65ad8f6c2e4f4f1adb40bf81",
            "skip": 0,
            "limit": 10,
            "sortOrder": "asc"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/listContextsOfSolution",
        "params": {
            "solutionId": "65ad8f6c2e4f4f1adb40bf81",
            "skip": 0,
            "limit": 10,
            "sortOrder": "asc"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "count": 1,
        "list": [
            {
                "id": "662116076325655645e6031e",
                "solution": "65ad8f6c2e4f4f1adb40bf81",
                "shares": [],
                "created": 1713444359253,
                "modified": 1713444359253,
                "name": "sampleContext",
                "description": "context description",
                "scope": "private",
                "policy": {}
            }
        ]
    }
}
Parameter Type Enum Description
solutionId string solution's id (length in [1,128])
skip number (in range: [0,∞])
limit number (in range: [1,100])
sortOrder string desc
asc
lastId string (optional) (length in [1,128])
query object (optional) query

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object list of contexts
  ›  list array of object contexts list
  ›    ›  id string context's id
  ›    ›  created number context's creation timestamp
  ›    ›  modified number context's modification timestamp
  ›    ›  solution string context's main solution
  ›    ›  name string context's name
  ›    ›  description string context's description
  ›    ›  scope string public
private
context's scope
  ›    ›  shares array of string context's shares
  ›    ›  policy object context's policy
  ›  count number list elements count

Additional errors

Error Code Message
24880 Solution does not exist

context/listUsersFromContext

Get list of all users in the given context

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/listUsersFromContext",
        "params": {
            "contextId": "65fd820f0758a54a68558d7c",
            "skip": 0,
            "limit": 10,
            "sortOrder": "asc"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/listUsersFromContext",
        "params": {
            "contextId": "65fd820f0758a54a68558d7c",
            "skip": 0,
            "limit": 10,
            "sortOrder": "asc"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "users": [
            {
                "userId": "John",
                "pubKey": "64dGCs7myoFrZDnP5pgvmBNKF1za22b5iBQaEpeBcGWiTUCA3c",
                "created": 1713444359253,
                "contextId": "65fd820f0758a54a68558d7c",
                "acl": ""
            }
        ],
        "count": 1
    }
}
Parameter Type Enum Description
contextId string context's id (length in [1,128])
skip number (in range: [0,∞])
limit number (in range: [1,100])
sortOrder string desc
asc
lastId string (optional) (length in [1,128])
query object (optional) query

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object list of context users
  ›  users array of object
  ›    ›  userId string user's id
  ›    ›  pubKey string context user's public key
  ›    ›  created number context user's creation date
  ›    ›  contextId string context's id
  ›    ›  acl string user acl
  ›  count number list elements count

Additional errors

Error Code Message
24854 Context does not exist

context/removeSolutionFromContext

Removes connection between context and solution

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/removeSolutionFromContext",
        "params": {
            "contextId": "65fd820f0758a54a68558d7c",
            "solutionId": "65ad8f6c2e4f4f1adb40bf81"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/removeSolutionFromContext",
        "params": {
            "contextId": "65fd820f0758a54a68558d7c",
            "solutionId": "65ad8f6c2e4f4f1adb40bf81"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": "OK"
}
Parameter Type Enum Description
contextId string context's id (length in [1,128])
solutionId string solution's id (length in [1,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result string OK "OK"

Additional errors

Error Code Message
24854 Context does not exist
24880 Solution does not exist
24884 Cannot unassign context from its parent

context/removeUserFromContext

Removes user from the context

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/removeUserFromContext",
        "params": {
            "contextId": "65fd820f0758a54a68558d7c",
            "userId": "John"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/removeUserFromContext",
        "params": {
            "contextId": "65fd820f0758a54a68558d7c",
            "userId": "John"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": "OK"
}
Parameter Type Enum Description
contextId string context's id (length in [1,128])
userId string user's id (length in [1,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result string OK "OK"

Additional errors

Error Code Message
24854 Context does not exist

context/removeUserFromContextByPubKey

Removes user form the context by user's public key

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/removeUserFromContextByPubKey",
        "params": {
            "contextId": "65fd820f0758a54a68558d7c",
            "userPubKey": "64dGCs7myoFrZDnP5pgvmBNKF1za22b5iBQaEpeBcGWiTUCA3c"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/removeUserFromContextByPubKey",
        "params": {
            "contextId": "65fd820f0758a54a68558d7c",
            "userPubKey": "64dGCs7myoFrZDnP5pgvmBNKF1za22b5iBQaEpeBcGWiTUCA3c"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": "OK"
}
Parameter Type Enum Description
contextId string context's id (length in [1,128])
userPubKey string context user's public key

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result string OK "OK"

Additional errors

Error Code Message
24854 Context does not exist

context/setUserAcl

updates user ACL

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/setUserAcl",
        "params": {
            "userId": "John",
            "contextId": "65fd820f0758a54a68558d7c",
            "acl": "ALLOW ALL"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/setUserAcl",
        "params": {
            "userId": "John",
            "contextId": "65fd820f0758a54a68558d7c",
            "acl": "ALLOW ALL"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": "OK"
}
Parameter Type Enum Description
contextId string context's id (length in [1,128])
userId string user's id (length in [1,128])
acl string user acl (length in [0,4096])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result string OK "OK"

Additional errors

Error Code Message
24854 Context does not exist
9 User doesn't exist

context/updateContext

Updates existing context properties

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/updateContext",
        "params": {
            "contextId": "65fd820f0758a54a68558d7c",
            "scope": "public"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "context/updateContext",
        "params": {
            "contextId": "65fd820f0758a54a68558d7c",
            "scope": "public"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": "OK"
}
Parameter Type Enum Description
contextId string context's id (length in [1,128])
name string (optional) context's name (length in [0,128])
description string (optional) context's description (length in [0,128])
scope string public
private
(optional) context's scope, public or private
policy object (optional) context's policy

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result string OK "OK"

Additional errors

Error Code Message
24854 Context does not exist
24885 Cannot switch connected context to private

Inbox

inbox/deleteInbox

Deletes inbox

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "inbox/deleteInbox",
        "params": {
            "inboxId": "65ad8f6c2e4f4f1adb40bf81"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "inbox/deleteInbox",
        "params": {
            "inboxId": "65ad8f6c2e4f4f1adb40bf81"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": "OK"
}
Parameter Type Enum Description
inboxId string Inbox ID (length in [1,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result string OK "OK"

Additional errors

Error Code Message
24862 Inbox does not exist

inbox/deleteManyInboxes

Deletes given Inboxes, requires that they belong to the same Context

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "inbox/deleteManyInboxes",
        "params": {
            "inboxIds": [
                "65ad8f6c2e4f4f1adb40bf81"
            ]
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "inbox/deleteManyInboxes",
        "params": {
            "inboxIds": [
                "65ad8f6c2e4f4f1adb40bf81"
            ]
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "results": [
            {
                "id": "65ad8f6c2e4f4f1adb40bf81",
                "status": "OK"
            }
        ]
    }
}
Parameter Type Enum Description
inboxIds array of string List of Inboxes to delete (length in [0,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object List of ID and status for every deletion attempt
  ›  results array of object List of deletions status
  ›    ›  id string
  ›    ›  status string "OK"
"INBOX_DOES_NOT_EXIST"
"ACCESS_DENIED"

Additional errors

Error Code Message
24868 Resources does not belong to same context

inbox/getInbox

Fetches inbox with given ID

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "inbox/getInbox",
        "params": {
            "inboxId": "65ad8f6c2e4f4f1adb40bf81"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "inbox/getInbox",
        "params": {
            "inboxId": "65ad8f6c2e4f4f1adb40bf81"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "inbox": {
            "id": "65ad8f6c2e4f4f1adb40bf81",
            "contextId": "657838dd3359f5a16f93cd81",
            "createDate": 1709648110994,
            "creator": "john",
            "lastModificationDate": 1709648110994,
            "lastModifier": "john",
            "keyId": "my-key",
            "users": [
                "john"
            ],
            "managers": [
                "john"
            ],
            "version": 1,
            "publicMeta": null
        }
    }
}
Parameter Type Enum Description
inboxId string Inbox ID (length in [1,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object Inbox's info
  ›  inbox object Inbox
  ›    ›  id string Inbox's ID
  ›    ›  contextId string Context's ID
  ›    ›  createDate number Creation date
  ›    ›  creator string Creator's ID
  ›    ›  lastModificationDate number Last modification date
  ›    ›  lastModifier string Last modifier ID
  ›    ›  keyId string Key's ID
  ›    ›  users array of string Users list
  ›    ›  managers array of string Managers list
  ›    ›  version number Version
  ›    ›  publicMeta unknown Public meta data set by user, equal to null if does not exist

Additional errors

Error Code Message
24862 Inbox does not exist

inbox/listInboxes

List Inboxes in given context

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "inbox/listInboxes",
        "params": {
            "contextId": "657838dd3359f5a16f93cd81",
            "from": null,
            "limit": 10,
            "sortOrder": "asc"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "inbox/listInboxes",
        "params": {
            "contextId": "657838dd3359f5a16f93cd81",
            "from": null,
            "limit": 10,
            "sortOrder": "asc"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "count": 1,
        "list": [
            {
                "id": "65ad8f6c2e4f4f1adb40bf81",
                "contextId": "657838dd3359f5a16f93cd81",
                "createDate": 1709648110994,
                "creator": "john",
                "lastModificationDate": 1709648110994,
                "lastModifier": "john",
                "keyId": "my-key",
                "users": [
                    "john"
                ],
                "managers": [
                    "john"
                ],
                "version": 1,
                "publicMeta": null
            }
        ]
    }
}
Parameter Type Enum Description
contextId string Context's ID (length in [1,128])
from generic (nullable)
limit number (in range: [1,100])
sortOrder string desc
asc

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object List of Inboxes
  ›  list array of object List of Inboxes
  ›    ›  id string Inbox's ID
  ›    ›  contextId string Context's ID
  ›    ›  createDate number Creation date
  ›    ›  creator string Creator's ID
  ›    ›  lastModificationDate number Last modification date
  ›    ›  lastModifier string Last modifier ID
  ›    ›  keyId string Key's ID
  ›    ›  users array of string Users list
  ›    ›  managers array of string Managers list
  ›    ›  version number Version
  ›    ›  publicMeta unknown Public meta data set by user, equal to null if does not exist
  ›  count number Number of all elements

Additional errors

Error Code Message
24854 Context does not exist

Kvdb

kvdb/deleteKvdb

Deletes Kvdb

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "kvdb/deleteKvdb",
        "params": {
            "kvdbId": "664775ddb5d9a3f95b619ef0"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "kvdb/deleteKvdb",
        "params": {
            "kvdbId": "664775ddb5d9a3f95b619ef0"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": "OK"
}
Parameter Type Enum Description
kvdbId string Kvdb's ID (length in [1,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result string OK "OK"

Additional errors

Error Code Message
24892 Kvdb does not exist

kvdb/deleteKvdbEntry

Deletes Kvdb entry

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "kvdb/deleteKvdbEntry",
        "params": {
            "kvdbId": "65ad8f6c2e4f4f1adb40bf81",
            "kvdbEntryKey": "65ad8f6c2e4f4f1adb40bf81"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "kvdb/deleteKvdbEntry",
        "params": {
            "kvdbId": "65ad8f6c2e4f4f1adb40bf81",
            "kvdbEntryKey": "65ad8f6c2e4f4f1adb40bf81"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": "OK"
}
Parameter Type Enum Description
kvdbId string Kvdb's ID (length in [1,128])
kvdbEntryKey string Kvdb entry's key

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result string OK "OK"

Additional errors

Error Code Message
24893 Kvdb item does not exist

kvdb/deleteManyKvdbEntries

Deletes given entries

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "kvdb/deleteManyKvdbEntries",
        "params": {
            "kvdbId": "65ad8f6c2e4f4f1adb40bf81",
            "kvdbEntryKeys": [
                "65ad8f6c2e4f4f1adb40bf81"
            ]
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "kvdb/deleteManyKvdbEntries",
        "params": {
            "kvdbId": "65ad8f6c2e4f4f1adb40bf81",
            "kvdbEntryKeys": [
                "65ad8f6c2e4f4f1adb40bf81"
            ]
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "results": [
            {
                "kvdbEntryKey": "65ad8f6c2e4f4f1adb40bf81",
                "status": "OK"
            }
        ]
    }
}
Parameter Type Enum Description
kvdbId string Kvdb's ID (length in [1,128])
kvdbEntryKeys array of string List of Kvdb's keys (length in [0,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object List of ID and status for every deletion attempt
  ›  results array of object List of deletions status
  ›    ›  kvdbEntryKey string
  ›    ›  status string "OK"
"KVDB_ENTRY_DOES_NOT_EXIST"
"ACCESS_DENIED"

Additional errors

Error Code Message
24869 Messages does not belong to same thread

kvdb/deleteManyKvdbs

Deletes given Kvdbs, requires that they belong to the same Context

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "kvdb/deleteManyKvdbs",
        "params": {
            "kvdbIds": [
                "65ad8f6c2e4f4f1adb40bf81"
            ]
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "kvdb/deleteManyKvdbs",
        "params": {
            "kvdbIds": [
                "65ad8f6c2e4f4f1adb40bf81"
            ]
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "results": [
            {
                "id": "65ad8f6c2e4f4f1adb40bf81",
                "status": "OK"
            }
        ]
    }
}
Parameter Type Enum Description
kvdbIds array of string List of Kvdbs to delete (length in [0,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object List of ID and status for every deletion attempt
  ›  results array of object List of deletions status
  ›    ›  id string
  ›    ›  status string "OK"
"KVDB_DOES_NOT_EXIST"
"ACCESS_DENIED"

Additional errors

Error Code Message
24868 Resources does not belong to same context

kvdb/getKvdb

Fetches Kvdb with given ID

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "kvdb/getKvdb",
        "params": {
            "kvdbId": "664775ddb5d9a3f95b619ef0"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "kvdb/getKvdb",
        "params": {
            "kvdbId": "664775ddb5d9a3f95b619ef0"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "kvdb": {
            "id": "664775ddb5d9a3f95b619ef0",
            "contextId": "657838dd3359f5a16f93cd81",
            "createDate": 1715959261142,
            "creator": "john",
            "lastModificationDate": 1715959261142,
            "lastModifier": "john",
            "keyId": "my-key",
            "users": [
                "john"
            ],
            "managers": [
                "john"
            ],
            "version": 1,
            "lastEntryDate": 1715959261142,
            "entries": 1,
            "publicMeta": null
        }
    }
}
Parameter Type Enum Description
kvdbId string Kvdb's ID (length in [1,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object Kvdb's info
  ›  kvdb object Kvdb
  ›    ›  id string Kvdb's ID
  ›    ›  contextId string Context's ID
  ›    ›  createDate number Creation date
  ›    ›  creator string Creator ID
  ›    ›  lastModificationDate number Modification date
  ›    ›  lastModifier string Last modifier ID
  ›    ›  keyId string Key ID
  ›    ›  users array of string Users list
  ›    ›  managers array of string Managers list
  ›    ›  version number Version
  ›    ›  lastEntryDate number Date of last modified entry in thread
  ›    ›  entries number Entries count in thread
  ›    ›  publicMeta unknown Public meta data set by user, equal to null if does not exist

Additional errors

Error Code Message
24892 Kvdb does not exist

kvdb/getKvdbEntry

Fetches entry with given ID

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "kvdb/getKvdbEntry",
        "params": {
            "kvdbId": "664775ddb5d9a3f95b619ef0",
            "kvdbEntryKey": "65ad8f6c2e4f4f1adb40bf81"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "kvdb/getKvdbEntry",
        "params": {
            "kvdbId": "664775ddb5d9a3f95b619ef0",
            "kvdbEntryKey": "65ad8f6c2e4f4f1adb40bf81"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "kvdbEntry": {
            "kvdbEntryKey": "664775dd05c7c6f92f654a11",
            "kvdbId": "664775ddb5d9a3f95b619ef0",
            "contextId": "657838dd3359f5a16f93cd81",
            "createDate": 1715959261318,
            "author": "john",
            "keyId": "my-key",
            "version": 1,
            "lastModificationDate": 1715959261318,
            "lastModifier": "john",
            "publicMeta": null
        }
    }
}
Parameter Type Enum Description
kvdbId string Kvdb's ID (length in [1,128])
kvdbEntryKey string Kvdb entry's key

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object entry's info
  ›  kvdbEntry object Kvdb entry
  ›    ›  kvdbEntryKey string Kvdb entry's key
  ›    ›  kvdbId string Kvdb's ID
  ›    ›  version number Version
  ›    ›  contextId string Context's ID
  ›    ›  createDate number Creation date
  ›    ›  author string Author's ID
  ›    ›  keyId string Key ID
  ›    ›  lastModificationDate number Last modification
  ›    ›  lastModifier string Last modifier
  ›    ›  publicMeta unknown Public meta data set by user, equal to null if does not exist

Additional errors

Error Code Message
24893 Kvdb item does not exist

kvdb/listKvdbEntries

Lists entries of given KVDB

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "kvdb/listKvdbEntries",
        "params": {
            "kvdbId": "65ad8f6c2e4f4f1adb40bf81",
            "from": null,
            "limit": 10,
            "sortOrder": "asc",
            "prefix": "6647"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "kvdb/listKvdbEntries",
        "params": {
            "kvdbId": "65ad8f6c2e4f4f1adb40bf81",
            "from": null,
            "limit": 10,
            "sortOrder": "asc",
            "prefix": "6647"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "count": 1,
        "kvdb": {
            "id": "664775ddb5d9a3f95b619ef0",
            "contextId": "657838dd3359f5a16f93cd81",
            "createDate": 1715959261142,
            "creator": "john",
            "lastModificationDate": 1715959261142,
            "lastModifier": "john",
            "keyId": "my-key",
            "users": [
                "john"
            ],
            "managers": [
                "john"
            ],
            "version": 1,
            "lastEntryDate": 1715959261142,
            "entries": 1,
            "publicMeta": null
        },
        "list": [
            {
                "kvdbEntryKey": "664775dd05c7c6f92f654a11",
                "kvdbId": "664775ddb5d9a3f95b619ef0",
                "contextId": "657838dd3359f5a16f93cd81",
                "createDate": 1715959261318,
                "author": "john",
                "keyId": "my-key",
                "version": 1,
                "lastModificationDate": 1715959261318,
                "lastModifier": "john",
                "publicMeta": null
            }
        ]
    }
}
Parameter Type Enum Description
kvdbId string Kvdb's ID (length in [1,128])
prefix string (optional) Searched key prefix (length in [0,256])
from generic (nullable)
limit number (in range: [1,100])
sortOrder string desc
asc

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object List of ID and status for every deletion attempt
  ›  kvdb object Kvdb
  ›    ›  id string Kvdb's ID
  ›    ›  contextId string Context's ID
  ›    ›  createDate number Creation date
  ›    ›  creator string Creator ID
  ›    ›  lastModificationDate number Modification date
  ›    ›  lastModifier string Last modifier ID
  ›    ›  keyId string Key ID
  ›    ›  users array of string Users list
  ›    ›  managers array of string Managers list
  ›    ›  version number Version
  ›    ›  lastEntryDate number Date of last modified entry in thread
  ›    ›  entries number Entries count in thread
  ›    ›  publicMeta unknown Public meta data set by user, equal to null if does not exist
  ›  list array of object List of Kvdb's entries
  ›    ›  kvdbEntryKey string Kvdb entry's key
  ›    ›  kvdbId string Kvdb's ID
  ›    ›  version number Version
  ›    ›  contextId string Context's ID
  ›    ›  createDate number Creation date
  ›    ›  author string Author's ID
  ›    ›  keyId string Key ID
  ›    ›  lastModificationDate number Last modification
  ›    ›  lastModifier string Last modifier
  ›    ›  publicMeta unknown Public meta data set by user, equal to null if does not exist
  ›  count number Number of entries in Kvdb

Additional errors

Error Code Message
24892 Kvdb does not exist

kvdb/listKvdbKeys

Lists keys of entries in given KVDB

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "kvdb/listKvdbKeys",
        "params": {
            "kvdbId": "65ad8f6c2e4f4f1adb40bf81",
            "from": null,
            "limit": 10,
            "sortOrder": "asc"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "kvdb/listKvdbKeys",
        "params": {
            "kvdbId": "65ad8f6c2e4f4f1adb40bf81",
            "from": null,
            "limit": 10,
            "sortOrder": "asc"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "count": 1,
        "kvdb": {
            "id": "664775ddb5d9a3f95b619ef0",
            "contextId": "657838dd3359f5a16f93cd81",
            "createDate": 1715959261142,
            "creator": "john",
            "lastModificationDate": 1715959261142,
            "lastModifier": "john",
            "keyId": "my-key",
            "users": [
                "john"
            ],
            "managers": [
                "john"
            ],
            "version": 1,
            "lastEntryDate": 1715959261142,
            "entries": 1,
            "publicMeta": null
        },
        "list": [
            "664775dd05c7c6f92f654a11"
        ]
    }
}
Parameter Type Enum Description
kvdbId string Kvdb's ID (length in [1,128])
from generic (nullable)
limit number (in range: [1,100])
sortOrder string desc
asc

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object List of ID and status for every deletion attempt
  ›  kvdb object Kvdb
  ›    ›  id string Kvdb's ID
  ›    ›  contextId string Context's ID
  ›    ›  createDate number Creation date
  ›    ›  creator string Creator ID
  ›    ›  lastModificationDate number Modification date
  ›    ›  lastModifier string Last modifier ID
  ›    ›  keyId string Key ID
  ›    ›  users array of string Users list
  ›    ›  managers array of string Managers list
  ›    ›  version number Version
  ›    ›  lastEntryDate number Date of last modified entry in thread
  ›    ›  entries number Entries count in thread
  ›    ›  publicMeta unknown Public meta data set by user, equal to null if does not exist
  ›  list array of string List of Kvdb's keys
  ›  count number Number of entries in Kvdb

Additional errors

Error Code Message
24892 Kvdb does not exist

kvdb/listKvdbs

List Kvdbs in given Context

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "kvdb/listKvdbs",
        "params": {
            "contextId": "657838dd3359f5a16f93cd81",
            "from": null,
            "limit": 10,
            "sortOrder": "asc"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "kvdb/listKvdbs",
        "params": {
            "contextId": "657838dd3359f5a16f93cd81",
            "from": null,
            "limit": 10,
            "sortOrder": "asc"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "count": 1,
        "list": [
            {
                "id": "664775ddb5d9a3f95b619ef0",
                "contextId": "657838dd3359f5a16f93cd81",
                "createDate": 1715959261142,
                "creator": "john",
                "lastModificationDate": 1715959261142,
                "lastModifier": "john",
                "keyId": "my-key",
                "users": [
                    "john"
                ],
                "managers": [
                    "john"
                ],
                "version": 1,
                "lastEntryDate": 1715959261142,
                "entries": 1,
                "publicMeta": null
            }
        ]
    }
}
Parameter Type Enum Description
contextId string Context's ID (length in [1,128])
from generic (nullable)
limit number (in range: [1,100])
sortOrder string desc
asc

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object List of Kvdbs
  ›  list array of object List of Kvdbs
  ›    ›  id string Kvdb's ID
  ›    ›  contextId string Context's ID
  ›    ›  createDate number Creation date
  ›    ›  creator string Creator ID
  ›    ›  lastModificationDate number Modification date
  ›    ›  lastModifier string Last modifier ID
  ›    ›  keyId string Key ID
  ›    ›  users array of string Users list
  ›    ›  managers array of string Managers list
  ›    ›  version number Version
  ›    ›  lastEntryDate number Date of last modified entry in thread
  ›    ›  entries number Entries count in thread
  ›    ›  publicMeta unknown Public meta data set by user, equal to null if does not exist
  ›  count number Number of all elements

Additional errors

Error Code Message
24854 Context does not exist

Manager

manager/auth

Retrieve an Oauth access token, to be used for authentication of requests.

Two methods of authentication are supported:

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "manager/auth",
        "params": {
            "apiKeyId": "hysd62jsd7823nasd03",
            "apiKeySecret": "759a1d8edba555badf1216b0f381b94950141",
            "grantType": "api_key_credentials",
            "scope": [
                "apiKey",
                "solution",
                "context"
            ]
        }
    }),
    headers: {
        "Content-type": "application/json"
    }
});
curl -X POST \
    -H "Content-Type: application/json" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "manager/auth",
        "params": {
            "apiKeyId": "hysd62jsd7823nasd03",
            "apiKeySecret": "759a1d8edba555badf1216b0f381b94950141",
            "grantType": "api_key_credentials",
            "scope": [
                "apiKey",
                "solution",
                "context"
            ]
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "accessToken": "SXRzIGEgcmFuZG9tIHRleHQgZW5jb2RlZCBmb3IgdGhlIHRlc3RpbmcgcHVycG9zZSwgaWYgeW91IGRlY29kZWQgdGhpcyB0ZXh0LCB0cmVhdCBpcyBhcyBhIHNvcnQgb2YgZWFzdGVyIGVnZyA6KS4=",
        "accessTokenExpiry": 1726652150623,
        "refreshToken": "TG9yZW0gaXBzdW1Mb3JlbSBpcHN1bUxvcmVtIGlwc3VtTG9yZW0gaXBzdW1Mb3JlbSBpcHN1bUxvcmVtIGlwc3VtTG9yZW0gaXBzdW0=",
        "refreshTokenExpiry": 1726952150623,
        "tokenType": "Bearer",
        "scope": [
            "apiKey",
            "solution",
            "context"
        ]
    }
}

one of the following: AuthByApiKeyCredentialsModel, AuthByRefreshTokenModel, AuthByApiKeySignatureModel

AuthByApiKeyCredentialsModel

Parameter Type Enum Description
grantType string "api_key_credentials" Token grant type
apiKeyId string Api key id (length in [1,128])
apiKeySecret string Api key secret (length in [1,128])
scope array of string (optional) Requested token scope (length in [0,128])

AuthByRefreshTokenModel

Parameter Type Enum Description
grantType string "refresh_token" Token grant type
refreshToken string Refresh token from earlier invocation (length in [1,2048])

AuthByApiKeySignatureModel

Parameter Type Enum Description
grantType string "api_key_signature" Token grant type
apiKeyId string Api key id (length in [1,128])
signature string EdDSA signature or Hash
timestamp number Request timestamp (in range: [-∞,∞])
nonce string Random value used to generate signature (length in [32,64])
scope array of string (optional) Requested token scope (length in [0,128])
data string (optional) Optional signed data (length in [0,1024])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object accessToken, refreshToken, expiryTime and scope
  ›  accessToken string Access token used in authorization
  ›  accessTokenExpiry number Access token expiration timestamp
  ›  tokenType string "Bearer" Token type
  ›  refreshToken string Refresh token that will be used to generate new tokens
  ›  refreshTokenExpiry number Refresh token expiration timestamp
  ›  scope array of string Created token scope

Additional errors

Error Code Message
24875 Api key does not exist
24876 Invalid credentials
21 Invalid token
8 Invalid signature

manager/bindAccessToken

Bind Access Token to websocket, request will be executed with the given Token rights.

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "manager/bindAccessToken",
        "params": {
            "accessToken": "TG9yZW0gaXBzdW1Mb3JlbSBpcHN1bUxvcmVtIGlwc3VtTG9yZW0gaXBzdW1Mb3JlbSBpcHN1bUxvcmVtIGlwc3VtTG9yZW0gaXBzdW0="
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "manager/bindAccessToken",
        "params": {
            "accessToken": "TG9yZW0gaXBzdW1Mb3JlbSBpcHN1bUxvcmVtIGlwc3VtTG9yZW0gaXBzdW1Mb3JlbSBpcHN1bUxvcmVtIGlwc3VtTG9yZW0gaXBzdW0="
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": "OK"
}
Parameter Type Enum Description
accessToken string Access token (length in [1,2048])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result string OK OK

Additional errors

No additional errors

manager/createApiKey

Adds new ApiKey (up to limit of 10). If you pass a public key you cannot use generated api key secret to authorize

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "manager/createApiKey",
        "params": {
            "name": "myApiKey",
            "scope": [
                "apiKey",
                "solution",
                "context"
            ]
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "manager/createApiKey",
        "params": {
            "name": "myApiKey",
            "scope": [
                "apiKey",
                "solution",
                "context"
            ]
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "id": "hysd62jsd7823nasd03",
        "secret": "759a1d8edba555badf1216b0f381b94950141"
    }
}
Parameter Type Enum Description
name string New api key name (length in [0,128])
scope array of string New api key scope (length in [0,128])
publicKey string (optional) ED25519 PEM encoded public key

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object api key id and secret
  ›  id string New api key id
  ›  secret string New api key secret

Additional errors

Error Code Message
24877 Api keys limit exceeded

manager/createFirstApiKey

Adds new ApiKey (up to limit of 10). If you pass a public key you cannot use generated api key secret to authorize

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "manager/createFirstApiKey",
        "params": {
            "initializationToken": "89nn65k42kf8vmaD",
            "name": "myApiKey"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "manager/createFirstApiKey",
        "params": {
            "initializationToken": "89nn65k42kf8vmaD",
            "name": "myApiKey"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "id": "hysd62jsd7823nasd03",
        "secret": "759a1d8edba555badf1216b0f381b94950141"
    }
}
Parameter Type Enum Description
initializationToken string Initialization token (length in [1,1024])
name string New api key name (length in [0,128])
publicKey string (optional) ED25519 PEM encoded public key

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object api key id and secret
  ›  id string New api key id
  ›  secret string New api key secret

Additional errors

Error Code Message
24894 First api key was already created
24895 Initialization token is invalid or not set

manager/deleteApiKey

Deletes ApiKey

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "manager/deleteApiKey",
        "params": {
            "id": "hysd62jsd7823nasd03"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "manager/deleteApiKey",
        "params": {
            "id": "hysd62jsd7823nasd03"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": "OK"
}
Parameter Type Enum Description
id string Api key id (length in [1,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result string OK OK

Additional errors

Error Code Message
24875 Api key does not exist

manager/getApiKey

returns info about ApiKey

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "manager/getApiKey",
        "params": {
            "id": "hysd62jsd7823nasd03"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "manager/getApiKey",
        "params": {
            "id": "hysd62jsd7823nasd03"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "apiKey": {
            "id": "hysd62jsd7823nasd03",
            "created": 1726652150623,
            "enabled": true,
            "name": "MyApiKey",
            "scope": [
                "apiKey",
                "solution",
                "context"
            ]
        }
    }
}
Parameter Type Enum Description
id string Api key id (length in [1,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object api key info
  ›  apiKey object Api key info
  ›    ›  id string Api key id
  ›    ›  created number Api key creation timestamp
  ›    ›  enabled boolean Api key status
  ›    ›  name string Api key name
  ›    ›  scope array of string Api key scope
  ›    ›  publicKey string (optional) Api key public key

Additional errors

Error Code Message
24875 Api key does not exist

manager/listApiKeys

lists all ApiKeys

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "manager/listApiKeys",
        "params": {}
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "manager/listApiKeys",
        "params": {}
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "list": [
            {
                "id": "hysd62jsd7823nasd03",
                "created": 1726652150623,
                "enabled": true,
                "name": "MyApiKey",
                "scope": [
                    "apiKey",
                    "solution",
                    "context"
                ]
            }
        ]
    }
}

No parameters

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object list of api keys
  ›  list array of object Api key info list
  ›    ›  id string Api key id
  ›    ›  created number Api key creation timestamp
  ›    ›  enabled boolean Api key status
  ›    ›  name string Api key name
  ›    ›  scope array of string Api key scope
  ›    ›  publicKey string (optional) Api key public key

Additional errors

No additional errors

manager/subscribeToChannel

Subscribes to notifications from given channels.

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "manager/subscribeToChannel",
        "params": {
            "channels": [
                "thread",
                "store"
            ]
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "manager/subscribeToChannel",
        "params": {
            "channels": [
                "thread",
                "store"
            ]
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": "OK"
}
Parameter Type Enum Description
channels array of string Channels list (length in [0,16])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result string OK OK

Additional errors

Error Code Message
24886 Method is callable with websocket only

manager/unsubscribeFromChannel

Removes given channels from subscribed.

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "manager/unsubscribeFromChannel",
        "params": {
            "channels": [
                "thread",
                "store"
            ]
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "manager/unsubscribeFromChannel",
        "params": {
            "channels": [
                "thread",
                "store"
            ]
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": "OK"
}
Parameter Type Enum Description
channels array of string Channels list (length in [0,16])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result string OK OK

Additional errors

Error Code Message
24886 Method is callable with websocket only

manager/updateApiKey

updates given ApiKey

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "manager/updateApiKey",
        "params": {
            "id": "hysd62jsd7823nasd03",
            "enabled": false
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "manager/updateApiKey",
        "params": {
            "id": "hysd62jsd7823nasd03",
            "enabled": false
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": "OK"
}
Parameter Type Enum Description
id string Api key id (length in [1,128])
name string (optional) Api key name (length in [0,128])
scope array of string (optional) Api key scope (length in [0,128])
enabled boolean (optional) Api key status

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result string OK OK

Additional errors

Error Code Message
24875 Api key does not exist

Solution

solution/createSolution

Creates solution

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "solution/createSolution",
        "params": {
            "name": "New solution"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "solution/createSolution",
        "params": {
            "name": "New solution"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "solutionId": "2v36hhQQjXH74kGHyS7gxcEwWp4C"
    }
}
Parameter Type Enum Description
name string solution's name (length in [0,256])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object solution's id
  ›  solutionId string solution's id

Additional errors

No additional errors

solution/deleteSolution

Deletes solution

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "solution/deleteSolution",
        "params": {
            "id": "2v36hhQQjXH74kGHyS7gxcEwWp4C"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "solution/deleteSolution",
        "params": {
            "id": "2v36hhQQjXH74kGHyS7gxcEwWp4C"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": "OK"
}
Parameter Type Enum Description
id string solution's id (length in [1,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result string OK "OK"

Additional errors

Error Code Message
24880 Solution does not exist

solution/getSolution

Get solution

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "solution/getSolution",
        "params": {
            "id": "65fd820f0758a54a68558d7c"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "solution/getSolution",
        "params": {
            "id": "65fd820f0758a54a68558d7c"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "solution": {
            "id": "65fd820f0758a54a68558d7c",
            "created": 1726652150623,
            "name": "My Solution"
        }
    }
}
Parameter Type Enum Description
id string solution's id (length in [1,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object solution
  ›  solution object solution's info
  ›    ›  id string solution's id
  ›    ›  created number solution's create date timestamp
  ›    ›  name string solution's name

Additional errors

Error Code Message
24880 Solution does not exist

solution/listSolutions

return list of the solutions

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "solution/listSolutions",
        "params": {}
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "solution/listSolutions",
        "params": {}
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "list": [
            {
                "id": "65fd820f0758a54a68558d7c",
                "created": 1726652150623,
                "name": "My Solution"
            }
        ]
    }
}

No parameters

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object returns list of solutions
  ›  list array of object solutions list
  ›    ›  id string solution's id
  ›    ›  created number solution's create date timestamp
  ›    ›  name string solution's name

Additional errors

No additional errors

solution/updateSolution

Updates solution

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "solution/updateSolution",
        "params": {
            "id": "2v36hhQQjXH74kGHyS7gxcEwWp4C",
            "name": "some-solution-name"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "solution/updateSolution",
        "params": {
            "id": "2v36hhQQjXH74kGHyS7gxcEwWp4C",
            "name": "some-solution-name"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": "OK"
}
Parameter Type Enum Description
id string solution's id (length in [1,128])
name string solution's name (length in [0,256])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result string OK "OK"

Additional errors

Error Code Message
24880 Solution does not exist

Store

store/deleteManyStoreFiles

Deletes given files, requires that they belong to the same store

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "store/deleteManyStoreFiles",
        "params": {
            "fileIds": [
                "65ad8f6c2e4f4f1adb40bf81"
            ]
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "store/deleteManyStoreFiles",
        "params": {
            "fileIds": [
                "65ad8f6c2e4f4f1adb40bf81"
            ]
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "results": [
            {
                "id": "65ad8f6c2e4f4f1adb40bf81",
                "status": "OK"
            }
        ]
    }
}
Parameter Type Enum Description
fileIds array of string List of files to delete (length in [0,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object List of ID and status for every deletion attempt
  ›  results array of object List of deletions status
  ›    ›  id string
  ›    ›  status string "OK"
"STORE_FILE_DOES_NOT_EXIST"
"ACCESS_DENIED"
"STORE_DOES_NOT_EXIST"

Additional errors

Error Code Message
24870 Files does not belong to same store

store/deleteManyStores

Deletes given Stores, requires that they belong to the same context

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "store/deleteManyStores",
        "params": {
            "storeIds": [
                "65ad8f6c2e4f4f1adb40bf81"
            ]
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "store/deleteManyStores",
        "params": {
            "storeIds": [
                "65ad8f6c2e4f4f1adb40bf81"
            ]
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "results": [
            {
                "id": "65ad8f6c2e4f4f1adb40bf81",
                "status": "OK"
            }
        ]
    }
}
Parameter Type Enum Description
storeIds array of string List of Stores to delete (length in [0,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object List of ID and status for every deletion attempt
  ›  results array of object List of deletions status
  ›    ›  id string
  ›    ›  status string "OK"
"ACCESS_DENIED"
"STORE_DOES_NOT_EXIST"
"STORE_BELONGS_TO_INBOX"

Additional errors

Error Code Message
24868 Resources does not belong to same context

store/deleteStore

Deletes store

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "store/deleteStore",
        "params": {
            "storeId": "65e71856bcf6598993a0f19e"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "store/deleteStore",
        "params": {
            "storeId": "65e71856bcf6598993a0f19e"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": "OK"
}
Parameter Type Enum Description
storeId string Store ID (length in [1,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result string OK "OK"

Additional errors

Error Code Message
24855 Store does not exist

store/deleteStoreFile

Deletes file

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "store/deleteStoreFile",
        "params": {
            "storeFileId": "65ad8f6c2e4f4f1adb40bf81"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "store/deleteStoreFile",
        "params": {
            "storeFileId": "65ad8f6c2e4f4f1adb40bf81"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": "OK"
}
Parameter Type Enum Description
storeFileId string Store file ID (length in [1,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result string OK "OK"

Additional errors

Error Code Message
24856 Store file does not exist

store/deleteStoreFilesOlderThan

Deletes all files older than given timestamp

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "store/deleteStoreFilesOlderThan",
        "params": {
            "storeId": "66477724276e411b86fe6d73",
            "timestamp": 1715959588042
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "store/deleteStoreFilesOlderThan",
        "params": {
            "storeId": "66477724276e411b86fe6d73",
            "timestamp": 1715959588042
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "results": [
            {
                "id": "65ad8f6c2e4f4f1adb40bf81",
                "status": "OK"
            }
        ]
    }
}
Parameter Type Enum Description
storeId string Store's ID (length in [1,128])
timestamp number Date in milliseconds (in range: [-∞,∞])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object List of ID and status for every deletion attempt
  ›  results array of object List of deletions status
  ›    ›  id string
  ›    ›  status string "OK"
"STORE_FILE_DOES_NOT_EXIST"
"ACCESS_DENIED"
"STORE_DOES_NOT_EXIST"

Additional errors

Error Code Message
24855 Store does not exist

store/getStore

Fetches store with given ID

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "store/getStore",
        "params": {
            "storeId": "65e71856bcf6598993a0f19e"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "store/getStore",
        "params": {
            "storeId": "65e71856bcf6598993a0f19e"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "store": {
            "id": "65e71856bcf6598993a0f19e",
            "contextId": "657838dd3359f5a16f93cd81",
            "createDate": 1709643862879,
            "creator": "john",
            "lastModificationDate": 1709643862879,
            "lastModifier": "john",
            "keyId": "f03c6e25c54bac1b7e22e5508d38b9d5",
            "users": [
                "john"
            ],
            "managers": [
                "john"
            ],
            "version": 1,
            "lastFileDate": 1709648110994,
            "files": 1,
            "publicMeta": null
        }
    }
}
Parameter Type Enum Description
storeId string Store ID (length in [1,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object Store's info
  ›  store object Store
  ›    ›  id string Store's ID
  ›    ›  contextId string Context's ID
  ›    ›  createDate number Creation date
  ›    ›  creator string Creator ID
  ›    ›  lastModificationDate number Modification date
  ›    ›  lastModifier string Last modifier ID
  ›    ›  keyId string Key ID
  ›    ›  users array of string Users list
  ›    ›  managers array of string Managers list
  ›    ›  version number Version
  ›    ›  lastFileDate number Date of last modified file in store
  ›    ›  files number Files count in the store
  ›    ›  publicMeta unknown Public meta data set by user, equal to null if does not exist

Additional errors

Error Code Message
24855 Store does not exist

store/getStoreFile

Fetches file with given ID

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "store/getStoreFile",
        "params": {
            "storeFileId": "65e728ee6600e98985cdb814"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "store/getStoreFile",
        "params": {
            "storeFileId": "65e728ee6600e98985cdb814"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "storeFile": {
            "id": "65e728ee6600e98985cdb814",
            "version": 1,
            "storeId": "65e71856bcf6598993a0f19e",
            "contextId": "657838dd3359f5a16f93cd81",
            "created": 1709648110994,
            "creator": "john",
            "lastModifier": "john",
            "lastModificationDate": 1709648110994,
            "size": 64,
            "keyId": "f03c6e25c54bac1b7e22e5508d38b9d5",
            "publicMeta": null
        }
    }
}
Parameter Type Enum Description
storeFileId string Store file ID (length in [1,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object file's info
  ›  storeFile object Store file
  ›    ›  id string Store file's ID
  ›    ›  version number Version
  ›    ›  contextId string Context's ID
  ›    ›  storeId string Store's ID
  ›    ›  created number Creation date
  ›    ›  creator string Creator ID
  ›    ›  lastModificationDate number Modification date
  ›    ›  lastModifier string Last modifier ID
  ›    ›  size number File size
  ›    ›  keyId string Key ID
  ›    ›  thumb object (optional) Thumb
  ›    ›    ›  size number Thumb's size
  ›    ›  publicMeta unknown Public meta data set by user, equal to null if does not exist

Additional errors

Error Code Message
24856 Store file does not exist

store/listStoreFiles

List files in given Store

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "store/listStoreFiles",
        "params": {
            "storeId": "65e71856bcf6598993a0f19e",
            "from": null,
            "limit": 10,
            "sortOrder": "asc"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "store/listStoreFiles",
        "params": {
            "storeId": "65e71856bcf6598993a0f19e",
            "from": null,
            "limit": 10,
            "sortOrder": "asc"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "count": 1,
        "list": [
            {
                "id": "65e728ee6600e98985cdb814",
                "version": 1,
                "storeId": "65e71856bcf6598993a0f19e",
                "contextId": "657838dd3359f5a16f93cd81",
                "created": 1709648110994,
                "creator": "john",
                "lastModifier": "john",
                "lastModificationDate": 1709648110994,
                "size": 64,
                "keyId": "f03c6e25c54bac1b7e22e5508d38b9d5",
                "publicMeta": null
            }
        ]
    }
}
Parameter Type Enum Description
storeId string Store ID (length in [1,128])
from generic (nullable)
limit number (in range: [1,100])
sortOrder string desc
asc

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object List of files
  ›  list array of object List of API usage buckets
  ›    ›  id string Store file's ID
  ›    ›  version number Version
  ›    ›  contextId string Context's ID
  ›    ›  storeId string Store's ID
  ›    ›  created number Creation date
  ›    ›  creator string Creator ID
  ›    ›  lastModificationDate number Modification date
  ›    ›  lastModifier string Last modifier ID
  ›    ›  size number File size
  ›    ›  keyId string Key ID
  ›    ›  thumb object (optional) Thumb
  ›    ›    ›  size number Thumb's size
  ›    ›  publicMeta unknown Public meta data set by user, equal to null if does not exist
  ›  count number Number of all elements

Additional errors

Error Code Message
24855 Store does not exist

store/listStores

List stores in given context

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "store/listStores",
        "params": {
            "contextId": "657838dd3359f5a16f93cd81",
            "from": null,
            "limit": 10,
            "sortOrder": "asc"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "store/listStores",
        "params": {
            "contextId": "657838dd3359f5a16f93cd81",
            "from": null,
            "limit": 10,
            "sortOrder": "asc"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "count": 0,
        "list": [
            {
                "id": "65e71856bcf6598993a0f19e",
                "contextId": "657838dd3359f5a16f93cd81",
                "createDate": 1709643862879,
                "creator": "john",
                "lastModificationDate": 1709643862879,
                "lastModifier": "john",
                "keyId": "f03c6e25c54bac1b7e22e5508d38b9d5",
                "users": [
                    "john"
                ],
                "managers": [
                    "john"
                ],
                "version": 1,
                "lastFileDate": 1709648110994,
                "files": 1,
                "publicMeta": null
            }
        ]
    }
}
Parameter Type Enum Description
contextId string Context's ID (length in [1,128])
from generic (nullable)
limit number (in range: [1,100])
sortOrder string desc
asc

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object List of stores
  ›  list array of object List of Stores
  ›    ›  id string Store's ID
  ›    ›  contextId string Context's ID
  ›    ›  createDate number Creation date
  ›    ›  creator string Creator ID
  ›    ›  lastModificationDate number Modification date
  ›    ›  lastModifier string Last modifier ID
  ›    ›  keyId string Key ID
  ›    ›  users array of string Users list
  ›    ›  managers array of string Managers list
  ›    ›  version number Version
  ›    ›  lastFileDate number Date of last modified file in store
  ›    ›  files number Files count in the store
  ›    ›  publicMeta unknown Public meta data set by user, equal to null if does not exist
  ›  count number Number of all elements

Additional errors

Error Code Message
24854 Context does not exist

Thread

thread/deleteManyThreadMessages

Deletes given messages, requires that they belong to the same Thread

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "thread/deleteManyThreadMessages",
        "params": {
            "messageIds": [
                "65ad8f6c2e4f4f1adb40bf81"
            ]
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "thread/deleteManyThreadMessages",
        "params": {
            "messageIds": [
                "65ad8f6c2e4f4f1adb40bf81"
            ]
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "results": [
            {
                "id": "65ad8f6c2e4f4f1adb40bf81",
                "status": "OK"
            }
        ]
    }
}
Parameter Type Enum Description
messageIds array of string List of messages to delete (length in [0,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object List of ID and status for every deletion attempt
  ›  results array of object List of deletions status
  ›    ›  id string
  ›    ›  status string "OK"
"THREAD_MESSAGE_DOES_NOT_EXIST"
"ACCESS_DENIED"

Additional errors

Error Code Message
24869 Messages does not belong to same thread

thread/deleteManyThreads

Deletes given Threads, requires that they belong to the same Context

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "thread/deleteManyThreads",
        "params": {
            "threadIds": [
                "65ad8f6c2e4f4f1adb40bf81"
            ]
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "thread/deleteManyThreads",
        "params": {
            "threadIds": [
                "65ad8f6c2e4f4f1adb40bf81"
            ]
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "results": [
            {
                "id": "65ad8f6c2e4f4f1adb40bf81",
                "status": "OK"
            }
        ]
    }
}
Parameter Type Enum Description
threadIds array of string List of Threads to delete (length in [0,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object List of ID and status for every deletion attempt
  ›  results array of object List of deletions status
  ›    ›  id string
  ›    ›  status string "OK"
"THREAD_DOES_NOT_EXIST"
"ACCESS_DENIED"
"THREAD_BELONGS_TO_INBOX"

Additional errors

Error Code Message
24868 Resources does not belong to same context

thread/deleteThread

Deletes Thread

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "thread/deleteThread",
        "params": {
            "threadId": "664775ddb5d9a3f95b619ef0"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "thread/deleteThread",
        "params": {
            "threadId": "664775ddb5d9a3f95b619ef0"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": "OK"
}
Parameter Type Enum Description
threadId string Thread ID (length in [1,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result string OK "OK"

Additional errors

Error Code Message
24577 Thread does not exist

thread/deleteThreadMessage

Deletes Thread message

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "thread/deleteThreadMessage",
        "params": {
            "threadMessageId": "65ad8f6c2e4f4f1adb40bf81"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "thread/deleteThreadMessage",
        "params": {
            "threadMessageId": "65ad8f6c2e4f4f1adb40bf81"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": "OK"
}
Parameter Type Enum Description
threadMessageId string Thread message ID (length in [1,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result string OK "OK"

Additional errors

Error Code Message
24589 Thread message does not exist

thread/deleteThreadMessagesOlderThan

Deletes all messages older than given timestamp

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "thread/deleteThreadMessagesOlderThan",
        "params": {
            "threadId": "66477724276e411b86fe6d73",
            "timestamp": 1715959588042
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "thread/deleteThreadMessagesOlderThan",
        "params": {
            "threadId": "66477724276e411b86fe6d73",
            "timestamp": 1715959588042
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "results": [
            {
                "id": "65ad8f6c2e4f4f1adb40bf81",
                "status": "OK"
            }
        ]
    }
}
Parameter Type Enum Description
threadId string Thread's ID (length in [1,128])
timestamp number Date in milliseconds (in range: [-∞,∞])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object List of ID and status for every deletion attempt
  ›  results array of object List of deletions status
  ›    ›  id string
  ›    ›  status string "OK"
"THREAD_MESSAGE_DOES_NOT_EXIST"
"ACCESS_DENIED"

Additional errors

Error Code Message
24577 Thread does not exist

thread/getThread

Fetches Thread with given ID

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "thread/getThread",
        "params": {
            "threadId": "664775ddb5d9a3f95b619ef0"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "thread/getThread",
        "params": {
            "threadId": "664775ddb5d9a3f95b619ef0"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "thread": {
            "id": "664775ddb5d9a3f95b619ef0",
            "contextId": "657838dd3359f5a16f93cd81",
            "createDate": 1715959261142,
            "creator": "john",
            "lastModificationDate": 1715959261142,
            "lastModifier": "john",
            "keyId": "my-key",
            "users": [
                "john"
            ],
            "managers": [
                "john"
            ],
            "version": 1,
            "lastMsgDate": 1715959261394,
            "messages": 34,
            "publicMeta": null
        }
    }
}
Parameter Type Enum Description
threadId string Thread ID (length in [1,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object Thread's info
  ›  thread object Thread
  ›    ›  id string Thread's ID
  ›    ›  contextId string Context's ID
  ›    ›  createDate number Creation date
  ›    ›  creator string Creator ID
  ›    ›  lastModificationDate number Modification date
  ›    ›  lastModifier string Last modifier ID
  ›    ›  keyId string Key ID
  ›    ›  users array of string Users list
  ›    ›  managers array of string Managers list
  ›    ›  version number Version
  ›    ›  lastMsgDate number Date of last modified message in thread
  ›    ›  messages number Messages count in thread
  ›    ›  publicMeta unknown Public meta data set by user, equal to null if does not exist

Additional errors

Error Code Message
24577 Thread does not exist

thread/getThreadMessage

Fetches message with given ID

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "thread/getThreadMessage",
        "params": {
            "threadMessageId": "65ad8f6c2e4f4f1adb40bf81"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "thread/getThreadMessage",
        "params": {
            "threadMessageId": "65ad8f6c2e4f4f1adb40bf81"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "threadMessage": {
            "id": "664775dd05c7c6f92f654a11",
            "contextId": "657838dd3359f5a16f93cd81",
            "threadId": "664775ddb5d9a3f95b619ef0",
            "createDate": 1715959261318,
            "author": "john",
            "keyId": "my-key",
            "publicMeta": null
        }
    }
}
Parameter Type Enum Description
threadMessageId string Thread message ID (length in [1,128])

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object message's info
  ›  threadMessage object Thread message
  ›    ›  id string Thread message's ID
  ›    ›  contextId string Context's ID
  ›    ›  threadId string Thread's ID
  ›    ›  createDate number Creation date
  ›    ›  author string Author's ID
  ›    ›  keyId string Key ID
  ›    ›  publicMeta unknown Public meta data set by user, equal to null if does not exist

Additional errors

Error Code Message
24589 Thread message does not exist

thread/listThreadMessages

List Thread messages in given Thread

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "thread/listThreadMessages",
        "params": {
            "threadId": "65ad8f6c2e4f4f1adb40bf81",
            "from": null,
            "limit": 10,
            "sortOrder": "asc"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "thread/listThreadMessages",
        "params": {
            "threadId": "65ad8f6c2e4f4f1adb40bf81",
            "from": null,
            "limit": 10,
            "sortOrder": "asc"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "count": 1,
        "list": [
            {
                "id": "664775dd05c7c6f92f654a11",
                "contextId": "657838dd3359f5a16f93cd81",
                "threadId": "664775ddb5d9a3f95b619ef0",
                "createDate": 1715959261318,
                "author": "john",
                "keyId": "my-key",
                "publicMeta": null
            }
        ]
    }
}
Parameter Type Enum Description
threadId string Thread ID (length in [1,128])
from generic (nullable)
limit number (in range: [1,100])
sortOrder string desc
asc

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object List of messages
  ›  list array of object List of Thread messages
  ›    ›  id string Thread message's ID
  ›    ›  contextId string Context's ID
  ›    ›  threadId string Thread's ID
  ›    ›  createDate number Creation date
  ›    ›  author string Author's ID
  ›    ›  keyId string Key ID
  ›    ›  publicMeta unknown Public meta data set by user, equal to null if does not exist
  ›  count number Number of all elements

Additional errors

Error Code Message
24577 Thread does not exist

thread/listThreads

List Threads in given Context

Parameters

const response = await fetch("https://my-privmx-bridge-instance/api", {
    method: "POST",
    body: JSON.stringify({
        "jsonrpc": "2.0",
        "id": 128,
        "method": "thread/listThreads",
        "params": {
            "contextId": "657838dd3359f5a16f93cd81",
            "from": null,
            "limit": 10,
            "sortOrder": "asc"
        }
    }),
    headers: {
        "Content-type": "application/json", 
        "Authorization": "Bearer TOKEN"
    }
});
curl -X POST \
    -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN" \
    --data-binary '{
        "jsonrpc": "2.0",
        "id": 128,
        "method": "thread/listThreads",
        "params": {
            "contextId": "657838dd3359f5a16f93cd81",
            "from": null,
            "limit": 10,
            "sortOrder": "asc"
        }
    }' \
    https://my-privmx-bridge-instance/types

The command above returns JSON structured like this:

{
    "jsonrpc": "2.0",
    "id": 128,
    "result": {
        "count": 1,
        "list": [
            {
                "id": "664775ddb5d9a3f95b619ef0",
                "contextId": "657838dd3359f5a16f93cd81",
                "createDate": 1715959261142,
                "creator": "john",
                "lastModificationDate": 1715959261142,
                "lastModifier": "john",
                "keyId": "my-key",
                "users": [
                    "john"
                ],
                "managers": [
                    "john"
                ],
                "version": 1,
                "lastMsgDate": 1715959261394,
                "messages": 34,
                "publicMeta": null
            }
        ]
    }
}
Parameter Type Enum Description
contextId string Context's ID (length in [1,128])
from generic (nullable)
limit number (in range: [1,100])
sortOrder string desc
asc

Response

Parameter Type Enum Description
id number ID sent in the request
jsonrpc string 2.0 The JSON-RPC version
result object List of Threads
  ›  list array of object List of Threads
  ›    ›  id string Thread's ID
  ›    ›  contextId string Context's ID
  ›    ›  createDate number Creation date
  ›    ›  creator string Creator ID
  ›    ›  lastModificationDate number Modification date
  ›    ›  lastModifier string Last modifier ID
  ›    ›  keyId string Key ID
  ›    ›  users array of string Users list
  ›    ›  managers array of string Managers list
  ›    ›  version number Version
  ›    ›  lastMsgDate number Date of last modified message in thread
  ›    ›  messages number Messages count in thread
  ›    ›  publicMeta unknown Public meta data set by user, equal to null if does not exist
  ›  count number Number of all elements

Additional errors

Error Code Message
24854 Context does not exist

Errors

HTTP error codes

Error Code Message Description
404 Not Found Given url is invalid.
429 Too Many Requests You're making too many request.
500 Internal Server Error We had a problem with our server. Try again later.
503 Service Unavailable We're temporarily offline for maintenance. Please try again later.

Common Errors

Every API request can return any of the common errors, so they are not specified in the method descriptions to avoid duplication.

Error Code Message Description
48 Access denied You don't have access to requested resource.
24879 Unauthorized Your credentials are invalid.
24878 Insufficient scope You don't have enough rights to requested resource.
-32601 Method not found Given method does not exis.
-32602 Invalid params Given parameters are invalid. The data property of error object contains detailed description what is wrong.
-32603 Internal error We had a problem with our server.
-32700 Parse error You sent us invalid json.
-32600 Invalid Request You sent us invalid json rpc request.
-32605 Only post method allowed You do not use HTTP POST method.

Other JSON-RPC error codes

Error Code Message Description
2 Invalid username
8 Invalid signature
9 User doesn't exist
12 Unknown session
13 Invalid session state
14 Invalid A
15 Different M1
21 Invalid token
40 Invalid timestamp
41 Invalid nonce
64 Login rejected
99 Invalid version
100 Invalid device id
101 Pub key already in use
104 Maintenance mode
105 Invalid proxy session
112 Invalid key
114 Websocket required
115 Websocket already authorized
129 Need 2FA authentication
133 Exceeded limit of websocket channels
134 AddWsChannelId required on multi channel websocket
135 Cannot add channel to single channel websocket
24577 Thread does not exist
24578 Invalid thread key
24579 Request does not exist
24580 Request file does not exist
24581 Request file aready closed
24582 Request size exceeded
24583 Request file size exceeded
24584 Too many files in request
24585 Request file desynchronized
24586 Invalid file index
24587 File already used
24588 Request not ready yet
24589 Thread message does not exist
24597 Invalid key id
24837 Files container file has not thumb
24853 Unsupported operation
24854 Context does not exist
24855 Store does not exist
24856 Store file does not exist
24857 Unsupported resource type
24858 Resource does not exist
24859 Cannot query not root resource
24860 Cannot query root resource
24861 Resource field does not exist
24862 Inbox does not exist
24863 Not enough files in request
24864 Thread belongs to inbox
24865 Store belongs to inbox
24866 Stream room does not exist
24867 Object with lastId does not exist
24868 Resources does not belong to same context
24869 Messages does not belong to same thread
24870 Files does not belong to same store
24871 Request chunk too small
24872 Store file version mismatch
24874 File does not belong to store
24875 Api key does not exist
24876 Invalid credentials
24877 Api keys limit exceeded
24880 Solution does not exist
24881 Invalid ACL
24882 Solution has contexts
24883 Cannot assign private context
24884 Cannot unassign context from its parent
24885 Cannot switch connected context to private
24886 Method is callable with websocket only
24887 User does not have access to container
24888 Provided ID is already in use
24889 Too many channels in this websocket session
24890 Websocket session does not exists
24891 Provided resource ID missmatch object resource ID
24892 Kvdb does not exist
24893 Kvdb item does not exist
24894 First api key was already created
24895 Initialization token is invalid or not set
25088 Failed to send Janus Event - no session found
25089 Failed to leave streams - no session found
25090 Failed to subscribe to stream/strams - not connected to the room
25091 Failed to modify subscriptions - there is no active subscriber session available
25092 Media server socket is already closed
25093 Cannot connect to media server
25094 Error during sending request to media server
25095 There is no main session with Janus created for user
25096 Stream room is closed and no new stream can be published or joined
25097 A room with this ID already exists on the media server
25098 The requested room does not exist on the media server
25099 The media room has reached its maximum capacity
25100 The specified user or feed was not found in the room
25101 User is not a participant in this room
25102 Action refused: invalid secret or unauthorized request
25103 User is already publishing a stream in this room
25104 Media server error
25105 The media server rejected the provided SDP negotiation
25106 The requested media plugin is not available
25107 Unknown media server exception
25108 User has already joined the media room
25109 The specified media feed does not exist
25110 The provided SDP type is invalid or unsupported
25111 User is not currently publishing a stream
25112 The provided participant ID is already in use

Details

ACL Groups and functions

context/READ

Function parameters
context/contextGetUsers contextId
context/contextListUsers contextId

context/WRITE

Function parameters
context/contextSendCustomNotification contextId

context/ALL

Function parameters
context/contextGetUsers contextId
context/contextListUsers contextId
context/contextSendCustomNotification contextId

thread/READ

Function parameters
thread/threadGet threadId
thread/threadList
thread/threadListAll
thread/threadMessageGet threadId
messageId
thread/threadMessagesGet threadId
thread/threadMessagesGetMy threadId

thread/WRITE

Function parameters
thread/threadCreate
thread/threadUpdate threadId
thread/threadDelete threadId
thread/threadDeleteMany
thread/threadMessageSend threadId
thread/threadMessageUpdate threadId
messageId
thread/threadMessageDelete threadId
messageId
thread/threadMessageDeleteMany threadId
thread/threadMessageDeleteOlderThan threadId
thread/threadSendCustomNotification threadId

thread/ALL

Function parameters
thread/threadGet threadId
thread/threadList
thread/threadListAll
thread/threadMessageGet threadId
messageId
thread/threadMessagesGet threadId
thread/threadMessagesGetMy threadId
thread/threadCreate
thread/threadUpdate threadId
thread/threadDelete threadId
thread/threadDeleteMany
thread/threadMessageSend threadId
thread/threadMessageUpdate threadId
messageId
thread/threadMessageDelete threadId
messageId
thread/threadMessageDeleteMany threadId
thread/threadMessageDeleteOlderThan threadId
thread/threadSendCustomNotification threadId

store/READ

Function parameters
store/storeGet storeId
store/storeList
store/storeListAll
store/storeFileGet storeId
fileId
store/storeFileGetMany storeId
store/storeFileList storeId
store/storeFileListMy storeId
store/storeFileRead storeId
fileId

store/WRITE

Function parameters
store/storeCreate
store/storeUpdate storeId
store/storeDelete storeId
store/storeDeleteMany
store/storeFileCreate storeId
store/storeFileWrite storeId
fileId
store/storeFileUpdate storeId
fileId
store/storeFileDelete storeId
fileId
store/storeFileDeleteMany storeId
store/storeFileDeleteOlderThan storeId
store/storeSendCustomNotification storeId

store/ALL

Function parameters
store/storeGet storeId
store/storeList
store/storeListAll
store/storeFileGet storeId
fileId
store/storeFileGetMany storeId
store/storeFileList storeId
store/storeFileListMy storeId
store/storeFileRead storeId
fileId
store/storeCreate
store/storeUpdate storeId
store/storeDelete storeId
store/storeDeleteMany
store/storeFileCreate storeId
store/storeFileWrite storeId
fileId
store/storeFileUpdate storeId
fileId
store/storeFileDelete storeId
fileId
store/storeFileDeleteMany storeId
store/storeFileDeleteOlderThan storeId
store/storeSendCustomNotification storeId

inbox/READ

Function parameters
inbox/inboxGet inboxId
inbox/inboxList
inbox/inboxListAll

inbox/WRITE

Function parameters
inbox/inboxCreate
inbox/inboxUpdate inboxId
inbox/inboxDelete inboxId
inbox/inboxDeleteMany
inbox/inboxSendCustomNotification inboxId

inbox/ALL

Function parameters
inbox/inboxGet inboxId
inbox/inboxList
inbox/inboxListAll
inbox/inboxCreate
inbox/inboxUpdate inboxId
inbox/inboxDelete inboxId
inbox/inboxDeleteMany
inbox/inboxSendCustomNotification inboxId

kvdb/READ

Function parameters
kvdb/kvdbGet kvdbId
kvdb/kvdbList
kvdb/kvdbListAll
kvdb/kvdbEntryGet kvdbId
entryKey
kvdb/kvdbListKeys kvdbId
kvdb/getKvdbEntries kvdbId

kvdb/WRITE

Function parameters
kvdb/kvdbCreate
kvdb/kvdbUpdate kvdbId
kvdb/kvdbDelete kvdbId
kvdb/kvdbDeleteMany
kvdb/kvdbSendCustomNotification kvdbId
kvdb/kvdbEntrySet kvdbId
entryKey
kvdb/kvdbEntryDelete kvdbId
entryKey
kvdb/kvdbEntryDeleteMany kvdbId

kvdb/ALL

Function parameters
kvdb/kvdbGet kvdbId
kvdb/kvdbList
kvdb/kvdbListAll
kvdb/kvdbEntryGet kvdbId
entryKey
kvdb/kvdbListKeys kvdbId
kvdb/getKvdbEntries kvdbId
kvdb/kvdbCreate
kvdb/kvdbUpdate kvdbId
kvdb/kvdbDelete kvdbId
kvdb/kvdbDeleteMany
kvdb/kvdbSendCustomNotification kvdbId
kvdb/kvdbEntrySet kvdbId
entryKey
kvdb/kvdbEntryDelete kvdbId
entryKey
kvdb/kvdbEntryDeleteMany kvdbId

READ

Function parameters
store/storeGet storeId
store/storeList
store/storeListAll
store/storeFileGet storeId
fileId
store/storeFileGetMany storeId
store/storeFileList storeId
store/storeFileListMy storeId
store/storeFileRead storeId
fileId
thread/threadGet threadId
thread/threadList
thread/threadListAll
thread/threadMessageGet threadId
messageId
thread/threadMessagesGet threadId
thread/threadMessagesGetMy threadId
inbox/inboxGet inboxId
inbox/inboxList
inbox/inboxListAll
context/contextGetUsers contextId
context/contextListUsers contextId
kvdb/kvdbGet kvdbId
kvdb/kvdbList
kvdb/kvdbListAll
kvdb/kvdbEntryGet kvdbId
entryKey
kvdb/kvdbListKeys kvdbId
kvdb/getKvdbEntries kvdbId

WRITE

Function parameters
store/storeCreate
store/storeUpdate storeId
store/storeDelete storeId
store/storeDeleteMany
store/storeFileCreate storeId
store/storeFileWrite storeId
fileId
store/storeFileUpdate storeId
fileId
store/storeFileDelete storeId
fileId
store/storeFileDeleteMany storeId
store/storeFileDeleteOlderThan storeId
store/storeSendCustomNotification storeId
thread/threadGet threadId
thread/threadList
thread/threadListAll
thread/threadMessageGet threadId
messageId
thread/threadMessagesGet threadId
thread/threadMessagesGetMy threadId
inbox/inboxGet inboxId
inbox/inboxList
inbox/inboxListAll
context/contextSendCustomNotification contextId
kvdb/kvdbCreate
kvdb/kvdbUpdate kvdbId
kvdb/kvdbDelete kvdbId
kvdb/kvdbDeleteMany
kvdb/kvdbSendCustomNotification kvdbId
kvdb/kvdbEntrySet kvdbId
entryKey
kvdb/kvdbEntryDelete kvdbId
entryKey
kvdb/kvdbEntryDeleteMany kvdbId

ALL

Function parameters
store/storeGet storeId
store/storeList
store/storeListAll
store/storeFileGet storeId
fileId
store/storeFileGetMany storeId
store/storeFileList storeId
store/storeFileListMy storeId
store/storeFileRead storeId
fileId
store/storeCreate
store/storeUpdate storeId
store/storeDelete storeId
store/storeDeleteMany
store/storeFileCreate storeId
store/storeFileWrite storeId
fileId
store/storeFileUpdate storeId
fileId
store/storeFileDelete storeId
fileId
store/storeFileDeleteMany storeId
store/storeFileDeleteOlderThan storeId
store/storeSendCustomNotification storeId
thread/threadGet threadId
thread/threadList
thread/threadListAll
thread/threadMessageGet threadId
messageId
thread/threadMessagesGet threadId
thread/threadMessagesGetMy threadId
thread/threadCreate
thread/threadUpdate threadId
thread/threadDelete threadId
thread/threadDeleteMany
thread/threadMessageSend threadId
thread/threadMessageUpdate threadId
messageId
thread/threadMessageDelete threadId
messageId
thread/threadMessageDeleteMany threadId
thread/threadMessageDeleteOlderThan threadId
thread/threadSendCustomNotification threadId
inbox/inboxGet inboxId
inbox/inboxList
inbox/inboxListAll
inbox/inboxCreate
inbox/inboxUpdate inboxId
inbox/inboxDelete inboxId
inbox/inboxDeleteMany
inbox/inboxSendCustomNotification inboxId
context/contextGetUsers contextId
context/contextListUsers contextId
context/contextSendCustomNotification contextId
kvdb/kvdbGet kvdbId
kvdb/kvdbList
kvdb/kvdbListAll
kvdb/kvdbEntryGet kvdbId
entryKey
kvdb/kvdbListKeys kvdbId
kvdb/getKvdbEntries kvdbId
kvdb/kvdbCreate
kvdb/kvdbUpdate kvdbId
kvdb/kvdbDelete kvdbId
kvdb/kvdbDeleteMany
kvdb/kvdbSendCustomNotification kvdbId
kvdb/kvdbEntrySet kvdbId
entryKey
kvdb/kvdbEntryDelete kvdbId
entryKey
kvdb/kvdbEntryDeleteMany kvdbId