All pages
Powered by GitBook
1 of 1

Loading...

Juicebox API

The Juicebox API can be used for generating urls to embed apps in your webpage.

Handling Pagination

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.

get

List Access Views

Authorizations
AuthorizationstringRequired

Token-based authentication with required prefix "Token"

Responses
200Success
application/json
get
/api/v1/access_views/
200Success
post

List Access Views

Authorizations
AuthorizationstringRequired

Token-based authentication with required prefix "Token"

Body
createdstring · date-timeRead-onlyRequired
modifiedstring · date-timeRead-onlyRequired
keystringRead-onlyRequired
is_activebooleanOptional

Can this access key be used

allowed_uses_cntinteger · min: -2147483648 · max: 2147483647Optional

The number of times this access key CAN BE used. 0=unlimited uses

usages_cntintegerRead-onlyRequired

The number of times this access key HAS BEEN used

expires_atstring · date-time | nullableOptional
show_headerbooleanOptional
language_codestring · max: 2Optional
appstringRequired

The app this key is granting access to

Responses
201Success
application/json
post
/api/v1/access_views/
get

Get an Access View

Authorizations
AuthorizationstringRequired

Token-based authentication with required prefix "Token"

Path parameters
keystringRequiredPattern: ^\w+$
Responses
200Success
application/json
get
/api/v1/access_views/{key}/
200Success
put

Modify an Access View

Authorizations
AuthorizationstringRequired

Token-based authentication with required prefix "Token"

Path parameters
keystringRequiredPattern: ^\w+$
Body
createdstring · date-timeRead-onlyRequired
modifiedstring · date-timeRead-onlyRequired
keystringRead-onlyRequired
is_activebooleanOptional

Can this access key be used

allowed_uses_cntinteger · min: -2147483648 · max: 2147483647Optional

The number of times this access key CAN BE used. 0=unlimited uses

usages_cntintegerRead-onlyRequired

The number of times this access key HAS BEEN used

expires_atstring · date-time | nullableOptional
show_headerbooleanOptional
language_codestring · max: 2Optional
appstringRequired

The app this key is granting access to

Responses
200Success
application/json
put
/api/v1/access_views/{key}/
delete

Deleting an access view will set the is_active flag to False.

Authorizations
AuthorizationstringRequired

Token-based authentication with required prefix "Token"

Path parameters
keystringRequiredPattern: ^\w+$
Responses
204

The access view has been set to inactive.

delete
/api/v1/access_views/{key}/
204

The access view has been set to inactive.

No content

patch

Modify an Access View

Authorizations
AuthorizationstringRequired

Token-based authentication with required prefix "Token"

Path parameters
keystringRequiredPattern: ^\w+$
Body
createdstring · date-timeRead-onlyOptional
modifiedstring · date-timeRead-onlyOptional
keystringRead-onlyOptional
is_activebooleanOptional

Can this access key be used

allowed_uses_cntinteger · min: -2147483648 · max: 2147483647Optional

The number of times this access key CAN BE used. 0=unlimited uses

usages_cntintegerRead-onlyOptional

The number of times this access key HAS BEEN used

expires_atstring · date-time | nullableOptional
show_headerbooleanOptional
language_codestring · max: 2Optional
appstringOptional

The app this key is granting access to

Responses
200Success
application/json
patch
/api/v1/access_views/{key}/
get

List Access Views

Authorizations
AuthorizationstringRequired

Token-based authentication with required prefix "Token"

Path parameters
keystringRequiredPattern: ^\w+$
Responses
200Success
application/json
get
/api/v1/access_views/{key}/usage/
200Success
post

For backward compatibility with some client's integrations that have hardcoded 200, we remap status 201 to 200.

Body

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.

passwordstringWrite-onlyRequired
tokenstringRead-onlyRequired
emailstringWrite-onlyRequired
Responses
200Success
application/json
post
/api/v1/jb/api-token-auth/
200Success
get

Get a list of apps, new apps are created using the Juicebox editor.

Authorizations
AuthorizationstringRequired

Token-based authentication with required prefix "Token"

Responses
200Success
application/json
get
/api/v1/jb/apps/
200Success
delete

Allow deleting redis cache for any app that the requesting user can modify.

Authorizations
AuthorizationstringRequired

Token-based authentication with required prefix "Token"

Path parameters
idstringRequiredPattern: ^\w+(:\w+)?$
Responses
204

No response body

delete
/api/v1/jb/apps/{id}/clear_cache/
201Success
200Success
200Success
204

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: */*