Workspaces

Workspaces Endpoints #

Manage workspaces and permissions.

GET /v1/workspaces #

Returns user’s workspaces.

Request #

GET /api/v1/workspaces
Authorization: Bearer YOUR_JWT_TOKEN

Response #

Success Response #

Status: 200 OK

{
  "result": [
    {
      "id": "ws_123456",
      "name": "Production Monitoring",
      "role": "owner",
      "kind": "workspace"
    },
    {
      "id": "ws_789012",
      "name": "Development Environment",
      "role": "member",
      "kind": "workspace"
    }
  ],
  "error": null,
  "meta": null
}

Response Fields #

FieldTypeDescription
resultarrayArray of workspace objects
result[].idstringUnique workspace identifier
result[].namestringHuman-readable workspace name
result[].rolestringUser’s role in this workspace (owner, member)
result[].kindstringObject type identifier (workspace)
errornullAlways null for successful responses
metanullAlways null for this endpoint

User Roles #

RoleDescription
ownerFull access to workspace
memberCan manage rules within workspace

Error Responses #

1001 - Missing Authorization Header #

{
  "result": null,
  "error": {
    "code": 1001,
    "error_type": "access_denied",
    "message": "Missing Authorization header",
    "details": "Authorization header is required"
  },
  "meta": null
}

1003 - Invalid Token #

{
  "result": null,
  "error": {
    "code": 1003,
    "error_type": "access_denied",
    "message": "Invalid token",
    "details": "The provided JWT token is invalid or expired"
  },
  "meta": null
}

Example #

curl -X GET https://your-uptimer-instance.com/api/v1/workspaces \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Response:

{
  "result": [
    {
      "id": "ws_123456",
      "name": "Production Monitoring",
      "role": "owner",
      "kind": "workspace"
    }
  ],
  "error": null,
  "meta": null
}

Notes #

  • Returns only workspaces where user has membership
  • role field indicates user’s permission level
  • Workspaces are top-level organizational unit for rules