Skip to content

Seald Dashboard API Reference ​

Seald Dashboard API documentation

API Password authentication ​

This section describes the API to authenticate with a password. This is used in the dashboard, but should almost never be used programatically. Look at the "API Token authentication" section instead.

authProviderStatus admin ​

GET /dashboardapi/v2/admin/auth_provider_status/

Responses ​

StatusMeaningDescription
200OKnone

delegateAuth admin ​

GET /dashboardapi/v2/admin/delegate_auth/

Responses ​

StatusMeaningDescription
200OKnone

disableEventlog admin ​

GET /dashboardapi/v2/admin/disable_eventlog/

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

200 Response

json
{
  "status": "ok"
}

disableEventlog admin (POST) ​

POST /dashboardapi/v2/admin/disable_eventlog/

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

listUserTeam admin ​

GET /dashboardapi/v2/admin/list_user_team/

Responses ​

StatusMeaningDescription
200OKnone

Check dashboardapi session status ​

GET /dashboardapi/v2/admin/status/

Responses ​

StatusMeaningDescription
200OKnone

teams admin ​

GET /dashboardapi/v2/admin/teams/

Responses ​

StatusMeaningDescription
200OKnone

teams admin (POST) ​

POST /dashboardapi/v2/admin/teams/

Responses ​

StatusMeaningDescription
201Creatednone

createTeam admin ​

POST /dashboardapi/v2/admin/create_team/

Responses ​

StatusMeaningDescription
201Creatednone

createTeamGenerate admin ​

POST /dashboardapi/v2/admin/create_team_generate/

Responses ​

StatusMeaningDescription
201Creatednone

createUser admin ​

POST /dashboardapi/v2/admin/create_user/

Responses ​

StatusMeaningDescription
201Creatednone

delegateAuthGenerate admin ​

POST /dashboardapi/v2/admin/delegate_auth_generate/

Responses ​

StatusMeaningDescription
201Creatednone

disableTeam admin ​

POST /dashboardapi/v2/admin/disable_team/

Responses ​

StatusMeaningDescription
201Creatednone

disableTeam admin (DELETE) ​

DELETE /dashboardapi/v2/admin/disable_team/

Responses ​

StatusMeaningDescription
204No Contentnone

Send a password retrieval request ​

POST /dashboardapi/v2/admin/forgot_password/

If challenge is not sent, send an email to email with a challenge.
If challenge is set and new_password is not set, check that challenge is correct.
If challenge and new_password are set, change the password of the administrator.

Parameters ​

NameInTypeRequiredDescription
emailbodystring(email)true
challengebodystringfalse
new_passwordbodystring
Length: [ 8 .. 1024]
false
Request body samples
json
{
  "email": "user@example.com",
  "challenge": "string",
  "new_password": "stringst"
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

Generate a SSKS API Key ​

POST /dashboardapi/v2/admin/generate_ssks_apikey/

Generate a SSKS API Key

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

generateSsksJwt admin ​

POST /dashboardapi/v2/admin/generate_ssks_jwt/

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

leaveTeam admin ​

POST /dashboardapi/v2/admin/leave_team/

Responses ​

StatusMeaningDescription
201Creatednone

listUserTeamGenerate admin ​

POST /dashboardapi/v2/admin/list_user_team_generate/

Responses ​

StatusMeaningDescription
201Creatednone

Login an HTTP session to the dashboardapi ​

POST /dashboardapi/v2/admin/login/

Parameters ​

NameInTypeRequiredDescription
emailbodystring(email)true
passwordbodystringtrue
otpbodystringfalse
ttlbodyintegerfalse
Request body samples
json
{
  "email": "user@example.com",
  "password": "string",
  "otp": "",
  "ttl": 0
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

Logout from an HTTP session ​

POST /dashboardapi/v2/admin/logout/

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

teamsChoose admin ​

POST /dashboardapi/v2/admin/teams_choose/

Responses ​

StatusMeaningDescription
201Creatednone

Set up a new password for dashboardapi ​

POST /dashboardapi/v2/admin/update_password/

Parameters ​

NameInTypeRequiredDescription
old_passwordbodystringtrue
new_passwordbodystring
Length: [ 8 .. 1024]
true
Request body samples
json
{
  "old_password": "string",
  "new_password": "stringst"
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

API Token authentication ​

list apitokens ​

GET /dashboardapi/v2/apitokens/

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» idstring(uuid)false
» createdstring(date-time)false
» valid_untilstring(date-time)¦nulltrue
» namestringtrue
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "created": "2019-08-24T14:15:22Z",
      "valid_until": "2019-08-24T14:15:22Z",
      "name": "string"
    }
  ]
}

create apitokens ​

POST /dashboardapi/v2/apitokens/

Parameters ​

NameInTypeRequiredDescription
idbodystring(uuid)false
createdbodystring(date-time)false
valid_untilbodystring(date-time)¦nulltrue
namebodystringtrue
api_keybodystring(uuid)false
Request body samples
json
{
  "valid_until": "2019-08-24T14:15:22Z",
  "name": "string"
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
idstring(uuid)false
createdstring(date-time)false
valid_untilstring(date-time)¦nulltrue
namestringtrue
api_keystring(uuid)false
Response body examples

201 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "valid_until": "2019-08-24T14:15:22Z",
  "name": "string",
  "api_key": "7f819f8f-8220-4dcd-b7e3-37c81ead8b7a"
}

destroy apitokens ​

DELETE /dashboardapi/v2/apitokens/{id}/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue

Responses ​

StatusMeaningDescription
204No Contentnone

Users management ​

list users ​

GET /dashboardapi/v2/users/

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.
display_namequerystringfalseOnly match Users whose display name contains this.
emailquerystring(email)falseOnly match Users whose email address contains this.
email_all_statequerybooleanfalseIf true, Users with previously disabled email address will also match.
connector_valuequerystringfalseIf provided with connector_type, only match Users who have a connector matching this type and value.
connector_typequerystring
Allowed values: "MO", "EM", "PH", "AP"
falseIf provided with connector_value, only match Users who have a connector matching this type and value.
connector_all_statequerybooleanfalseIf true, Users with previously disabled connector will also match.
team_disabledquerybooleanfalseIf false, only match current non-revoked users. If true, only match Users who have been disabled from the team.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» idstring(uuid)true
» display_namestringtrue
» in_teamstringfalse
» is_groupstringfalse
» group_team_idstringfalse
» createdstring(date-time)true
» last_heartbeatstring(date-time)true
» last_usagestring(date-time)true
» primary_emailstringfalse
» team_disabledbooleantrue
» group_is_group_initializedstringfalse
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "display_name": "string",
      "in_team": "string",
      "is_group": "string",
      "group_team_id": "string",
      "created": "2019-08-24T14:15:22Z",
      "last_heartbeat": "2019-08-24T14:15:22Z",
      "last_usage": "2019-08-24T14:15:22Z",
      "primary_email": "string",
      "team_disabled": true,
      "group_is_group_initialized": "string"
    }
  ]
}

sigchainNotOk users ​

GET /dashboardapi/v2/users/sigchain_not_ok/

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
idstring(uuid)true
display_namestringtrue
in_teamstringfalse
is_groupstringfalse
group_team_idstringfalse
createdstring(date-time)true
last_heartbeatstring(date-time)true
last_usagestring(date-time)true
primary_emailstringfalse
team_disabledbooleantrue
group_is_group_initializedstringfalse
Response body examples

200 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "display_name": "string",
  "in_team": "string",
  "is_group": "string",
  "group_team_id": "string",
  "created": "2019-08-24T14:15:22Z",
  "last_heartbeat": "2019-08-24T14:15:22Z",
  "last_usage": "2019-08-24T14:15:22Z",
  "primary_email": "string",
  "team_disabled": true,
  "group_is_group_initialized": "string"
}

retrieve users ​

GET /dashboardapi/v2/users/{id}/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
display_namequerystringfalseOnly match Users whose display name contains this.
emailquerystring(email)falseOnly match Users whose email address contains this.
email_all_statequerybooleanfalseIf true, Users with previously disabled email address will also match.
connector_valuequerystringfalseIf provided with connector_type, only match Users who have a connector matching this type and value.
connector_typequerystring
Allowed values: "MO", "EM", "PH", "AP"
falseIf provided with connector_value, only match Users who have a connector matching this type and value.
connector_all_statequerybooleanfalseIf true, Users with previously disabled connector will also match.
team_disabledquerybooleanfalseIf false, only match current non-revoked users. If true, only match Users who have been disabled from the team.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
idstring(uuid)true
display_namestringtrue
in_teamstringfalse
is_groupstringfalse
group_team_idstringfalse
createdstring(date-time)true
last_heartbeatstring(date-time)true
last_usagestring(date-time)true
primary_emailstringfalse
team_disabledbooleantrue
group_is_group_initializedstringfalse
Response body examples

200 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "display_name": "string",
  "in_team": "string",
  "is_group": "string",
  "group_team_id": "string",
  "created": "2019-08-24T14:15:22Z",
  "last_heartbeat": "2019-08-24T14:15:22Z",
  "last_usage": "2019-08-24T14:15:22Z",
  "primary_email": "string",
  "team_disabled": true,
  "group_is_group_initialized": "string"
}

sigchain users ​

GET /dashboardapi/v2/users/{id}/sigchain/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
idstring(uuid)true
display_namestringtrue
in_teamstringfalse
is_groupstringfalse
group_team_idstringfalse
createdstring(date-time)true
last_heartbeatstring(date-time)true
last_usagestring(date-time)true
primary_emailstringfalse
team_disabledbooleantrue
group_is_group_initializedstringfalse
Response body examples

