API Keys Overview

Manage the various API keys for a User account and Apps.

List API keys

Description

List User or App API keys.

Endpoint

  • uri - /box/srv/1.1/ide/<domain>/api/list
  • method - POST

Request Body

List keys for currently logged in user

{
  "type": "user"
}

List keys belonging to given app id

{
  "type": "app",
  "appId": "<app_instance_id>"
}

Response Body

Success

{
  "status": "ok",
  "list": [{
    "label": "<user_friendly_id>",
    "keyType": "<key_type>",
    "key": "<public_api_key>",
    "keyReference": "<reference_id>",
    // e.g. user/app id
    "secret": "<api_secret_key>",
    // only for 'admin' group
    "revoked": "<revoked_timestamp>",
    "revokedBy": "<revoked_by_ref_id>",
    // e.g. user id
    "revokedEmail": "<revoked_by_user_email>"
  },
  /* ... */]
}

Error

{
  "status": "error",
  "message": "<error_message>"
}

Create new API keys

Description

Create a new User or App API key. While users can have multiple api keys associated with them, Apps can only have one active api key at any time - when an app api key is created, any pre-existing keys for that app will be automatically revoked.

Endpoint

  • uri - /box/srv/1.1/ide/<domain>/api/create
  • method - POST

Request Body

Create API Keys for the current logged in user

{
  "type": "user",
  "label": "<user_friendly_id>"
}

Create new API keys belonging to given app id - any existing keys for this app will be automatically revoked

{
  "type": "app",
  "label": "<user_friendly_id>",
  "appId": "<app_instance_id>"
}

Success

{
  "status": "ok",
  "apiKey": {
    "label": "<user_friendly_id>",
    "keyType": "<key_type>",
    "key": "<public_api_key>",
    "keyReference": "<reference_id>",
    // e.g. user/app id
    "secret": "<api_secret_key>",
    // only for 'admin' group
    "revoked": "<revoked_timestamp>",
    "revokedBy": "<revoked_by_ref_id>",
    // e.g. user id
    "revokedEmail": "<revoked_by_user_email>"
  }
}

Error

{
  "status": "error",
  "message": "<error_message>"
}

Revoke existing API keys

Description

Revoke existing User or App API keys

Endpoint

  • uri - /box/srv/1.1/ide/<domain>/api/revoke
  • method - POST

Request Body

{
  "key": "<public_api_key>"
}

Success

{
  "status": "ok",
  "apiKey": {
    "label": "<user_friendly_id>",
    "keyType": "<key_type>",
    "key": "<public_api_key>",
    "keyReference": "<reference_id>",
    // e.g. user/app id
    "secret": "<api_secret_key>",
    // only for 'admin' group
    "revoked": "<revoked_timestamp>",
    "revokedBy": "<revoked_by_ref_id>",
    // e.g. user id
    "revokedEmail": "<revoked_by_user_email>"
  }
}

Error

{
  "status": "error",
  "message": "<error_message>"
}

Delete existing API keys

Description

Permanently delete an existing User or App API key

Endpoint

  • uri - /box/srv/1.1/ide/<domain>/api/delete
  • method - POST

Request Body

{
  "key": "<public_api_key>"
}

Success

{
  "status": "ok",
  "apiKey": {
    "label": "<user_friendly_id>",
    "keyType": "<key_type>",
    "key": "<public_api_key>",
    "keyReference": "<reference_id>",
    // e.g. user/app id
    "secret": "<api_secret_key>",
    // only for 'admin' group
    "revoked": "<revoked_timestamp>",
    "revokedBy": "<revoked_by_ref_id>",
    // e.g. user id
    "revokedEmail": "<revoked_by_user_email>"
  }
}

Error

{
  "status": "error",
  "message": "<error_message>"
}

Update an existing API Key

Description

Update an existing App or User API Key

Endpoint

  • uri - /box/srv/1.1/ide/<domain>/api/update
  • method - POST

Request Body

{
  "key": "<public_api_key>",
  "fields": {
    "label": "<new_user_friendly_id>"
  }
}

Success

{
  "status": "ok",
  "apiKey": {
    "label": "<user_friendly_id>",
    "keyType": "<key_type>",
    "key": "<public_api_key>",
    "keyReference": "<reference_id>",
    // e.g. user/app id
    "secret": "<api_secret_key>",
    // only for 'admin' group
    "revoked": "<revoked_timestamp>",
    "revokedBy": "<revoked_by_ref_id>",
    // e.g. user id
    "revokedEmail": "<revoked_by_user_email>"
  }
}

Error

{
  "status": "error",
  "message": "<error_message>"
}

Validate an API Key

Description

Check if an API key is valid

Endpoint

  • uri - /box/srv/1.1/ide/<domain>/api/validate
  • method - POST

Request Body

{
  "type": "<key_type>"
  "key": "<key_value>",
}

Success

{
  "status": "ok",
  "valid": true | false
}

Error

{
  "status": "error",
  "message": "<error_message>"
}