Admin

Projects administration and image uploads.

MethodPathSummary
GET/v1/app/project/images/:idFetch a project image (icon/banner/comment attachment) by id
GET/v1/app/project/admin/overviewTenant-wide project stats overview (for BRM-Admin)
GET/v1/app/project/admin/projectsList every project in the tenant (for BRM-Admin)
PATCH/v1/app/project/admin/projects/:idArchive or reactivate any project in the tenant (for BRM-Admin)

#Fetch a project image (icon/banner/comment attachment) by id

GET/v1/app/project/images/:id

Fetch a project image (icon/banner/comment attachment) by id. Public endpoint, no authentication required — used directly as an <img> src. Registered before the license gate so it is never covered by it.

Address
https://<your-org>.brambleit.cloud/api/v1/app/project/images/:id
Requires
None: public, or protected by a token in the address or body.

Path parameters

NameTypeDescription
idrequiredinteger

Response

A body.

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/app/project/images/42' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Tenant-wide project stats overview (for BRM-Admin)

GET/v1/app/project/admin/overview

Tenant-wide project stats overview (for BRM-Admin). Requires the GLOBAL_ADMIN role (not project membership).

Address
https://<your-org>.brambleit.cloud/api/v1/app/project/admin/overview
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Projects.
Role: GLOBAL_ADMIN.

Response 200

FieldTypeDescription
project_countinteger
member_countinteger
open_tasksarray of any
Example response
JSON
{
  "project_count": 3,
  "member_count": 3,
  "open_tasks": []
}

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/app/project/admin/overview' \
  -H "X-API-Key: $BRAMBLE_KEY"

#List every project in the tenant (for BRM-Admin)

GET/v1/app/project/admin/projects

List every project in the tenant (for BRM-Admin). Requires the GLOBAL_ADMIN role (not project membership).

Address
https://<your-org>.brambleit.cloud/api/v1/app/project/admin/projects
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Projects.
Role: GLOBAL_ADMIN.

Response 200

FieldTypeDescription
projectsarray of object
projects[].idinteger
projects[].tenant_idinteger
projects[].client_idinteger, or null
projects[].namestring
projects[].slugstring
projects[].public_idstring
projects[].descriptionstring, or null
projects[].colorstring, or null
projects[].icon_image_idinteger, or null
projects[].banner_image_idinteger, or null
projects[].statusstring: "active" | "archived"
projects[].created_byinteger
projects[].created_atstring (date-time)
projects[].updated_atstring (date-time)
projects[].archived_atstring (date-time), or null
projects[].member_countboolean
projects[].task_countboolean
Example response
JSON
{
  "projects": [
    {
      "id": 42,
      "tenant_id": 1,
      "client_id": 7,
      "name": "Example name",
      "slug": "example",
      "public_id": "string",
      "description": "string",
      "color": "#2563eb",
      "icon_image_id": 7,
      "banner_image_id": 7,
      "status": "active",
      "created_by": 1,
      "created_at": "2026-11-12T09:30:00.000Z",
      "updated_at": "2026-11-12T09:30:00.000Z",
      "archived_at": "2026-11-12T09:30:00.000Z",
      "member_count": false,
      "task_count": false
    }
  ]
}

Example request

Bash
curl -X GET 'https://<your-org>.brambleit.cloud/api/v1/app/project/admin/projects' \
  -H "X-API-Key: $BRAMBLE_KEY"

#Archive or reactivate any project in the tenant (for BRM-Admin)

PATCH/v1/app/project/admin/projects/:id

Archive or reactivate any project in the tenant (for BRM-Admin). Requires the GLOBAL_ADMIN role (not project membership).

Address
https://<your-org>.brambleit.cloud/api/v1/app/project/admin/projects/:id
Requires
Signed-in session, X-API-Key, or a Bramble app access token (Authorization: Bearer).
Licence: Projects.
Role: GLOBAL_ADMIN.

Path parameters

NameTypeDescription
idrequiredinteger

Request body JSON

NameTypeDescription
statusstring: "active" | "archived"

Response 200

FieldTypeDescription
okboolean
Example response
JSON
{
  "ok": true
}

Errors

StatusMessage
400Invalid status

Example request

Bash
curl -X PATCH 'https://<your-org>.brambleit.cloud/api/v1/app/project/admin/projects/42' \
  -H "X-API-Key: $BRAMBLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status":"active"}'