200 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "display_name": "string",
  "in_team": "string",
  "is_group": "string",
  "group_team_id": "string",
  "created": "2019-08-24T14:15:22Z",
  "last_heartbeat": "2019-08-24T14:15:22Z",
  "last_usage": "2019-08-24T14:15:22Z",
  "primary_email": "string",
  "team_disabled": true,
  "group_is_group_initialized": "string"
}

sigchainDetails users ​

GET /dashboardapi/v2/users/{id}/sigchain_details/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
idstring(uuid)true
display_namestringtrue
in_teamstringfalse
is_groupstringfalse
group_team_idstringfalse
createdstring(date-time)true
last_heartbeatstring(date-time)true
last_usagestring(date-time)true
primary_emailstringfalse
team_disabledbooleantrue
group_is_group_initializedstringfalse
Response body examples

200 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "display_name": "string",
  "in_team": "string",
  "is_group": "string",
  "group_team_id": "string",
  "created": "2019-08-24T14:15:22Z",
  "last_heartbeat": "2019-08-24T14:15:22Z",
  "last_usage": "2019-08-24T14:15:22Z",
  "primary_email": "string",
  "team_disabled": true,
  "group_is_group_initialized": "string"
}

fullRevokeBatch users ​

POST /dashboardapi/v2/users/full_revoke_batch/

Parameters ​

NameInTypeRequiredDescription
users_idbody[string]true
Request body samples
json
{
  "users_id": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

Automatic removal of a user ​

POST /dashboardapi/v2/users/{id}/full_revoke/

This endpoint will revoke all devices of a user, then will disable him from the team.
The endpoint launches an asynchronous task that should take less than a second for small users, but up to a minute for users with many devices. So you might need to wait to see it applied.

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

Check sigchain integrity of a user or a group ​

POST /dashboardapi/v2/users/{id}/sigchain_checks/

This endpoint will manually launch a sigchain integrity check (which is otherwise automatically scheduled on a daily basis). The following checks will be performed :

  • Sigchain compliance (transaction, signature, and consistency);
  • Whether or not what's written in sigchain is the same than in database.

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
createdstring(date-time)true
bearduser_idstring(uuid)true
last_check_datetimestring(date-time)true
last_check_is_okbooleantrue
last_check_crashedbooleantrue
last_check_skippedbooleantrue
notificationsobjecttrue
Response body examples

201 Response

json
{
  "created": "2019-08-24T14:15:22Z",
  "bearduser_id": "c1728d10-d167-4968-8803-696351d3e438",
  "last_check_datetime": "2019-08-24T14:15:22Z",
  "last_check_is_ok": true,
  "last_check_crashed": true,
  "last_check_skipped": true,
  "notifications": {}
}

teamUserDisable users ​

POST /dashboardapi/v2/users/{id}/team_user_disable/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

Group management ​

list groups ​

GET /dashboardapi/v2/groups/

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» createdstring(date-time)true
» is_group_initializedbooleantrue
» bearduserobjecttrue
»» idstring(uuid)true
»» display_namestringtrue
» device_idstring(uuid)true
» primary_emailstringfalse
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "created": "2019-08-24T14:15:22Z",
      "is_group_initialized": true,
      "bearduser": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "display_name": "string"
      },
      "device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",
      "primary_email": "string"
    }
  ]
}

create groups ​

POST /dashboardapi/v2/groups/

Parameters ​

NameInTypeRequiredDescription
group_namebodystring
Length: [ 1 .. 64]
false
encrypt_pubkeybodystring
Length: [ 10 .. 2048]
true
signing_pubkeybodystring
Length: [ 10 .. 2048]
true
encrypted_encryption_privkeybodystring
Length: [ 10 .. 4096]
true
encrypted_signing_privkeybodystring
Length: [ 10 .. 4096]
true
membersbody[string]true
adminsbody[string]
Default: []
false
message_keysbody[object]true
» created_for_keybodystring(uuid)true
» encrypted_message_keybodystringtrue
» created_for_key_hashbodystringfalse
Request body samples
json
{
  "group_name": "",
  "encrypt_pubkey": "stringstri",
  "signing_pubkey": "stringstri",
  "encrypted_encryption_privkey": "stringstri",
  "encrypted_signing_privkey": "stringstri",
  "members": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "admins": [],
  "message_keys": [
    {
      "created_for_key": "8c64c67e-80c8-4b6b-bb2c-9ae3b4ae7b04",
      "encrypted_message_key": "string",
      "created_for_key_hash": ""
    }
  ]
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

retrieve groups ​

GET /dashboardapi/v2/groups/{id}/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

200 Response

json
{
  "status": "ok"
}

groupdevices groups ​

GET /dashboardapi/v2/groups/{id}/groupdevices/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

200 Response

json
{
  "status": "ok"
}

members groups ​

GET /dashboardapi/v2/groups/{id}/members/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

200 Response

json
{
  "status": "ok"
}

members groups (POST) ​

POST /dashboardapi/v2/groups/{id}/members/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
edited_beardusers_device_messagesbodyobjecttrue
transaction_data_membersbodyobjectfalse
added_adminsbody[string]false
Request body samples
json
{
  "edited_beardusers_device_messages": {},
  "transaction_data_members": false,
  "added_admins": [
    "string"
  ]
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

members groups (PATCH) ​

PATCH /dashboardapi/v2/groups/{id}/members/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
edited_beardusers_device_messagesbodyobjecttrue
transaction_data_membersbodyobjectfalse
added_adminsbody[string]false
Request body samples
json
{
  "edited_beardusers_device_messages": {},
  "transaction_data_members": false,
  "added_admins": [
    "string"
  ]
}

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

200 Response

json
{
  "status": "ok"
}

members groups (DELETE) ​

DELETE /dashboardapi/v2/groups/{id}/members/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue

Responses ​

StatusMeaningDescription
204No Contentnone

fullRevoke groups ​

POST /dashboardapi/v2/groups/{id}/full_revoke/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

initSigchain groups ​

POST /dashboardapi/v2/groups/{id}/init_sigchain/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
transaction_databodyobjecttrue
transaction_data_membersbodyobjecttrue
Request body samples
json
{
  "transaction_data": {},
  "transaction_data_members": {}
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

rename groups ​

POST /dashboardapi/v2/groups/{id}/rename/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
group_namebodystring
Length: [ 1 .. 64]
true
Request body samples
json
{
  "group_name": "string"
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

renew groups ​

POST /dashboardapi/v2/groups/{id}/renew/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
transaction_databodyobjecttrue
encrypt_pubkeybodystring
Length: [ 10 .. 2048]
true
signing_pubkeybodystring
Length: [ 10 .. 2048]
true
encrypted_encryption_privkeybodystring
Length: [ 10 .. 4096]
true
encrypted_signing_privkeybodystring
Length: [ 10 .. 4096]
true
message_keysbody[object]true
» created_for_keybodystring(uuid)true
» encrypted_message_keybodystringtrue
» created_for_key_hashbodystringfalse
group_tmr_keys_databodyobjectfalse
Request body samples
json
{
  "transaction_data": {},
  "encrypt_pubkey": "stringstri",
  "signing_pubkey": "stringstri",
  "encrypted_encryption_privkey": "stringstri",
  "encrypted_signing_privkey": "stringstri",
  "message_keys": [
    {
      "created_for_key": "8c64c67e-80c8-4b6b-bb2c-9ae3b4ae7b04",
      "encrypted_message_key": "string",
      "created_for_key_hash": ""
    }
  ],
  "group_tmr_keys_data": {}
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

serverDeleteMembers groups ​

POST /dashboardapi/v2/groups/{id}/server_delete_members/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
bearduser_idsbody[string]true
Request body samples
json
{
  "bearduser_ids": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

Devices management ​

list keys ​

GET /dashboardapi/v2/keys/

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.
userquerystring(uuid)trueOnly match device Keys related to this user.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» idstring(uuid)true
» createdstring(date-time)true
» device_namestringtrue
» statestringtrue
» bearduser_idstring(uuid)true
» last_seenobjecttrue
»» successbooleantrue
»» ipstringtrue
»» key_idstring(uuid)true
»» bearduser_idstring(uuid)true
»» datetimestring(date-time)true
»» locationobjecttrue
»» user_agentstringtrue
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "created": "2019-08-24T14:15:22Z",
      "device_name": "string",
      "state": "string",
      "bearduser_id": "c1728d10-d167-4968-8803-696351d3e438",
      "last_seen": {
        "success": true,
        "ip": "string",
        "key_id": "1e779c8a-6786-4c89-b7c3-a6666f5fd6b5",
        "bearduser_id": "c1728d10-d167-4968-8803-696351d3e438",
        "datetime": "2019-08-24T14:15:22Z",
        "location": {},
        "user_agent": "string"
      }
    }
  ]
}

findPublicKeys keys ​

GET /dashboardapi/v2/keys/find_public_keys/

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
idstring(uuid)true
createdstring(date-time)true
device_namestringtrue
statestringtrue
bearduser_idstring(uuid)true
last_seenobjecttrue
» successbooleantrue
» ipstringtrue
» key_idstring(uuid)true
» bearduser_idstring(uuid)true
» datetimestring(date-time)true
» locationobjecttrue
» user_agentstringtrue
Response body examples

200 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "device_name": "string",
  "state": "string",
  "bearduser_id": "c1728d10-d167-4968-8803-696351d3e438",
  "last_seen": {
    "success": true,
    "ip": "string",
    "key_id": "1e779c8a-6786-4c89-b7c3-a6666f5fd6b5",
    "bearduser_id": "c1728d10-d167-4968-8803-696351d3e438",
    "datetime": "2019-08-24T14:15:22Z",
    "location": {},
    "user_agent": "string"
  }
}

revoke keys ​

POST /dashboardapi/v2/keys/{id}/revoke/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

Messages management ​

list messages ​

GET /dashboardapi/v2/messages/

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.
recipientquerystring(uuid)falseOnly match Messages which have this user or group as recipient. If recipient is a user and the user has access to the Message indirectly, through a group, it will only show if the user has already accessed the Message at least once.
ownerquerystring(uuid)falseOnly match Messages which have this user as owner, which means that they have sent the message.
meta_dataquerystringfalseOnly match Messages whose meta data includes this.
hide_revokedquerystringfalseIf set exactly to true, messages that are revoked for given recipient will be filtered out.
only_visiblequerybooleanfalseIf true, only match Messages created by a user, and not service messages.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» idstring(uuid)true
» owner_idstring(uuid)true
» createdstring(date-time)true
» meta_dataobjecttrue
» allow_downloadbooleantrue
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
      "created": "2019-08-24T14:15:22Z",
      "meta_data": {},
      "allow_download": true
    }
  ]
}

