Management API - Apps

Overview

This API allows you to manage applications within a workspace. All endpoints require API key authentication. You can create an API key in the API Keys section on the Dashboard. (Company > API Keys)

Authentication

All endpoints require an API key to be provided in the request headers.

X-Api-Key: your_api_key_here

Endpoints

List Apps

Retrieves a paginated list of applications in a workspace.

GET https://dashboard.bitlabs.ai/api/public/v1/workspaces/{workspaceUuid}/apps

URL Parameters

ParameterTypeDescription
workspaceUuidstringUUID of the workspace

Query Parameters

ParameterTypeDescription
pagenumberPage number
per_pagenumberNumber of items per page (default: 100)

Response

[
  [
    {
      "uuid": "PtOwyJHpO7GBKfd1QFCqU",
      "iconImageUrl": null,
      "createdAt": "2020-11-18T19:31:39.000Z",
      "updatedAt": "2025-07-10T10:03:51.000Z"
    },
    {
      "uuid": "-UkFSUzACT3D-3LEj_GWf",
      "iconImageUrl": null,
      "createdAt": "2021-04-29T11:38:53.000Z",
      "updatedAt": "2024-01-24T06:06:20.000Z"
    }
  ]
]

Pagination

The response includes pagination headers to navigate through the list of applications. Use the X-Total-Count header to determine the total number of applications and the Link header for first, prev, next and last page URLs. The Link header will only include the links that are relevant to the current page.

// Response Headers:

// Total number of applications
X-Total-Count: 4
// Pagination links
Link: <https://dashboard.bitlabs.ai/api/public/v1/workspaces/BI4cZjjpnsEQF_2gCBV9e/apps?page=2&per_page=2>; rel="next", <https://dashboard.bitlabs.ai/api/public/v1/workspaces/BI4cZjjpnsEQF_2gCBV9e/apps?page=2&per_page=2>; rel="last"

Create App

Creates a new application in the workspace.

POST https://dashboard.bitlabs.ai/api/public/v1/workspaces/{workspaceUuid}/apps

URL Parameters

ParameterTypeDescription
workspaceUuidstringUUID of the workspace

Request Body

{
  "name": "foo"
}

Validation Requirements

FieldTypeRequiredDescription
namestringYesName of the app

Response

{
  "uuid": "AfQFbSyBckKV9PDK2Ybr9"
}

Error Responses

  • 403 - App limit reached

Get App

Retrieves detailed information about a specific application.

GET https://dashboard.bitlabs.ai/api/public/v1/workspaces/{workspaceUuid}/apps/{appUuid}

URL Parameters

ParameterTypeDescription
workspaceUuidstringUUID of the workspace
appUuidstringUUID of the application

Response

{
  "uuid": "PtOwyJHpO7GBKfd1QFCqU",
  "iconImageUrl": null,
  "createdAt": "2020-11-18T19:31:39.000Z",
  "updatedAt": "2025-07-10T10:03:51.000Z",
  "config": [
    {
      "internalIdentifier": "general.name",
      "value": "foo"
    }
  ]
}

Update App Configuration

Updates configuration settings for an application.

PATCH https://dashboard.bitlabs.ai/api/public/v1/workspaces/{workspaceUuid}/apps/{appUuid}

URL Parameters

ParameterTypeDescription
workspaceUuidstringUUID of the workspace
appUuidstringUUID of the application

Request Body

[
  {
    "internalIdentifier": "general.name",
    "value": "bar"
  }
]

Validation Requirements

The request body must be an array of configuration objects. Each configuration object must include:

FieldTypeRequiredDescription
internalIdentifierstringYesInternal identifier for the configuration setting
valuestring | int | float | boolean | nullYesConfiguration value. Can be either a primitive value or an array of given primitives. It has to comply with our internal validation rules which are defined per configuration item.

List of internalIdentifiers

IdentifierValuesDescription
general.nameStringThe name of the app.
general.linkStringLink to the platform.
app.behaviour.default_tabTAB_SURVEYS, TAB_OFFERS, TAB_GAMING, TAB_MAGIC_RECEIPTS, TAB_CASHBACKThe default tab.
app.features.offers.enabledBooleanEnable Games & Offers.
app.features.offers.show_offers_tabBooleanShow the offers tab on the offerwall.
app.features.offers.show_gaming_tabBooleanShow the games tab on the offerwall.
app.features.surveys.enabledBooleanEnable Surveys.
app.features.magic_receipts.enabledBooleanEnable Magic Receipts.
app.features.cashback.enabledBooleanEnable Cashback.
general.currency.symbol.is_imageBooleanAllow image URL to be used for currency icon.
general.currency.symbol.contentStringCurrency content. Either a image URL or a currency name, e.g. {value} Points.
general.currency.factorFloatThe currency factor that will be multiplied with the USD value. Define how much 1 USD is worth in your currency.
general.currency.floor_decimalBooleanWhen true, the rewards will be floored.
app.visual.hide_reward_valueBooleanHides the rewards on the offerwall.

Response

null

Error Responses

  • 403 - Identifier not allowed

Delete App

Permanently deletes an application from the workspace.

DELETE https://dashboard.bitlabs.ai/api/public/v1/workspaces/{workspaceUuid}/apps/{appUuid}

URL Parameters

ParameterTypeDescription
workspaceUuidstringUUID of the workspace
appUuidstringUUID of the application

Response

null

Error Handling

All endpoints may return the following error responses:

  • 401 - Unauthorized (invalid API key)
  • 403 - Forbidden (insufficient permissions)
  • 404 - Not Found (resource doesn't exist)
  • 422 - Unprocessable Entity (validation errors)
  • 500 - Internal Server Error

Error responses include a message and may include additional data for debugging.