The Juicebox API can be used for generating urls to embed apps in your webpage.
The maximum pagination size is limited by object. Apps are limited to page sizes of 100, other objects will return 10000 objects. If the number of available objects exceeds the limit, the list will be paginated. Response headers will contain the following values.
X-Count The total number of objects available.
X-PageThe current page number
X-PageSize The number of objects on each page.
X-Next A link to fetch the next page of data. This will be "None" when on the last page of data.
X-Previous A link to fetch the previous page of data. This will be "None" when on the first page of data.
List Access Views
Token-based authentication with required prefix "Token"
List Access Views
Token-based authentication with required prefix "Token"
Can this access key be used
The number of times this access key CAN BE used. 0=unlimited uses
The number of times this access key HAS BEEN used
The app this key is granting access to
Get an Access View
Token-based authentication with required prefix "Token"
^\w+$Modify an Access View
Token-based authentication with required prefix "Token"
^\w+$Can this access key be used
The number of times this access key CAN BE used. 0=unlimited uses
The number of times this access key HAS BEEN used
The app this key is granting access to
Deleting an access view will set the is_active flag to False.
Token-based authentication with required prefix "Token"
^\w+$The access view has been set to inactive.
The access view has been set to inactive.
No content
Modify an Access View
Token-based authentication with required prefix "Token"
^\w+$Can this access key be used
The number of times this access key CAN BE used. 0=unlimited uses
The number of times this access key HAS BEEN used
The app this key is granting access to
List Access Views
Token-based authentication with required prefix "Token"
^\w+$For backward compatibility with some client's integrations that have hardcoded 200, we remap status 201 to 200.
Serializer class used to validate a username and password.
'username' is identified by the custom UserModel.USERNAME_FIELD.
Returns a JSON Web Token that can be used to authenticate later calls.
Get a list of apps, new apps are created using the Juicebox editor.
Token-based authentication with required prefix "Token"
Allow deleting redis cache for any app that the requesting user can modify.
Token-based authentication with required prefix "Token"
^\w+(:\w+)?$No response body
No response body
No content
{
"created": "2025-12-14T02:23:22.046Z",
"modified": "2025-12-14T02:23:22.046Z",
"key": "text",
"is_active": true,
"allowed_uses_cnt": 1,
"usages_cnt": 1,
"expires_at": "2025-12-14T02:23:22.046Z",
"data_permissions": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"selections": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"show_header": true,
"language_code": "text",
"app": "text"
}{
"created": "2025-12-14T02:23:22.046Z",
"modified": "2025-12-14T02:23:22.046Z",
"key": "text",
"is_active": true,
"allowed_uses_cnt": 1,
"usages_cnt": 1,
"expires_at": "2025-12-14T02:23:22.046Z",
"data_permissions": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"selections": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"show_header": true,
"language_code": "text",
"app": "text"
}{
"created": "2025-12-14T02:23:22.046Z",
"modified": "2025-12-14T02:23:22.046Z",
"key": "text",
"is_active": true,
"allowed_uses_cnt": 1,
"usages_cnt": 1,
"expires_at": "2025-12-14T02:23:22.046Z",
"data_permissions": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"selections": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"show_header": true,
"language_code": "text",
"app": "text"
}GET /api/v1/access_views/ HTTP/1.1
Host:
Authorization: YOUR_API_KEY
Accept: */*
[
{
"created": "2025-12-14T02:23:22.046Z",
"modified": "2025-12-14T02:23:22.046Z",
"key": "text",
"is_active": true,
"allowed_uses_cnt": 1,
"usages_cnt": 1,
"expires_at": "2025-12-14T02:23:22.046Z",
"data_permissions": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"selections": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"show_header": true,
"language_code": "text",
"app": "text"
}
]POST /api/v1/access_views/ HTTP/1.1
Host:
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 244
{
"is_active": true,
"allowed_uses_cnt": 1,
"expires_at": "2025-12-14T02:23:22.046Z",
"data_permissions": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"selections": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"show_header": true,
"language_code": "text",
"app": "text"
}GET /api/v1/access_views/{key}/ HTTP/1.1
Host:
Authorization: YOUR_API_KEY
Accept: */*
{
"created": "2025-12-14T02:23:22.046Z",
"modified": "2025-12-14T02:23:22.046Z",
"key": "text",
"is_active": true,
"allowed_uses_cnt": 1,
"usages_cnt": 1,
"expires_at": "2025-12-14T02:23:22.046Z",
"data_permissions": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"selections": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"show_header": true,
"language_code": "text",
"app": "text"
}PUT /api/v1/access_views/{key}/ HTTP/1.1
Host:
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 244
{
"is_active": true,
"allowed_uses_cnt": 1,
"expires_at": "2025-12-14T02:23:22.046Z",
"data_permissions": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"selections": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"show_header": true,
"language_code": "text",
"app": "text"
}DELETE /api/v1/access_views/{key}/ HTTP/1.1
Host:
Authorization: YOUR_API_KEY
Accept: */*
PATCH /api/v1/access_views/{key}/ HTTP/1.1
Host:
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 244
{
"is_active": true,
"allowed_uses_cnt": 1,
"expires_at": "2025-12-14T02:23:22.046Z",
"data_permissions": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"selections": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"show_header": true,
"language_code": "text",
"app": "text"
}GET /api/v1/access_views/{key}/usage/ HTTP/1.1
Host:
Authorization: YOUR_API_KEY
Accept: */*
[
{
"data_permissions": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"selections": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"app_slug": "text",
"show_header": true,
"language_code": "text",
"timestamp": "2025-12-14T02:23:22.046Z"
}
]POST /api/v1/jb/api-token-auth/ HTTP/1.1
Host:
Content-Type: application/json
Accept: */*
Content-Length: 34
{
"password": "text",
"email": "text"
}GET /api/v1/jb/apps/ HTTP/1.1
Host:
Authorization: YOUR_API_KEY
Accept: */*
[
{
"client_id": "text",
"created_at": "2025-12-14T02:23:22.046Z",
"description": "text",
"footer_html": "text",
"help_html": "text",
"id": "text",
"in_maintenance": true,
"invitation_body": "text",
"invitation_subject": "text",
"label": "text",
"maintenance_message": "text",
"metadata": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"package_info": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"raw_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"show_footer": true,
"show_help": true,
"slug": "text",
"usage": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"users": [
1
]
}
]{
"token": "text"
}DELETE /api/v1/jb/apps/{id}/clear_cache/ HTTP/1.1
Host:
Authorization: YOUR_API_KEY
Accept: */*