retrieve messages ​

GET /dashboardapi/v2/messages/{id}/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
recipientquerystring(uuid)falseOnly match Messages which have this user or group as recipient. If recipient is a user and the user has access to the Message indirectly, through a group, it will only show if the user has already accessed the Message at least once.
ownerquerystring(uuid)falseOnly match Messages which have this user as owner, which means that they have sent the message.
meta_dataquerystringfalseOnly match Messages whose meta data includes this.
hide_revokedquerystringfalseIf set exactly to true, messages that are revoked for given recipient will be filtered out.
only_visiblequerybooleanfalseIf true, only match Messages created by a user, and not service messages.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
idstring(uuid)true
owner_idstring(uuid)true
createdstring(date-time)true
meta_dataobjecttrue
allow_downloadbooleantrue
is_everyone_revokedstringfalse
nb_readstringfalse
self_destruct_datestringfalse
Response body examples

200 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
  "created": "2019-08-24T14:15:22Z",
  "meta_data": {},
  "allow_download": true,
  "is_everyone_revoked": "string",
  "nb_read": "string",
  "self_destruct_date": "string"
}

availableAdminkeys messages ​

GET /dashboardapi/v2/messages/{id}/available_adminkeys/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
recipientquerystring(uuid)falseOnly match Messages which have this user or group as recipient. If recipient is a user and the user has access to the Message indirectly, through a group, it will only show if the user has already accessed the Message at least once.
ownerquerystring(uuid)falseOnly match Messages which have this user as owner, which means that they have sent the message.
meta_dataquerystringfalseOnly match Messages whose meta data includes this.
hide_revokedquerystringfalseIf set exactly to true, messages that are revoked for given recipient will be filtered out.
only_visiblequerybooleanfalseIf true, only match Messages created by a user, and not service messages.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

200 Response

json
{
  "status": "ok"
}

recipients messages ​

GET /dashboardapi/v2/messages/{id}/recipients/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
recipientquerystring(uuid)falseOnly match Messages which have this user or group as recipient. If recipient is a user and the user has access to the Message indirectly, through a group, it will only show if the user has already accessed the Message at least once.
ownerquerystring(uuid)falseOnly match Messages which have this user as owner, which means that they have sent the message.
meta_dataquerystringfalseOnly match Messages whose meta data includes this.
hide_revokedquerystringfalseIf set exactly to true, messages that are revoked for given recipient will be filtered out.
only_visiblequerybooleanfalseIf true, only match Messages created by a user, and not service messages.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
user_idstring(uuid)true
Response body examples

200 Response

json
{
  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5"
}

addEncryptedMessageKey messages ​

