Secret Keys
Schema
An set of authorization details for various APIs
Type Object
| Name | Type | Description |
|---|---|---|
id |
String(format:uuid) | Desc. id |
inserted_at |
String(format:date-time) | An ISO8601 formatted timestamp |
name |
String(3..255) | Desc. name |
notes |
String(0..65535) | Desc. notes |
size |
Enum(16, 24, 32, 48, 64):Number |
Desc. size |
updated_at |
String(format:date-time) | An ISO8601 formatted timestamp |
usage |
Enum(NONE, SIGNING, ENCRYPTION):String |
Desc. usage |
Desc. id
A Universally unique identifier, which identifies the resource
Desc. name
A friendly name to identify the Secret Key
Desc. notes
Any notes about the Secret Key, like, what it is used for, or other sharable details.
Desc. size
The size of the key that should be created in bytes, or the size of the key in the system.
Different use cases or methods will require different length keys.
Desc. usage
What is the intended usage of the Secret Key, this will bar it from being used for other cases.
NONE is placeholder or temporary disablement state reserved for internal usage.
Only SIGNING and ENCRYPTION can be used otherwise.
Example
{
"id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
"inserted_at": "2021-08-13T04:08:44.762841Z",
"name": "My Secret Key",
"notes": "This Secret Key is used for the west datacenter's SMS notifications.",
"size": 32,
"updated_at": "2021-08-13T04:08:44.762841Z",
"usage": "SIGNING"
}
Summary
Where are my secrets?
Similar to API Keys, once a SecretKey is created, its data is returned once, all subsequent requests afterwards do not return the data.
API
Create Secret Key
Data
| Name | Type | Description |
|---|---|---|
name |
String(3..255) | Desc. name |
notes |
String(0..65535) | Desc. notes |
size |
Enum(16, 24, 32, 48, 64):Number |
Desc. size |
usage |
Enum(NONE, SIGNING, ENCRYPTION):String |
Desc. usage |
Desc. name
A friendly name to identify the Secret Key
Desc. notes
Any notes about the Secret Key, like, what it is used for, or other sharable details.
Desc. size
The size of the key that should be created in bytes, or the size of the key in the system.
Different use cases or methods will require different length keys.
Desc. usage
What is the intended usage of the Secret Key, this will bar it from being used for other cases.
NONE is placeholder or temporary disablement state reserved for internal usage.
Only SIGNING and ENCRYPTION can be used otherwise.
POST /api/v1/secret_keys HTTP/1.1
Create a new Secret Key.
Note that newly created Secret Keys will return their secrets, however all subsequent GET requests will not contain the secrets.
Request application/json
POST /api/v1/secret_keys HTTP/1.1
Accept: application/json
Content-Type: application/json
Content-Length: 196
{
"data": {
"name": "My Secret Key",
"notes": "This Secret Key is used for the west datacenter's SMS notifications.",
"size": 32,
"usage": "SIGNING"
},
"type": "secret_key"
}
Response 201
application/json
HTTP/1.1 201
Content-Type: application/json
Content-Length: 367
{
"data": {
"data": "string",
"id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
"inserted_at": "2021-08-13T04:08:44.762841Z",
"name": "My Secret Key",
"notes": "This Secret Key is used for the west datacenter's SMS notifications.",
"size": 32,
"updated_at": "2021-08-13T04:08:44.762841Z",
"usage": "SIGNING"
},
"type": "secret_key"
}
Response 403
application/json
HTTP/1.1 403
Content-Type: application/json
Content-Length: 312
{
"errors": [
{
"code": "access_denied.no_scope",
"detail": "No scope available to user role",
"params": {
"action": "index",
"level": "guest",
"resource": "resource"
},
"sub_code": "none",
"title": "Access Denied, no scope available"
}
]
}
Response 404
application/json
HTTP/1.1 404
Content-Type: application/json
Content-Length: 314
{
"errors": [
{
"code": "not_found",
"detail": "The specified resource could not be found",
"params": {
"resource": {
"id": "3fbb573a-6049-44a0-a12c-d3a1ffae0b69",
"type": "user"
}
},
"sub_code": "none",
"title": "Not Found"
}
]
}
Update Secret Key
Data
| Name | Type | Description |
|---|---|---|
active |
Boolean | Whether the Secret Key is active for use |
name |
String | A display name for the Secret Key |
notes |
String | Any notes on the Secret Key |
PATCH /api/v1/secret_keys/{id} HTTP/1.1
Update an existing Secret Key
Path Parameters
| Name | Type | Description |
|---|---|---|
| id | String(format:uuid)! | Secret Key ID |
Request application/json
PATCH /api/v1/secret_keys/{id} HTTP/1.1
Accept: application/json
Content-Type: application/json
Content-Length: 108
{
"data": {
"active": false,
"name": "string",
"notes": "string"
},
"type": "secret_key"
}
Response 200
application/json
HTTP/1.1 200
Content-Type: application/json
Content-Length: 345
{
"data": {
"id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
"inserted_at": "2021-08-13T04:08:44.762841Z",
"name": "My Secret Key",
"notes": "This Secret Key is used for the west datacenter's SMS notifications.",
"size": 32,
"updated_at": "2021-08-13T04:08:44.762841Z",
"usage": "SIGNING"
},
"type": "secret_key"
}
Response 403
application/json
HTTP/1.1 403
Content-Type: application/json
Content-Length: 312
{
"errors": [
{
"code": "access_denied.no_scope",
"detail": "No scope available to user role",
"params": {
"action": "index",
"level": "guest",
"resource": "resource"
},
"sub_code": "none",
"title": "Access Denied, no scope available"
}
]
}
Response 404
application/json
HTTP/1.1 404
Content-Type: application/json
Content-Length: 314
{
"errors": [
{
"code": "not_found",
"detail": "The specified resource could not be found",
"params": {
"resource": {
"id": "3fbb573a-6049-44a0-a12c-d3a1ffae0b69",
"type": "user"
}
},
"sub_code": "none",
"title": "Not Found"
}
]
}
Delete Secret Key
DELETE /api/v1/secret_keys/{id} HTTP/1.1
Delete an Secret Key.
Note that an Secret Key cannot be deleted if it is still associated with any Switches.
Path Parameters
| Name | Type | Description |
|---|---|---|
| id | String(format:uuid)! | Secret Key ID |
Request
DELETE /api/v1/secret_keys/{id} HTTP/1.1
Accept: application/json
Response 200
application/json
HTTP/1.1 200
Content-Type: application/json
Content-Length: 345
{
"data": {
"id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
"inserted_at": "2021-08-13T04:08:44.762841Z",
"name": "My Secret Key",
"notes": "This Secret Key is used for the west datacenter's SMS notifications.",
"size": 32,
"updated_at": "2021-08-13T04:08:44.762841Z",
"usage": "SIGNING"
},
"type": "secret_key"
}
Response 403
application/json
HTTP/1.1 403
Content-Type: application/json
Content-Length: 312
{
"errors": [
{
"code": "access_denied.no_scope",
"detail": "No scope available to user role",
"params": {
"action": "index",
"level": "guest",
"resource": "resource"
},
"sub_code": "none",
"title": "Access Denied, no scope available"
}
]
}
Response 404
application/json
HTTP/1.1 404
Content-Type: application/json
Content-Length: 314
{
"errors": [
{
"code": "not_found",
"detail": "The specified resource could not be found",
"params": {
"resource": {
"id": "3fbb573a-6049-44a0-a12c-d3a1ffae0b69",
"type": "user"
}
},
"sub_code": "none",
"title": "Not Found"
}
]
}
List Secret Keys
GET /api/v1/secret_keys HTTP/1.1
Retrieve Secret Keys allocated for this account.
Query Parameters
| Name | Type | Description |
|---|---|---|
| first | Integer | Query Desc. first |
| last | Integer | Query Desc. last |
| after | String | Query Desc. after |
| before | String | Query Desc. before |
Query Desc. first
The number of items to return starting from the 'after' cursor
Query Desc. last
The number of items to return behind the 'before' cursor
Query Desc. after
The cursor representing the starting point of a 'first' based paging
Query Desc. before
The cursor representing the starting point of a 'last' based paging
Request
GET /api/v1/secret_keys HTTP/1.1
Accept: application/json
Response 200
application/json
HTTP/1.1 200
Content-Type: application/json
Content-Length: 554
{
"count": 1,
"page_info": {
"first": "string",
"has_next_page": true,
"has_previous_page": true,
"last": "string"
},
"results": [
{
"data": {
"id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
"inserted_at": "2021-08-13T04:08:44.762841Z",
"name": "My Secret Key",
"notes": "This Secret Key is used for the west datacenter's SMS notifications.",
"size": 32,
"updated_at": "2021-08-13T04:08:44.762841Z",
"usage": "SIGNING"
},
"type": "secret_key"
}
]
}
Response 403
application/json
HTTP/1.1 403
Content-Type: application/json
Content-Length: 312
{
"errors": [
{
"code": "access_denied.no_scope",
"detail": "No scope available to user role",
"params": {
"action": "index",
"level": "guest",
"resource": "resource"
},
"sub_code": "none",
"title": "Access Denied, no scope available"
}
]
}
Get Secret Key
GET /api/v1/secret_keys/{id} HTTP/1.1
Lookup an Secret Key by its ID
Path Parameters
| Name | Type | Description |
|---|---|---|
| id | String(format:uuid)! | Secret Key ID |
Request
GET /api/v1/secret_keys/{id} HTTP/1.1
Accept: application/json
Response 200
application/json
HTTP/1.1 200
Content-Type: application/json
Content-Length: 345
{
"data": {
"id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
"inserted_at": "2021-08-13T04:08:44.762841Z",
"name": "My Secret Key",
"notes": "This Secret Key is used for the west datacenter's SMS notifications.",
"size": 32,
"updated_at": "2021-08-13T04:08:44.762841Z",
"usage": "SIGNING"
},
"type": "secret_key"
}
Response 403
application/json
HTTP/1.1 403
Content-Type: application/json
Content-Length: 312
{
"errors": [
{
"code": "access_denied.no_scope",
"detail": "No scope available to user role",
"params": {
"action": "index",
"level": "guest",
"resource": "resource"
},
"sub_code": "none",
"title": "Access Denied, no scope available"
}
]
}
Response 404
application/json
HTTP/1.1 404
Content-Type: application/json
Content-Length: 314
{
"errors": [
{
"code": "not_found",
"detail": "The specified resource could not be found",
"params": {
"resource": {
"id": "3fbb573a-6049-44a0-a12c-d3a1ffae0b69",
"type": "user"
}
},
"sub_code": "none",
"title": "Not Found"
}
]
}
Attach Secret Key to Switch as MMS Encryption Key
PUT /api/v1/switches/{switch_id}/mms_encryption_key/{id} HTTP/1.1
Attach a Secret Key to a Switch for MMS Encryption.
Path Parameters
| Name | Type | Description |
|---|---|---|
| switch_id | String(format:uuid)! | Switch ID |
| id | String(format:uuid)! | Secret Key ID |
Request application/json
PUT /api/v1/switches/{switch_id}/mms_encryption_key/{id} HTTP/1.1
Accept: application/json
Content-Type: application/json
Content-Length: 75
{
"data": {
"mms_encryption_method": "NONE"
},
"type": "switch"
}
Response 200
application/json
HTTP/1.1 200
Content-Type: application/json
Content-Length: 345
{
"data": {
"id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
"inserted_at": "2021-08-13T04:08:44.762841Z",
"name": "My Secret Key",
"notes": "This Secret Key is used for the west datacenter's SMS notifications.",
"size": 32,
"updated_at": "2021-08-13T04:08:44.762841Z",
"usage": "SIGNING"
},
"type": "secret_key"
}
Response 403
application/json
HTTP/1.1 403
Content-Type: application/json
Content-Length: 312
{
"errors": [
{
"code": "access_denied.no_scope",
"detail": "No scope available to user role",
"params": {
"action": "index",
"level": "guest",
"resource": "resource"
},
"sub_code": "none",
"title": "Access Denied, no scope available"
}
]
}
Response 404
application/json
HTTP/1.1 404
Content-Type: application/json
Content-Length: 314
{
"errors": [
{
"code": "not_found",
"detail": "The specified resource could not be found",
"params": {
"resource": {
"id": "3fbb573a-6049-44a0-a12c-d3a1ffae0b69",
"type": "user"
}
},
"sub_code": "none",
"title": "Not Found"
}
]
}
Detach MMS Encryption Key from Switch
DELETE /api/v1/switches/{switch_id}/mms_encryption_key HTTP/1.1
Detach Secret Key from Switch used for MMS Encryption.
Path Parameters
| Name | Type | Description |
|---|---|---|
| switch_id | String(format:uuid)! | Switch ID |
Request
DELETE /api/v1/switches/{switch_id}/mms_encryption_key HTTP/1.1
Accept: application/json
Response 200
application/json
HTTP/1.1 200
Content-Type: application/json
Content-Length: 345
{
"data": {
"id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
"inserted_at": "2021-08-13T04:08:44.762841Z",
"name": "My Secret Key",
"notes": "This Secret Key is used for the west datacenter's SMS notifications.",
"size": 32,
"updated_at": "2021-08-13T04:08:44.762841Z",
"usage": "SIGNING"
},
"type": "secret_key"
}
Response 403
application/json
HTTP/1.1 403
Content-Type: application/json
Content-Length: 312
{
"errors": [
{
"code": "access_denied.no_scope",
"detail": "No scope available to user role",
"params": {
"action": "index",
"level": "guest",
"resource": "resource"
},
"sub_code": "none",
"title": "Access Denied, no scope available"
}
]
}
Response 404
application/json
HTTP/1.1 404
Content-Type: application/json
Content-Length: 314
{
"errors": [
{
"code": "not_found",
"detail": "The specified resource could not be found",
"params": {
"resource": {
"id": "3fbb573a-6049-44a0-a12c-d3a1ffae0b69",
"type": "user"
}
},
"sub_code": "none",
"title": "Not Found"
}
]
}
Attach Secret Key to Switch as MMS Signing Key
PUT /api/v1/switches/{switch_id}/mms_signing_key/{id} HTTP/1.1
Attach a Secret Key to a Switch for MMS Signing.
Path Parameters
| Name | Type | Description |
|---|---|---|
| switch_id | String(format:uuid)! | Switch ID |
| id | String(format:uuid)! | Secret Key ID |
Request application/json
PUT /api/v1/switches/{switch_id}/mms_signing_key/{id} HTTP/1.1
Accept: application/json
Content-Type: application/json
Content-Length: 104
{
"data": {
"mms_signing_hash": "NONE",
"mms_signing_scheme": "NONE"
},
"type": "switch"
}
Response 200
application/json
HTTP/1.1 200
Content-Type: application/json
Content-Length: 345
{
"data": {
"id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
"inserted_at": "2021-08-13T04:08:44.762841Z",
"name": "My Secret Key",
"notes": "This Secret Key is used for the west datacenter's SMS notifications.",
"size": 32,
"updated_at": "2021-08-13T04:08:44.762841Z",
"usage": "SIGNING"
},
"type": "secret_key"
}
Response 403
application/json
HTTP/1.1 403
Content-Type: application/json
Content-Length: 312
{
"errors": [
{
"code": "access_denied.no_scope",
"detail": "No scope available to user role",
"params": {
"action": "index",
"level": "guest",
"resource": "resource"
},
"sub_code": "none",
"title": "Access Denied, no scope available"
}
]
}
Response 404
application/json
HTTP/1.1 404
Content-Type: application/json
Content-Length: 314
{
"errors": [
{
"code": "not_found",
"detail": "The specified resource could not be found",
"params": {
"resource": {
"id": "3fbb573a-6049-44a0-a12c-d3a1ffae0b69",
"type": "user"
}
},
"sub_code": "none",
"title": "Not Found"
}
]
}
Detach MMS Signing Key from Switch
DELETE /api/v1/switches/{switch_id}/mms_signing_key HTTP/1.1
Detach Secret Key from Switch used for MMS Signing.
Path Parameters
| Name | Type | Description |
|---|---|---|
| switch_id | String(format:uuid)! | Switch ID |
Request
DELETE /api/v1/switches/{switch_id}/mms_signing_key HTTP/1.1
Accept: application/json
Response 200
application/json
HTTP/1.1 200
Content-Type: application/json
Content-Length: 345
{
"data": {
"id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
"inserted_at": "2021-08-13T04:08:44.762841Z",
"name": "My Secret Key",
"notes": "This Secret Key is used for the west datacenter's SMS notifications.",
"size": 32,
"updated_at": "2021-08-13T04:08:44.762841Z",
"usage": "SIGNING"
},
"type": "secret_key"
}
Response 403
application/json
HTTP/1.1 403
Content-Type: application/json
Content-Length: 312
{
"errors": [
{
"code": "access_denied.no_scope",
"detail": "No scope available to user role",
"params": {
"action": "index",
"level": "guest",
"resource": "resource"
},
"sub_code": "none",
"title": "Access Denied, no scope available"
}
]
}
Response 404
application/json
HTTP/1.1 404
Content-Type: application/json
Content-Length: 314
{
"errors": [
{
"code": "not_found",
"detail": "The specified resource could not be found",
"params": {
"resource": {
"id": "3fbb573a-6049-44a0-a12c-d3a1ffae0b69",
"type": "user"
}
},
"sub_code": "none",
"title": "Not Found"
}
]
}
Attach Secret Key to Switch as SMS Encryption Key
PUT /api/v1/switches/{switch_id}/sms_encryption_key/{id} HTTP/1.1
Attach a Secret Key to a Switch for SMS Encryption.
Path Parameters
| Name | Type | Description |
|---|---|---|
| switch_id | String(format:uuid)! | Switch ID |
| id | String(format:uuid)! | Secret Key ID |
Request application/json
PUT /api/v1/switches/{switch_id}/sms_encryption_key/{id} HTTP/1.1
Accept: application/json
Content-Type: application/json
Content-Length: 75
{
"data": {
"sms_encryption_method": "NONE"
},
"type": "switch"
}
Response 200
application/json
HTTP/1.1 200
Content-Type: application/json
Content-Length: 345
{
"data": {
"id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
"inserted_at": "2021-08-13T04:08:44.762841Z",
"name": "My Secret Key",
"notes": "This Secret Key is used for the west datacenter's SMS notifications.",
"size": 32,
"updated_at": "2021-08-13T04:08:44.762841Z",
"usage": "SIGNING"
},
"type": "secret_key"
}
Response 403
application/json
HTTP/1.1 403
Content-Type: application/json
Content-Length: 312
{
"errors": [
{
"code": "access_denied.no_scope",
"detail": "No scope available to user role",
"params": {
"action": "index",
"level": "guest",
"resource": "resource"
},
"sub_code": "none",
"title": "Access Denied, no scope available"
}
]
}
Response 404
application/json
HTTP/1.1 404
Content-Type: application/json
Content-Length: 314
{
"errors": [
{
"code": "not_found",
"detail": "The specified resource could not be found",
"params": {
"resource": {
"id": "3fbb573a-6049-44a0-a12c-d3a1ffae0b69",
"type": "user"
}
},
"sub_code": "none",
"title": "Not Found"
}
]
}
Detach SMS Encryption Key from Switch
DELETE /api/v1/switches/{switch_id}/sms_encryption_key HTTP/1.1
Detach Secret Key from Switch used for SMS Encryption.
Path Parameters
| Name | Type | Description |
|---|---|---|
| switch_id | String(format:uuid)! | Switch ID |
Request
DELETE /api/v1/switches/{switch_id}/sms_encryption_key HTTP/1.1
Accept: application/json
Response 200
application/json
HTTP/1.1 200
Content-Type: application/json
Content-Length: 345
{
"data": {
"id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
"inserted_at": "2021-08-13T04:08:44.762841Z",
"name": "My Secret Key",
"notes": "This Secret Key is used for the west datacenter's SMS notifications.",
"size": 32,
"updated_at": "2021-08-13T04:08:44.762841Z",
"usage": "SIGNING"
},
"type": "secret_key"
}
Response 403
application/json
HTTP/1.1 403
Content-Type: application/json
Content-Length: 312
{
"errors": [
{
"code": "access_denied.no_scope",
"detail": "No scope available to user role",
"params": {
"action": "index",
"level": "guest",
"resource": "resource"
},
"sub_code": "none",
"title": "Access Denied, no scope available"
}
]
}
Response 404
application/json
HTTP/1.1 404
Content-Type: application/json
Content-Length: 314
{
"errors": [
{
"code": "not_found",
"detail": "The specified resource could not be found",
"params": {
"resource": {
"id": "3fbb573a-6049-44a0-a12c-d3a1ffae0b69",
"type": "user"
}
},
"sub_code": "none",
"title": "Not Found"
}
]
}
Attach Secret Key to Switch as SMS Signing Key
PUT /api/v1/switches/{switch_id}/sms_signing_key/{id} HTTP/1.1
Attach a Secret Key to a Switch for SMS Signing.
Path Parameters
| Name | Type | Description |
|---|---|---|
| switch_id | String(format:uuid)! | Switch ID |
| id | String(format:uuid)! | Secret Key ID |
Request application/json
PUT /api/v1/switches/{switch_id}/sms_signing_key/{id} HTTP/1.1
Accept: application/json
Content-Type: application/json
Content-Length: 104
{
"data": {
"sms_signing_hash": "NONE",
"sms_signing_scheme": "NONE"
},
"type": "switch"
}
Response 200
application/json
HTTP/1.1 200
Content-Type: application/json
Content-Length: 345
{
"data": {
"id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
"inserted_at": "2021-08-13T04:08:44.762841Z",
"name": "My Secret Key",
"notes": "This Secret Key is used for the west datacenter's SMS notifications.",
"size": 32,
"updated_at": "2021-08-13T04:08:44.762841Z",
"usage": "SIGNING"
},
"type": "secret_key"
}
Response 403
application/json
HTTP/1.1 403
Content-Type: application/json
Content-Length: 312
{
"errors": [
{
"code": "access_denied.no_scope",
"detail": "No scope available to user role",
"params": {
"action": "index",
"level": "guest",
"resource": "resource"
},
"sub_code": "none",
"title": "Access Denied, no scope available"
}
]
}
Response 404
application/json
HTTP/1.1 404
Content-Type: application/json
Content-Length: 314
{
"errors": [
{
"code": "not_found",
"detail": "The specified resource could not be found",
"params": {
"resource": {
"id": "3fbb573a-6049-44a0-a12c-d3a1ffae0b69",
"type": "user"
}
},
"sub_code": "none",
"title": "Not Found"
}
]
}
Detach SMS Signing Key from Switch
DELETE /api/v1/switches/{switch_id}/sms_signing_key HTTP/1.1
Detach Secret Key from Switch used for SMS Signing.
Path Parameters
| Name | Type | Description |
|---|---|---|
| switch_id | String(format:uuid)! | Switch ID |
Request
DELETE /api/v1/switches/{switch_id}/sms_signing_key HTTP/1.1
Accept: application/json
Response 200
application/json
HTTP/1.1 200
Content-Type: application/json
Content-Length: 345
{
"data": {
"id": "c6be45e4-b7dd-412c-96c4-777e83fb9c48",
"inserted_at": "2021-08-13T04:08:44.762841Z",
"name": "My Secret Key",
"notes": "This Secret Key is used for the west datacenter's SMS notifications.",
"size": 32,
"updated_at": "2021-08-13T04:08:44.762841Z",
"usage": "SIGNING"
},
"type": "secret_key"
}
Response 403
application/json
HTTP/1.1 403
Content-Type: application/json
Content-Length: 312
{
"errors": [
{
"code": "access_denied.no_scope",
"detail": "No scope available to user role",
"params": {
"action": "index",
"level": "guest",
"resource": "resource"
},
"sub_code": "none",
"title": "Access Denied, no scope available"
}
]
}
Response 404
application/json
HTTP/1.1 404
Content-Type: application/json
Content-Length: 314
{
"errors": [
{
"code": "not_found",
"detail": "The specified resource could not be found",
"params": {
"resource": {
"id": "3fbb573a-6049-44a0-a12c-d3a1ffae0b69",
"type": "user"
}
},
"sub_code": "none",
"title": "Not Found"
}
]
}