POST /dashboardapi/v2/messages/{id}/add_encrypted_message_key/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
recipientquerystring(uuid)falseOnly match Messages which have this user or group as recipient. If recipient is a user and the user has access to the Message indirectly, through a group, it will only show if the user has already accessed the Message at least once.
ownerquerystring(uuid)falseOnly match Messages which have this user as owner, which means that they have sent the message.
meta_dataquerystringfalseOnly match Messages whose meta data includes this.
hide_revokedquerystringfalseIf set exactly to true, messages that are revoked for given recipient will be filtered out.
only_visiblequerybooleanfalseIf true, only match Messages created by a user, and not service messages.
encrypted_message_keysbody[object]true
» created_for_keybodystring(uuid)true
» encrypted_message_keybodystringtrue
» created_for_key_hashbodystringfalse
Request body samples
json
{
  "encrypted_message_keys": [
    {
      "created_for_key": "8c64c67e-80c8-4b6b-bb2c-9ae3b4ae7b04",
      "encrypted_message_key": "string",
      "created_for_key_hash": ""
    }
  ]
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

addEntrustedMessageKey messages ​

POST /dashboardapi/v2/messages/{id}/add_entrusted_message_key/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
recipientquerystring(uuid)falseOnly match Messages which have this user or group as recipient. If recipient is a user and the user has access to the Message indirectly, through a group, it will only show if the user has already accessed the Message at least once.
ownerquerystring(uuid)falseOnly match Messages which have this user as owner, which means that they have sent the message.
meta_dataquerystringfalseOnly match Messages whose meta data includes this.
hide_revokedquerystringfalseIf set exactly to true, messages that are revoked for given recipient will be filtered out.
only_visiblequerybooleanfalseIf true, only match Messages created by a user, and not service messages.
emailbodystring(email)false
created_for_valuebodystringfalse
created_for_typebodystringfalse
message_keybodystringtrue
created_for_additional_factorbodyobjectfalse
acl_readbodyboolean
Default: true
false
acl_forwardbodyboolean
Default: true
false
acl_revokebodybooleanfalse
Request body samples
json
{
  "email": "user@example.com",
  "created_for_value": "string",
  "created_for_type": "string",
  "message_key": "string",
  "created_for_additional_factor": {},
  "acl_read": true,
  "acl_forward": true,
  "acl_revoke": false
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

allowDownload messages ​

POST /dashboardapi/v2/messages/{id}/allow_download/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
recipientquerystring(uuid)falseOnly match Messages which have this user or group as recipient. If recipient is a user and the user has access to the Message indirectly, through a group, it will only show if the user has already accessed the Message at least once.
ownerquerystring(uuid)falseOnly match Messages which have this user as owner, which means that they have sent the message.
meta_dataquerystringfalseOnly match Messages whose meta data includes this.
hide_revokedquerystringfalseIf set exactly to true, messages that are revoked for given recipient will be filtered out.
only_visiblequerybooleanfalseIf true, only match Messages created by a user, and not service messages.
allow_downloadbodybooleantrue
Request body samples
json
{
  "allow_download": true
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

findRecoverableMessageKey messages ​

POST /dashboardapi/v2/messages/{id}/find_recoverable_message_key/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
bearduser_idbodystring(uuid)true
adminkey_idbodystring(uuid)true
Request body samples
json
{
  "bearduser_id": "c1728d10-d167-4968-8803-696351d3e438",
  "adminkey_id": "4fab4ba1-c221-4702-93a3-b774838ea8bd"
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

Revoke a message ​

POST /dashboardapi/v2/messages/{id}/revoke/

WARNING: If GET parameter legacy_mode is not set or is equal to true, the endpoint will behave exactly as /revoke_legacy/ endpoint.

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
recipientquerystring(uuid)falseOnly match Messages which have this user or group as recipient. If recipient is a user and the user has access to the Message indirectly, through a group, it will only show if the user has already accessed the Message at least once.
ownerquerystring(uuid)falseOnly match Messages which have this user as owner, which means that they have sent the message.
meta_dataquerystringfalseOnly match Messages whose meta data includes this.
hide_revokedquerystringfalseIf set exactly to true, messages that are revoked for given recipient will be filtered out.
only_visiblequerybooleanfalseIf true, only match Messages created by a user, and not service messages.
user_idsbody[string]false
proxy_mk_idsbody[string]false
sym_enc_key_idsbody[string]false
entrusted_emailsbody[string]false
entrusted_usersbody[object]false
» created_for_valuebodystringtrue
» created_for_typebodystring
Allowed values: "MO", "EM", "PH", "AP"
true
tmr_key_idsbody[string]false
tmr_key_factorsbody[object]false
» valuebodystringtrue
» typebodystring
Allowed values: "EM", "SMS"
true
revokebodystring
Allowed values: "all", "others"
false
onlybody[string]false
Request body samples
json
{
  "user_ids": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "proxy_mk_ids": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "sym_enc_key_ids": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "entrusted_emails": [
    "user@example.com"
  ],
  "entrusted_users": [
    {
      "created_for_value": "string",
      "created_for_type": "MO"
    }
  ],
  "tmr_key_ids": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "tmr_key_factors": [
    {
      "value": "string",
      "type": "EM"
    }
  ],
  "revoke": "all",
  "only": [
    "users"
  ]
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

Deprecated endpoint for revoking a message ​

POST /dashboardapi/v2/messages/{id}/revoke_legacy/

If multiple recipients or all are provided, the response body format is changed to :

VariableTypeDescription
revokedString[]Users that have been revoked for corresponding message
erroredString[]Users that has not been revoked because something went wrong (eg. : if the user does not exist)

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
recipientquerystring(uuid)falseOnly match Messages which have this user or group as recipient. If recipient is a user and the user has access to the Message indirectly, through a group, it will only show if the user has already accessed the Message at least once.
ownerquerystring(uuid)falseOnly match Messages which have this user as owner, which means that they have sent the message.
meta_dataquerystringfalseOnly match Messages whose meta data includes this.
hide_revokedquerystringfalseIf set exactly to true, messages that are revoked for given recipient will be filtered out.
only_visiblequerybooleanfalseIf true, only match Messages created by a user, and not service messages.
userbodystring(uuid)false
usersbody[string]false
emailbodystringfalse
entrusted_created_for_valuebodystringfalse
entrusted_created_for_typebodystringfalse
entrusted_usersbody[object]false
» entrusted_created_for_valuebodystringfalse
» entrusted_created_for_typebodystringfalse
allbodybooleanfalse
Request body samples
json
{
  "user": "76f62a58-5404-486d-9afc-07bded328704",
  "users": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "email": "string",
  "entrusted_created_for_value": "string",
  "entrusted_created_for_type": "string",
  "entrusted_users": [
    {
      "entrusted_created_for_value": "string",
      "entrusted_created_for_type": "string"
    }
  ],
  "all": true
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

selfDestructDate messages ​

POST /dashboardapi/v2/messages/{id}/self_destruct_date/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
recipientquerystring(uuid)falseOnly match Messages which have this user or group as recipient. If recipient is a user and the user has access to the Message indirectly, through a group, it will only show if the user has already accessed the Message at least once.
ownerquerystring(uuid)falseOnly match Messages which have this user as owner, which means that they have sent the message.
meta_dataquerystringfalseOnly match Messages whose meta data includes this.
hide_revokedquerystringfalseIf set exactly to true, messages that are revoked for given recipient will be filtered out.
only_visiblequerybooleanfalseIf true, only match Messages created by a user, and not service messages.
datebodystring(date)¦nulltrue
Request body samples
json
{
  "date": "2019-08-24"
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

Message access management ​

list messageaccesses ​

GET /dashboardapi/v2/messageaccesses/

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.
messagequerystring(uuid)trueOnly match MessageAccesses related to this message.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» createdstring(date-time)true
» added_by_idstring(uuid)true
» message_idstring(uuid)true
» bearduser_idstring(uuid)true
» read_firststring(date-time)true
» read_laststring(date-time)true
» read_timeintegertrue
» revokedbooleantrue
» revoked_datestring(date-time)true
» acl_readbooleantrue
» acl_forwardbooleantrue
» acl_revokebooleantrue
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "created": "2019-08-24T14:15:22Z",
      "added_by_id": "d510dc72-551b-40c1-bb6a-2bcfb13ad89f",
      "message_id": "d7d9d9fd-478f-40e6-b651-49b7f19878a2",
      "bearduser_id": "c1728d10-d167-4968-8803-696351d3e438",
      "read_first": "2019-08-24T14:15:22Z",
      "read_last": "2019-08-24T14:15:22Z",
      "read_time": 0,
      "revoked": true,
      "revoked_date": "2019-08-24T14:15:22Z",
      "acl_read": true,
      "acl_forward": true,
      "acl_revoke": true
    }
  ]
}

Entrusted Keys ​

list entrustedmessagekeys ​

GET /dashboardapi/v2/entrustedmessagekeys/

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.
messagequerystring(uuid)trueMessage ID of the requested message.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» createdstring(date-time)true
» created_for_valuestringtrue
» created_for_typestringtrue
» converted_for_idstring(uuid)true
» read_firststring(date-time)true
» read_laststring(date-time)true
» read_timeintegertrue
» revokedbooleantrue
» revoked_datestring(date-time)true
» replies[string]true
» acl_readbooleantrue
» acl_forwardbooleantrue
» acl_revokebooleantrue
» created_for_additional_factorstringfalse
» created_forstringfalse
» created_for_emailstringfalse
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "created": "2019-08-24T14:15:22Z",
      "created_for_value": "string",
      "created_for_type": "string",
      "converted_for_id": "a2bcc1f6-dae3-48fe-b858-28d4824682c1",
      "read_first": "2019-08-24T14:15:22Z",
      "read_last": "2019-08-24T14:15:22Z",
      "read_time": 0,
      "revoked": true,
      "revoked_date": "2019-08-24T14:15:22Z",
      "replies": [
        "2019-08-24T14:15:22Z"
      ],
      "acl_read": true,
      "acl_forward": true,
      "acl_revoke": true,
      "created_for_additional_factor": "string",
      "created_for": "string",
      "created_for_email": "string"
    }
  ]
}

Anonymous access management ​

Some actions can be performed on client side (or any other third party), without sharing any critical credential.

For authenticating those actions, you can have a shared secret between your backend and DashboardAPI, enabling your backend generating a JWT with restricted privileges.

A JWTSharedSecret is a secret with restricted permissions (you can limit what privilege a JWTSharedSecret can put in a JWT). The following permissions are available :

Permission IDPermission nameEndpoint
-1PERMISSION_ALL/api/anonymous/*
0PERMISSION_ANONYMOUS_CREATE_MESSAGE/api/anonymous/message_create/
1PERMISSION_ANONYMOUS_RETRIEVE_KEYS/api/anonymous/key_find/
2PERMISSION_ANONYMOUS_RETRIEVE_SIGCHAIN/api/anonymous/sigchain_find/

List all JWTSharedSecret ​

GET /dashboardapi/v2/jwtsharedsecret/

List all JWTSharedSecret

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» idstring(uuid)false
» createdstring(date-time)false
» shared_secretstringfalse
» permissions[integer]true
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "created": "2019-08-24T14:15:22Z",
      "shared_secret": "string",
      "permissions": [
        -1
      ]
    }
  ]
}

Generate a JWTSharedSecret ​

POST /dashboardapi/v2/jwtsharedsecret/

Generate a JWTSharedSecret

Parameters ​

NameInTypeRequiredDescription
idbodystring(uuid)false
createdbodystring(date-time)false
shared_secretbodystringfalse
permissionsbody[integer]true
Request body samples
json
{
  "permissions": [
    -1
  ]
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
idstring(uuid)false
createdstring(date-time)false
shared_secretstringfalse
permissions[integer]true
Response body examples

201 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "shared_secret": "string",
  "permissions": [
    -1
  ]
}

Delete a JWTSharedSecret ​

DELETE /dashboardapi/v2/jwtsharedsecret/{id}/

Delete a JWTSharedSecret

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue

Responses ​

StatusMeaningDescription
204No Contentnone

Prevalidated connectors token ​

list domainvalidationkeys ​

GET /dashboardapi/v2/domainvalidationkeys/

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» idstringtrue
» keystringtrue
» domainstringtrue
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "id": "string",
      "key": "string",
      "domain": "string"
    }
  ]
}

refresh domainvalidationkeys ​

POST /dashboardapi/v2/domainvalidationkeys/{id}/refresh/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

Email and SDK connectors ​

list connectors ​

GET /dashboardapi/v2/connectors/

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.
userquerystring(uuid)trueUser ID of the requested user.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» idstring(uuid)true
» typestringtrue
» statestringtrue
» valuestringtrue
» createdstring(date-time)true
» updatedstring(date-time)true
» bearduser_idstring(uuid)true
» is_primary_emailstringfalse
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "type": "string",
      "state": "string",
      "value": "string",
      "created": "2019-08-24T14:15:22Z",
      "updated": "2019-08-24T14:15:22Z",
      "bearduser_id": "c1728d10-d167-4968-8803-696351d3e438",
      "is_primary_email": "string"
    }
  ]
}

create connectors ​

POST /dashboardapi/v2/connectors/

Parameters ​

NameInTypeRequiredDescription
typebodystring
Allowed values: "EM", "AP"
true
valuebodystringtrue
bearduser_idbodystring(uuid)true
domainvalidationkey_idbodystring(uuid)true
forcebodybooleantrue
Request body samples
json
{
  "type": "EM",
  "value": "string",
  "bearduser_id": "c1728d10-d167-4968-8803-696351d3e438",
  "domainvalidationkey_id": "7bb1b8f4-02bd-4268-8cd6-3f9663c5c430",
  "force": true
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
idstring(uuid)true
typestringtrue
statestringtrue
valuestringtrue
createdstring(date-time)true
updatedstring(date-time)true
bearduser_idstring(uuid)true
is_primary_emailstringfalse
Response body examples

201 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "type": "string",
  "state": "string",
  "value": "string",
  "created": "2019-08-24T14:15:22Z",
  "updated": "2019-08-24T14:15:22Z",
  "bearduser_id": "c1728d10-d167-4968-8803-696351d3e438",
  "is_primary_email": "string"
}

setPrimary connectors ​

POST /dashboardapi/v2/connectors/{id}/set_primary/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

destroy connectors ​

DELETE /dashboardapi/v2/connectors/{id}/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue

Responses ​

StatusMeaningDescription
204No Contentnone

Event logs ​

list eventlogs ​

GET /dashboardapi/v2/eventlogs/

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.
date_gtquerystring(date-time)falseOnly match events more recent than provided date.
date_ltquerystring(date-time)falseOnly match events older than provided date.
userquerystring(uuid)falseOnly match events related to this user.
messagequerystring(uuid)falseOnly match events related to this message.
devicequerystring(uuid)falseOnly match events related to this device.
emailquerystring(email)falseOnly match events related to this email.
action_inquerystringfalseOnly match events of these action types. Multiple actions, separeted by `

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» datestring(date-time)true
» user_idstring(uuid)true
» user2_idstring(uuid)true
» device_idstring(uuid)true
» messageobjecttrue
»» idstring(uuid)true
»» owner_idstring(uuid)true
»» createdstring(date-time)true
»» meta_dataobjecttrue
»» allow_downloadbooleantrue
» emailstringtrue
» ipstringtrue
» geoipobjecttrue
» actionstringtrue
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "date": "2019-08-24T14:15:22Z",
      "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
      "user2_id": "d30342ed-2e79-4325-86c2-755c2ad935ba",
      "device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",
      "message": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
        "created": "2019-08-24T14:15:22Z",
        "meta_data": {},
        "allow_download": true
      },
      "email": "string",
      "ip": "string",
      "geoip": {},
      "action": "string"
    }
  ]
}

retrieve eventlogs ​

GET /dashboardapi/v2/eventlogs/{id}/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
date_gtquerystring(date-time)falseOnly match events more recent than provided date.
date_ltquerystring(date-time)falseOnly match events older than provided date.
userquerystring(uuid)falseOnly match events related to this user.
messagequerystring(uuid)falseOnly match events related to this message.
devicequerystring(uuid)falseOnly match events related to this device.
emailquerystring(email)falseOnly match events related to this email.
action_inquerystringfalseOnly match events of these action types. Multiple actions, separeted by `

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
datestring(date-time)true
user_idstring(uuid)true
user2_idstring(uuid)true
device_idstring(uuid)true
messageobjecttrue
» idstring(uuid)true
» owner_idstring(uuid)true
» createdstring(date-time)true
» meta_dataobjecttrue
» allow_downloadbooleantrue
emailstringtrue
ipstringtrue
geoipobjecttrue
actionstringtrue
Response body examples

200 Response

json
{
  "date": "2019-08-24T14:15:22Z",
  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  "user2_id": "d30342ed-2e79-4325-86c2-755c2ad935ba",
  "device_id": "3bafab7b-4400-4bcf-8e6e-09f954699940",
  "message": {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
    "created": "2019-08-24T14:15:22Z",
    "meta_data": {},
    "allow_download": true
  },
  "email": "string",
  "ip": "string",
  "geoip": {},
  "action": "string"
}

export eventlogs ​

POST /dashboardapi/v2/eventlogs/export/

Parameters ​

NameInTypeRequiredDescription
date_minbodystring(date-time)true
date_maxbodystring(date-time)true
Request body samples
json
{
  "date_min": "2019-08-24T14:15:22Z",
  "date_max": "2019-08-24T14:15:22Z"
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

Login logs ​

list loginlogs ​

GET /dashboardapi/v2/loginlogs/

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.
userquerystring(uuid)trueOnly match LoginLogs related to this user.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» successbooleantrue
» ipstringtrue
» key_idstring(uuid)true
» bearduser_idstring(uuid)true
» datetimestring(date-time)true
» locationobjecttrue
» user_agentstringtrue
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "success": true,
      "ip": "string",
      "key_id": "1e779c8a-6786-4c89-b7c3-a6666f5fd6b5",
      "bearduser_id": "c1728d10-d167-4968-8803-696351d3e438",
      "datetime": "2019-08-24T14:15:22Z",
      "location": {},
      "user_agent": "string"
    }
  ]
}

retrieve loginlogs ​

GET /dashboardapi/v2/loginlogs/{id}/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
userquerystring(uuid)trueOnly match LoginLogs related to this user.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
successbooleantrue
ipstringtrue
key_idstring(uuid)true
bearduser_idstring(uuid)true
datetimestring(date-time)true
locationobjecttrue
user_agentstringtrue
Response body examples

200 Response

json
{
  "success": true,
  "ip": "string",
  "key_id": "1e779c8a-6786-4c89-b7c3-a6666f5fd6b5",
  "bearduser_id": "c1728d10-d167-4968-8803-696351d3e438",
  "datetime": "2019-08-24T14:15:22Z",
  "location": {},
  "user_agent": "string"
}

Backup admin keys management ​

list adminkeys ​

GET /dashboardapi/v2/adminkeys/

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» idstring(uuid)false
» createdstring(date-time)false
» namestringtrue
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "created": "2019-08-24T14:15:22Z",
      "name": "string"
    }
  ]
}

create adminkeys ​

POST /dashboardapi/v2/adminkeys/

Parameters ​

NameInTypeRequiredDescription
idbodystring(uuid)false
createdbodystring(date-time)false
namebodystringtrue
encrypted_admin_keybodystringtrue
public_admin_keybodystringtrue
Request body samples
json
{
  "name": "string",
  "encrypted_admin_key": "string",
  "public_admin_key": "string"
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
idstring(uuid)false
createdstring(date-time)false
namestringtrue
encrypted_admin_keystringtrue
public_admin_keystringtrue
Response body examples

201 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "name": "string",
  "encrypted_admin_key": "string",
  "public_admin_key": "string"
}

retrieve adminkeys ​

GET /dashboardapi/v2/adminkeys/{id}/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
idstring(uuid)false
createdstring(date-time)false
namestringtrue
encrypted_admin_keystringtrue
public_admin_keystringtrue
statsstringfalse
created_bystringfalse
Response body examples

200 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "name": "string",
  "encrypted_admin_key": "string",
  "public_admin_key": "string",
  "stats": "string",
  "created_by": "string"
}

Encrypted backup keys management ​

findKey encryptedbackupkeys ​

POST /dashboardapi/v2/encryptedbackupkeys/find_key/

Parameters ​

NameInTypeRequiredDescription
adminkeybodystring(uuid)true
bearduserbodystring(uuid)true
Request body samples
json
{
  "adminkey": "cc15f562-0196-4a4a-bcba-457a7d18d401",
  "bearduser": "baffd5eb-33a6-4b11-a1b9-1905f3697705"
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

renew encryptedbackupkeys ​

POST /dashboardapi/v2/encryptedbackupkeys/{id}/renew/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
transaction_databodyobjecttrue
encryption_pub_keybodystringfalse
forcebodybooleantrue
encrypted_backup_keybodystringtrue
Request body samples
json
{
  "transaction_data": {},
  "encryption_pub_key": "string",
  "force": true,
  "encrypted_backup_key": "string"
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

Lost accounts management ​

list lostaccounts ​

GET /dashboardapi/v2/lostaccounts/

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.
state_inqueryinteger
Allowed values: 0, 1, 2, 3, 4, 5, 6
falseOnly match LostAccounts related to this state. Multiple state can be provided by sperating them by `

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» idstring(uuid)true
» createdstring(date-time)true
» emailstringtrue
» device_namestringtrue
» bearduser_idstring(uuid)true
» stateintegertrue
» created_device_idstring(uuid)true
» encryption_pub_keystringtrue
» signing_pub_keystringtrue
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "created": "2019-08-24T14:15:22Z",
      "email": "string",
      "device_name": "string",
      "bearduser_id": "c1728d10-d167-4968-8803-696351d3e438",
      "state": 0,
      "created_device_id": "008bfe01-cdd7-4540-93da-c3411ba728ac",
      "encryption_pub_key": "string",
      "signing_pub_key": "string"
    }
  ]
}

retrieve lostaccounts ​

GET /dashboardapi/v2/lostaccounts/{id}/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
state_inqueryinteger
Allowed values: 0, 1, 2, 3, 4, 5, 6
falseOnly match LostAccounts related to this state. Multiple state can be provided by sperating them by `

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
idstring(uuid)true
createdstring(date-time)true
emailstringtrue
device_namestringtrue
bearduser_idstring(uuid)true
stateintegertrue
created_device_idstring(uuid)true
encryption_pub_keystringtrue
signing_pub_keystringtrue
Response body examples

200 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "email": "string",
  "device_name": "string",
  "bearduser_id": "c1728d10-d167-4968-8803-696351d3e438",
  "state": 0,
  "created_device_id": "008bfe01-cdd7-4540-93da-c3411ba728ac",
  "encryption_pub_key": "string",
  "signing_pub_key": "string"
}

destroy lostaccounts ​

DELETE /dashboardapi/v2/lostaccounts/{id}/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
state_inqueryinteger
Allowed values: 0, 1, 2, 3, 4, 5, 6
falseOnly match LostAccounts related to this state. Multiple state can be provided by sperating them by `

Responses ​

StatusMeaningDescription
204No Contentnone

missingEncryptedMessageKeys lostaccounts ​

GET /dashboardapi/v2/lostaccounts/{id}/missing_encrypted_message_keys/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
state_inqueryinteger
Allowed values: 0, 1, 2, 3, 4, 5, 6
falseOnly match LostAccounts related to this state. Multiple state can be provided by sperating them by `

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

200 Response

json
{
  "status": "ok"
}

missingEncryptedMessageKeys lostaccounts (POST) ​

POST /dashboardapi/v2/lostaccounts/{id}/missing_encrypted_message_keys/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
state_inqueryinteger
Allowed values: 0, 1, 2, 3, 4, 5, 6
falseOnly match LostAccounts related to this state. Multiple state can be provided by sperating them by `
keysbody[object]true
» message_idbodystringtrue
» tokenbodystringtrue
» created_for_key_hashbodystringfalse
Request body samples
json
{
  "keys": [
    {
      "message_id": "string",
      "token": "string",
      "created_for_key_hash": ""
    }
  ]
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

createDevice lostaccounts ​

POST /dashboardapi/v2/lostaccounts/{id}/create_device/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
state_inqueryinteger
Allowed values: 0, 1, 2, 3, 4, 5, 6
falseOnly match LostAccounts related to this state. Multiple state can be provided by sperating them by `
device_namebodystringtrue
Request body samples
json
{
  "device_name": "string"
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

validateSigchain lostaccounts ​

POST /dashboardapi/v2/lostaccounts/{id}/validate_sigchain/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
state_inqueryinteger
Allowed values: 0, 1, 2, 3, 4, 5, 6
falseOnly match LostAccounts related to this state. Multiple state can be provided by sperating them by `
sigchain_transactionbodyobjecttrue
forcebodybooleantrue
Request body samples
json
{
  "sigchain_transaction": {},
  "force": true
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

Invited Emails ​

list invitedemails ​

GET /dashboardapi/v2/invitedemails/

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.
statequeryinteger
Allowed values: 0, 1, 2
falseOnly match InvitedEmails of this state.
emailquerystring(email)falseOnly match InvitedEmails related to this email.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» emailstring(email)true
» statestringtrue
» invited_bystringtrue
» created_atstring(date-time)true
» used_atstring(date-time)true
» disabled_atstring(date-time)true
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "email": "user@example.com",
      "state": "string",
      "invited_by": "string",
      "created_at": "2019-08-24T14:15:22Z",
      "used_at": "2019-08-24T14:15:22Z",
      "disabled_at": "2019-08-24T14:15:22Z"
    }
  ]
}

create invitedemails ​

POST /dashboardapi/v2/invitedemails/

Parameters ​

NameInTypeRequiredDescription
emailbodystring(email)true
statebodystringtrue
invited_bybodystringtrue
created_atbodystring(date-time)true
used_atbodystring(date-time)true
disabled_atbodystring(date-time)true
Request body samples
json
{
  "email": "user@example.com",
  "state": "string",
  "invited_by": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "used_at": "2019-08-24T14:15:22Z",
  "disabled_at": "2019-08-24T14:15:22Z"
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
emailstring(email)true
statestringtrue
invited_bystringtrue
created_atstring(date-time)true
used_atstring(date-time)true
disabled_atstring(date-time)true
Response body examples

201 Response

json
{
  "email": "user@example.com",
  "state": "string",
  "invited_by": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "used_at": "2019-08-24T14:15:22Z",
  "disabled_at": "2019-08-24T14:15:22Z"
}

licences invitedemails ​

GET /dashboardapi/v2/invitedemails/licences/

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
emailstring(email)true
statestringtrue
invited_bystringtrue
created_atstring(date-time)true
used_atstring(date-time)true
disabled_atstring(date-time)true
Response body examples

200 Response

json
{
  "email": "user@example.com",
  "state": "string",
  "invited_by": "string",
  "created_at": "2019-08-24T14:15:22Z",
  "used_at": "2019-08-24T14:15:22Z",
  "disabled_at": "2019-08-24T14:15:22Z"
}

disable invitedemails ​

POST /dashboardapi/v2/invitedemails/disable/

Parameters ​

NameInTypeRequiredDescription
emailbodystring(email)true
Request body samples
json
{
  "email": "user@example.com"
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

is-alive ​

listis_alives ​

GET /is_alive/

Responses ​

StatusMeaningDescription
200OKnone

proxymessagekeys ​

list proxymessagekeys ​

GET /dashboardapi/v2/proxymessagekeys/

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.
messagequerystring(uuid)trueMessage ID of the requested message.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» idstring(uuid)true
» createdstring(date-time)true
» created_by_idstring(uuid)true
» message_idstring(uuid)true
» proxy_message_idstring(uuid)true
» acl_readbooleantrue
» acl_forwardbooleantrue
» acl_revokebooleantrue
» revokedbooleantrue
» revoked_datestring(date-time)true
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "created": "2019-08-24T14:15:22Z",
      "created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
      "message_id": "d7d9d9fd-478f-40e6-b651-49b7f19878a2",
      "proxy_message_id": "eb36e7c5-b971-4dfe-8041-2e0a94f69f3b",
      "acl_read": true,
      "acl_forward": true,
      "acl_revoke": true,
      "revoked": true,
      "revoked_date": "2019-08-24T14:15:22Z"
    }
  ]
}

symencmessagekeys ​

list symencmessagekeys ​

GET /dashboardapi/v2/symencmessagekeys/

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.
messagequerystring(uuid)trueMessage ID of the requested message.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» idstring(uuid)true
» createdstring(date-time)true
» created_by_idstring(uuid)true
» acl_readbooleantrue
» acl_forwardbooleantrue
» acl_revokebooleantrue
» anonymous_read_countintegertrue
» read_countintegertrue
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "created": "2019-08-24T14:15:22Z",
      "created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
      "acl_read": true,
      "acl_forward": true,
      "acl_revoke": true,
      "anonymous_read_count": 0,
      "read_count": 0
    }
  ]
}

twomanrulemessagekeys ​

list twomanrulemessagekeys ​

GET /dashboardapi/v2/twomanrulemessagekeys/

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.
messagequerystring(uuid)trueMessage ID of the requested message.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» idstring(uuid)true
» createdstring(date-time)true
» created_by_idstring(uuid)true
» auth_factor_typestringtrue
» acl_readbooleantrue
» acl_forwardbooleantrue
» acl_revokebooleantrue
» read_countintegertrue
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "created": "2019-08-24T14:15:22Z",
      "created_by_id": "9377d689-01fb-4abf-8450-3368d2c1924f",
      "auth_factor_type": "string",
      "acl_read": true,
      "acl_forward": true,
      "acl_revoke": true,
      "read_count": 0
    }
  ]
}

dashboardapi ​

statusTwoFA ​

GET /dashboardapi/v2/twofa/status/

Responses ​

StatusMeaningDescription
200OKnone

confirmTwoFA ​

POST /dashboardapi/v2/twofa/confirm/

Responses ​

StatusMeaningDescription
201Creatednone

removeTwoFA ​

POST /dashboardapi/v2/twofa/remove/

Responses ​

StatusMeaningDescription
201Creatednone

resetRecoverCodesTwoFA ​

POST /dashboardapi/v2/twofa/reset_recover_codes/

Responses ​

StatusMeaningDescription
201Creatednone

setTwoFA ​

POST /dashboardapi/v2/twofa/set/

Responses ​

StatusMeaningDescription
201Creatednone

usagehistory ​

list usagehistory ​

GET /dashboardapi/v2/usagehistory/

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» monthstring(date)false
» usagesobjectfalse
» usages_extraobjectfalse
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "month": "2019-08-24",
      "usages": {},
      "usages_extra": {}
    }
  ]
}

billingInfo usagehistory ​

GET /dashboardapi/v2/usagehistory/billing_info/

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
monthstring(date)false
usagesobjectfalse
usages_extraobjectfalse
Response body examples

200 Response

json
{
  "month": "2019-08-24",
  "usages": {},
  "usages_extra": {}
}

dashboarduser ​

list dashboarduser ​

GET /dashboardapi/v2/dashboarduser/

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» idstring(uuid)false
» createdstring(date-time)false
» userobjectfalse
»» emailstringfalse
» capabilitiesstringtrue
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "created": "2019-08-24T14:15:22Z",
      "user": {
        "email": "string"
      },
      "capabilities": "string"
    }
  ]
}

create dashboarduser ​

POST /dashboardapi/v2/dashboarduser/

Parameters ​

NameInTypeRequiredDescription
idbodystring(uuid)false
createdbodystring(date-time)false
userbodyobjectfalse
» emailbodystringfalse
capabilitiesbodystringtrue
Request body samples
json
{
  "capabilities": "string"
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
idstring(uuid)false
createdstring(date-time)false
userobjectfalse
» emailstringfalse
capabilitiesstringtrue
Response body examples

201 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "user": {
    "email": "string"
  },
  "capabilities": "string"
}

apiTokens dashboarduser ​

GET /dashboardapi/v2/dashboarduser/api_tokens/

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
idstring(uuid)false
createdstring(date-time)false
userobjectfalse
» emailstringfalse
capabilitiesstringtrue
Response body examples

200 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "user": {
    "email": "string"
  },
  "capabilities": "string"
}

apiTokens dashboarduser (DELETE) ​

DELETE /dashboardapi/v2/dashboarduser/api_tokens/

Responses ​

StatusMeaningDescription
204No Contentnone

retrieve dashboarduser ​

GET /dashboardapi/v2/dashboarduser/{id}/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
idstring(uuid)false
createdstring(date-time)false
userobjectfalse
» emailstringfalse
capabilitiesstringtrue
Response body examples

200 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "user": {
    "email": "string"
  },
  "capabilities": "string"
}

partialUpdate dashboarduser ​

PATCH /dashboardapi/v2/dashboarduser/{id}/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
idbodystring(uuid)false
createdbodystring(date-time)false
userbodyobjectfalse
» emailbodystringfalse
capabilitiesbodystringtrue
Request body samples
json
{
  "capabilities": "string"
}

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
idstring(uuid)false
createdstring(date-time)false
userobjectfalse
» emailstringfalse
capabilitiesstringtrue
Response body examples

200 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "user": {
    "email": "string"
  },
  "capabilities": "string"
}

exportstrategy ​

list exportstrategy ​

GET /dashboardapi/v2/exportstrategy/

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» idstring(uuid)false
» s3_paramsobjectfalse
» pub_keystringfalse
» historyobjectfalse
» frequencyintegerfalse
» next_exportstring(date-time)false
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "s3_params": {},
      "pub_key": "string",
      "history": {},
      "frequency": 0,
      "next_export": "2019-08-24T14:15:22Z"
    }
  ]
}

doExport exportstrategy ​

POST /dashboardapi/v2/exportstrategy/{id}/do_export/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
statusstring
Allowed values: "ok"
true
Response body examples

201 Response

json
{
  "status": "ok"
}

deprecationhit ​

list deprecationhit ​

GET /dashboardapi/v2/deprecationhit/

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» created_atstring(date-time)true
» last_atstring(date-time)true
» namestringtrue
» countintegertrue
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "created_at": "2019-08-24T14:15:22Z",
      "last_at": "2019-08-24T14:15:22Z",
      "name": "string",
      "count": 0
    }
  ]
}

deprecationsInfo deprecationhit ​

GET /dashboardapi/v2/deprecationhit/deprecations_info/

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
created_atstring(date-time)true
last_atstring(date-time)true
namestringtrue
countintegertrue
Response body examples

200 Response

json
{
  "created_at": "2019-08-24T14:15:22Z",
  "last_at": "2019-08-24T14:15:22Z",
  "name": "string",
  "count": 0
}

contractedteam ​

list contractedteam ​

GET /dashboardapi/v2/contractedteam/

Parameters ​

NameInTypeRequiredDescription
cursorquerystringfalseThe pagination cursor value.
pagequeryintegerfalseA page number within the paginated result set.
use_cursorquerystringfalseIf provided (usually set to true), will use a cursor pagination mechanism.🚨 Page based pagination is now deprecated.

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
countintegerfalsePage based pagination based only. Total count of results
nextstring(uri)¦nullfalsePage based pagination based only. Next page URL
previousstring(uri)¦nullfalsePage based pagination based only. Previous page URL
next_cursorstring¦nullfalseCursor based pagination based only. Cursor for next page.
previous_cursorstring¦nullfalseCursor based pagination based only. Cursor for previous page.
resultsarrayfalse
» idstring(uuid)true
» createdstring(date-time)true
» contract_type_namestringfalse
» team_idstring(uuid)true
» team_namestringtrue
» signature_initialized_atstring(date-time)true
» signature_validated_atstring(date-time)true
» stripe_initialized_atstring(date-time)true
» stripe_payment_validatedbooleantrue
» stripe_validated_atstring(date-time)true
Response body examples

200 Response

json
{
  "count": 123,
  "next": "http://api.example.org/accounts/?page=4",
  "previous": "http://api.example.org/accounts/?page=2",
  "next_cursor": "string",
  "previous_cursor": "string",
  "results": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "created": "2019-08-24T14:15:22Z",
      "contract_type_name": "string",
      "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
      "team_name": "string",
      "signature_initialized_at": "2019-08-24T14:15:22Z",
      "signature_validated_at": "2019-08-24T14:15:22Z",
      "stripe_initialized_at": "2019-08-24T14:15:22Z",
      "stripe_payment_validated": true,
      "stripe_validated_at": "2019-08-24T14:15:22Z"
    }
  ]
}

create contractedteam ​

POST /dashboardapi/v2/contractedteam/

Parameters ​

NameInTypeRequiredDescription
idbodystring(uuid)true
createdbodystring(date-time)true
contract_type_namebodystringfalse
team_idbodystring(uuid)true
team_namebodystringtrue
signature_initialized_atbodystring(date-time)true
signature_validated_atbodystring(date-time)true
stripe_initialized_atbodystring(date-time)true
stripe_payment_validatedbodybooleantrue
stripe_validated_atbodystring(date-time)true
Request body samples
json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "team_name": "string",
  "signature_initialized_at": "2019-08-24T14:15:22Z",
  "signature_validated_at": "2019-08-24T14:15:22Z",
  "stripe_initialized_at": "2019-08-24T14:15:22Z",
  "stripe_payment_validated": true,
  "stripe_validated_at": "2019-08-24T14:15:22Z"
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
idstring(uuid)true
createdstring(date-time)true
contract_type_namestringfalse
team_idstring(uuid)true
team_namestringtrue
signature_initialized_atstring(date-time)true
signature_validated_atstring(date-time)true
stripe_initialized_atstring(date-time)true
stripe_payment_validatedbooleantrue
stripe_validated_atstring(date-time)true
Response body examples

201 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "contract_type_name": "string",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "team_name": "string",
  "signature_initialized_at": "2019-08-24T14:15:22Z",
  "signature_validated_at": "2019-08-24T14:15:22Z",
  "stripe_initialized_at": "2019-08-24T14:15:22Z",
  "stripe_payment_validated": true,
  "stripe_validated_at": "2019-08-24T14:15:22Z"
}

contractTypes contractedteam ​

GET /dashboardapi/v2/contractedteam/contract_types/

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
idstring(uuid)true
createdstring(date-time)true
contract_type_namestringfalse
team_idstring(uuid)true
team_namestringtrue
signature_initialized_atstring(date-time)true
signature_validated_atstring(date-time)true
stripe_initialized_atstring(date-time)true
stripe_payment_validatedbooleantrue
stripe_validated_atstring(date-time)true
Response body examples

200 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "contract_type_name": "string",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "team_name": "string",
  "signature_initialized_at": "2019-08-24T14:15:22Z",
  "signature_validated_at": "2019-08-24T14:15:22Z",
  "stripe_initialized_at": "2019-08-24T14:15:22Z",
  "stripe_payment_validated": true,
  "stripe_validated_at": "2019-08-24T14:15:22Z"
}

getConfig contractedteam ​

GET /dashboardapi/v2/contractedteam/get_config/

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
idstring(uuid)true
createdstring(date-time)true
contract_type_namestringfalse
team_idstring(uuid)true
team_namestringtrue
signature_initialized_atstring(date-time)true
signature_validated_atstring(date-time)true
stripe_initialized_atstring(date-time)true
stripe_payment_validatedbooleantrue
stripe_validated_atstring(date-time)true
Response body examples

200 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "contract_type_name": "string",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "team_name": "string",
  "signature_initialized_at": "2019-08-24T14:15:22Z",
  "signature_validated_at": "2019-08-24T14:15:22Z",
  "stripe_initialized_at": "2019-08-24T14:15:22Z",
  "stripe_payment_validated": true,
  "stripe_validated_at": "2019-08-24T14:15:22Z"
}

retrieve contractedteam ​

GET /dashboardapi/v2/contractedteam/{id}/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
idstring(uuid)true
createdstring(date-time)true
contract_type_namestringfalse
team_idstring(uuid)true
team_namestringtrue
signature_initialized_atstring(date-time)true
signature_validated_atstring(date-time)true
stripe_initialized_atstring(date-time)true
stripe_payment_validatedbooleantrue
stripe_validated_atstring(date-time)true
Response body examples

200 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "contract_type_name": "string",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "team_name": "string",
  "signature_initialized_at": "2019-08-24T14:15:22Z",
  "signature_validated_at": "2019-08-24T14:15:22Z",
  "stripe_initialized_at": "2019-08-24T14:15:22Z",
  "stripe_payment_validated": true,
  "stripe_validated_at": "2019-08-24T14:15:22Z"
}

signatureRetrieveInfos contractedteam ​

GET /dashboardapi/v2/contractedteam/{id}/signature_retrieve_infos/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue

Responses ​

StatusMeaningDescription
200OKnone
Status Code 200 ​
NameTypeRequiredDescription
idstring(uuid)true
createdstring(date-time)true
contract_type_namestringfalse
team_idstring(uuid)true
team_namestringtrue
signature_initialized_atstring(date-time)true
signature_validated_atstring(date-time)true
stripe_initialized_atstring(date-time)true
stripe_payment_validatedbooleantrue
stripe_validated_atstring(date-time)true
Response body examples

200 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "contract_type_name": "string",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "team_name": "string",
  "signature_initialized_at": "2019-08-24T14:15:22Z",
  "signature_validated_at": "2019-08-24T14:15:22Z",
  "stripe_initialized_at": "2019-08-24T14:15:22Z",
  "stripe_payment_validated": true,
  "stripe_validated_at": "2019-08-24T14:15:22Z"
}

contractType contractedteam ​

POST /dashboardapi/v2/contractedteam/{id}/contract_type/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
idbodystring(uuid)true
createdbodystring(date-time)true
contract_type_namebodystringfalse
team_idbodystring(uuid)true
team_namebodystringtrue
signature_initialized_atbodystring(date-time)true
signature_validated_atbodystring(date-time)true
stripe_initialized_atbodystring(date-time)true
stripe_payment_validatedbodybooleantrue
stripe_validated_atbodystring(date-time)true
Request body samples
json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "team_name": "string",
  "signature_initialized_at": "2019-08-24T14:15:22Z",
  "signature_validated_at": "2019-08-24T14:15:22Z",
  "stripe_initialized_at": "2019-08-24T14:15:22Z",
  "stripe_payment_validated": true,
  "stripe_validated_at": "2019-08-24T14:15:22Z"
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
idstring(uuid)true
createdstring(date-time)true
contract_type_namestringfalse
team_idstring(uuid)true
team_namestringtrue
signature_initialized_atstring(date-time)true
signature_validated_atstring(date-time)true
stripe_initialized_atstring(date-time)true
stripe_payment_validatedbooleantrue
stripe_validated_atstring(date-time)true
Response body examples

201 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "contract_type_name": "string",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "team_name": "string",
  "signature_initialized_at": "2019-08-24T14:15:22Z",
  "signature_validated_at": "2019-08-24T14:15:22Z",
  "stripe_initialized_at": "2019-08-24T14:15:22Z",
  "stripe_payment_validated": true,
  "stripe_validated_at": "2019-08-24T14:15:22Z"
}

finish contractedteam ​

POST /dashboardapi/v2/contractedteam/{id}/finish/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
idbodystring(uuid)true
createdbodystring(date-time)true
contract_type_namebodystringfalse
team_idbodystring(uuid)true
team_namebodystringtrue
signature_initialized_atbodystring(date-time)true
signature_validated_atbodystring(date-time)true
stripe_initialized_atbodystring(date-time)true
stripe_payment_validatedbodybooleantrue
stripe_validated_atbodystring(date-time)true
Request body samples
json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "team_name": "string",
  "signature_initialized_at": "2019-08-24T14:15:22Z",
  "signature_validated_at": "2019-08-24T14:15:22Z",
  "stripe_initialized_at": "2019-08-24T14:15:22Z",
  "stripe_payment_validated": true,
  "stripe_validated_at": "2019-08-24T14:15:22Z"
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
idstring(uuid)true
createdstring(date-time)true
contract_type_namestringfalse
team_idstring(uuid)true
team_namestringtrue
signature_initialized_atstring(date-time)true
signature_validated_atstring(date-time)true
stripe_initialized_atstring(date-time)true
stripe_payment_validatedbooleantrue
stripe_validated_atstring(date-time)true
Response body examples

201 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "contract_type_name": "string",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "team_name": "string",
  "signature_initialized_at": "2019-08-24T14:15:22Z",
  "signature_validated_at": "2019-08-24T14:15:22Z",
  "stripe_initialized_at": "2019-08-24T14:15:22Z",
  "stripe_payment_validated": true,
  "stripe_validated_at": "2019-08-24T14:15:22Z"
}

signatureValidate contractedteam ​

POST /dashboardapi/v2/contractedteam/{id}/signature_validate/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
idbodystring(uuid)true
createdbodystring(date-time)true
contract_type_namebodystringfalse
team_idbodystring(uuid)true
team_namebodystringtrue
signature_initialized_atbodystring(date-time)true
signature_validated_atbodystring(date-time)true
stripe_initialized_atbodystring(date-time)true
stripe_payment_validatedbodybooleantrue
stripe_validated_atbodystring(date-time)true
Request body samples
json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "team_name": "string",
  "signature_initialized_at": "2019-08-24T14:15:22Z",
  "signature_validated_at": "2019-08-24T14:15:22Z",
  "stripe_initialized_at": "2019-08-24T14:15:22Z",
  "stripe_payment_validated": true,
  "stripe_validated_at": "2019-08-24T14:15:22Z"
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
idstring(uuid)true
createdstring(date-time)true
contract_type_namestringfalse
team_idstring(uuid)true
team_namestringtrue
signature_initialized_atstring(date-time)true
signature_validated_atstring(date-time)true
stripe_initialized_atstring(date-time)true
stripe_payment_validatedbooleantrue
stripe_validated_atstring(date-time)true
Response body examples

201 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "contract_type_name": "string",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "team_name": "string",
  "signature_initialized_at": "2019-08-24T14:15:22Z",
  "signature_validated_at": "2019-08-24T14:15:22Z",
  "stripe_initialized_at": "2019-08-24T14:15:22Z",
  "stripe_payment_validated": true,
  "stripe_validated_at": "2019-08-24T14:15:22Z"
}

stripeCheckPayment contractedteam ​

POST /dashboardapi/v2/contractedteam/{id}/stripe_check_payment/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
idbodystring(uuid)true
createdbodystring(date-time)true
contract_type_namebodystringfalse
team_idbodystring(uuid)true
team_namebodystringtrue
signature_initialized_atbodystring(date-time)true
signature_validated_atbodystring(date-time)true
stripe_initialized_atbodystring(date-time)true
stripe_payment_validatedbodybooleantrue
stripe_validated_atbodystring(date-time)true
Request body samples
json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "team_name": "string",
  "signature_initialized_at": "2019-08-24T14:15:22Z",
  "signature_validated_at": "2019-08-24T14:15:22Z",
  "stripe_initialized_at": "2019-08-24T14:15:22Z",
  "stripe_payment_validated": true,
  "stripe_validated_at": "2019-08-24T14:15:22Z"
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
idstring(uuid)true
createdstring(date-time)true
contract_type_namestringfalse
team_idstring(uuid)true
team_namestringtrue
signature_initialized_atstring(date-time)true
signature_validated_atstring(date-time)true
stripe_initialized_atstring(date-time)true
stripe_payment_validatedbooleantrue
stripe_validated_atstring(date-time)true
Response body examples

201 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "contract_type_name": "string",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "team_name": "string",
  "signature_initialized_at": "2019-08-24T14:15:22Z",
  "signature_validated_at": "2019-08-24T14:15:22Z",
  "stripe_initialized_at": "2019-08-24T14:15:22Z",
  "stripe_payment_validated": true,
  "stripe_validated_at": "2019-08-24T14:15:22Z"
}

stripeGetSession contractedteam ​

POST /dashboardapi/v2/contractedteam/{id}/stripe_get_session/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
idbodystring(uuid)true
createdbodystring(date-time)true
contract_type_namebodystringfalse
team_idbodystring(uuid)true
team_namebodystringtrue
signature_initialized_atbodystring(date-time)true
signature_validated_atbodystring(date-time)true
stripe_initialized_atbodystring(date-time)true
stripe_payment_validatedbodybooleantrue
stripe_validated_atbodystring(date-time)true
Request body samples
json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "team_name": "string",
  "signature_initialized_at": "2019-08-24T14:15:22Z",
  "signature_validated_at": "2019-08-24T14:15:22Z",
  "stripe_initialized_at": "2019-08-24T14:15:22Z",
  "stripe_payment_validated": true,
  "stripe_validated_at": "2019-08-24T14:15:22Z"
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
idstring(uuid)true
createdstring(date-time)true
contract_type_namestringfalse
team_idstring(uuid)true
team_namestringtrue
signature_initialized_atstring(date-time)true
signature_validated_atstring(date-time)true
stripe_initialized_atstring(date-time)true
stripe_payment_validatedbooleantrue
stripe_validated_atstring(date-time)true
Response body examples

201 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "contract_type_name": "string",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "team_name": "string",
  "signature_initialized_at": "2019-08-24T14:15:22Z",
  "signature_validated_at": "2019-08-24T14:15:22Z",
  "stripe_initialized_at": "2019-08-24T14:15:22Z",
  "stripe_payment_validated": true,
  "stripe_validated_at": "2019-08-24T14:15:22Z"
}

stripeInit contractedteam ​

POST /dashboardapi/v2/contractedteam/{id}/stripe_init/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
idbodystring(uuid)true
createdbodystring(date-time)true
contract_type_namebodystringfalse
team_idbodystring(uuid)true
team_namebodystringtrue
signature_initialized_atbodystring(date-time)true
signature_validated_atbodystring(date-time)true
stripe_initialized_atbodystring(date-time)true
stripe_payment_validatedbodybooleantrue
stripe_validated_atbodystring(date-time)true
Request body samples
json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "team_name": "string",
  "signature_initialized_at": "2019-08-24T14:15:22Z",
  "signature_validated_at": "2019-08-24T14:15:22Z",
  "stripe_initialized_at": "2019-08-24T14:15:22Z",
  "stripe_payment_validated": true,
  "stripe_validated_at": "2019-08-24T14:15:22Z"
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
idstring(uuid)true
createdstring(date-time)true
contract_type_namestringfalse
team_idstring(uuid)true
team_namestringtrue
signature_initialized_atstring(date-time)true
signature_validated_atstring(date-time)true
stripe_initialized_atstring(date-time)true
stripe_payment_validatedbooleantrue
stripe_validated_atstring(date-time)true
Response body examples

201 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "contract_type_name": "string",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "team_name": "string",
  "signature_initialized_at": "2019-08-24T14:15:22Z",
  "signature_validated_at": "2019-08-24T14:15:22Z",
  "stripe_initialized_at": "2019-08-24T14:15:22Z",
  "stripe_payment_validated": true,
  "stripe_validated_at": "2019-08-24T14:15:22Z"
}

stripeValidate contractedteam ​

POST /dashboardapi/v2/contractedteam/{id}/stripe_validate/

Parameters ​

NameInTypeRequiredDescription
idpathstringtrue
idbodystring(uuid)true
createdbodystring(date-time)true
contract_type_namebodystringfalse
team_idbodystring(uuid)true
team_namebodystringtrue
signature_initialized_atbodystring(date-time)true
signature_validated_atbodystring(date-time)true
stripe_initialized_atbodystring(date-time)true
stripe_payment_validatedbodybooleantrue
stripe_validated_atbodystring(date-time)true
Request body samples
json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "team_name": "string",
  "signature_initialized_at": "2019-08-24T14:15:22Z",
  "signature_validated_at": "2019-08-24T14:15:22Z",
  "stripe_initialized_at": "2019-08-24T14:15:22Z",
  "stripe_payment_validated": true,
  "stripe_validated_at": "2019-08-24T14:15:22Z"
}

Responses ​

StatusMeaningDescription
201Creatednone
Status Code 201 ​
NameTypeRequiredDescription
idstring(uuid)true
createdstring(date-time)true
contract_type_namestringfalse
team_idstring(uuid)true
team_namestringtrue
signature_initialized_atstring(date-time)true
signature_validated_atstring(date-time)true
stripe_initialized_atstring(date-time)true
stripe_payment_validatedbooleantrue
stripe_validated_atstring(date-time)true
Response body examples

201 Response

json
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created": "2019-08-24T14:15:22Z",
  "contract_type_name": "string",
  "team_id": "810007d0-bec5-486c-b5d1-28fcd8a079ba",
  "team_name": "string",
  "signature_initialized_at": "2019-08-24T14:15:22Z",
  "signature_validated_at": "2019-08-24T14:15:22Z",
  "stripe_initialized_at": "2019-08-24T14:15:22Z",
  "stripe_payment_validated": true,
  "stripe_validated_at": "2019-08-24T14:15:22Z"
}