Signal API
Workspace as MarkdownUse a clean Markdown version of this page with an agent or local tooling.

Workspace

Read and update your workspace and manage immutable project and location packages.

The Bearer API key selects the workspace automatically. Package configuration cannot be updated after creation; clone a package to create a new package with different settings. Archived packages cannot be restored.
GET
/workspace

Returns the workspace selected by the Bearer API key.

Response

Response envelope

workspace:Workspace

The requested or updated workspace.

Object

Workspace

iduuid

Workspace identifier.

namestring

Workspace display name.

descriptionstring | null

Workspace description.

logo_urlstring | null

Absolute URL of the workspace logo, when one is configured.

statusactive | suspended | archived

Current workspace lifecycle status.

created_atdatetime

Workspace creation time.

updated_atdatetime

Most recent workspace update time.

Request and response

Example requestcURL
curl --request GET \
  --url 'https://api.signal.ceyo.ai/v1/workspace' \
  --header 'Authorization: Bearer ceyo_platform_...'
Example responseJSON
{
  "workspace": {
    "id": "87661f5e-5931-4535-9889-22192f943d27",
    "name": "Northstar Digital",
    "description": "AI visibility programs for customer brands.",
    "logo_url": "https://api.ceyo.ai/media/logos/opaque-logo-token",
    "status": "active",
    "created_at": "2026-01-12T09:30:00Z",
    "updated_at": "2026-07-30T14:20:00Z"
  }
}
ErrorsResponse format and status codes
Errors

Error response envelope

errorError

Structured error payload.

Errors

Error

codestring

Stable snake_case code suitable for programmatic handling.

messagestring

Human-readable explanation of the failure.

detailsobject | array | null

Structured validation or request context when available.

request_idstring

Identifier to provide when requesting support.

Example error responseJSON
{
  "error": {
    "code": "invalid_api_key",
    "message": "The Bearer API key is invalid.",
    "details": null,
    "request_id": "req_01K1F8M7QX4R2V9N6Y3Z0A5BCT"
  }
}
Errors

Status codes

401invalid_api_key

The Bearer API key was not provided or is invalid.

403forbidden

The API key cannot perform this operation.

429rate_limit_exceeded

Too many requests were made.

PATCH
/workspace

Updates only the supplied workspace fields. Omitted fields remain unchanged.

Request

Request body

namestring

New workspace display name. Maximum: 200 characters.

descriptionstring | null

New description. Maximum: 5,000 characters; use null to clear it.

JSON onlySupply only the fields you want to change. Workspace logos are not accepted by this operation.
Response

Response envelope

workspace:Workspace

The requested or updated workspace.

Object

Workspace

iduuid

Workspace identifier.

namestring

Workspace display name.

descriptionstring | null

Workspace description.

logo_urlstring | null

Absolute URL of the workspace logo, when one is configured.

statusactive | suspended | archived

Current workspace lifecycle status.

created_atdatetime

Workspace creation time.

updated_atdatetime

Most recent workspace update time.

Request and response

Example requestcURL
curl --request PATCH \
  --url 'https://api.signal.ceyo.ai/v1/workspace' \
  --header 'Authorization: Bearer ceyo_platform_...' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "Northstar Digital",
  "description": "AI visibility programs for customer brands."
}'
Example responseJSON
{
  "workspace": {
    "id": "87661f5e-5931-4535-9889-22192f943d27",
    "name": "Northstar Digital",
    "description": "AI visibility programs for customer brands.",
    "logo_url": "https://api.ceyo.ai/media/logos/opaque-logo-token",
    "status": "active",
    "created_at": "2026-01-12T09:30:00Z",
    "updated_at": "2026-07-30T14:20:00Z"
  }
}
ErrorsResponse format and status codes
Errors

Error response envelope

errorError

Structured error payload.

Errors

Error

codestring

Stable snake_case code suitable for programmatic handling.

messagestring

Human-readable explanation of the failure.

detailsobject | array | null

Structured validation or request context when available.

request_idstring

Identifier to provide when requesting support.

Example error responseJSON
{
  "error": {
    "code": "invalid_api_key",
    "message": "The Bearer API key is invalid.",
    "details": null,
    "request_id": "req_01K1F8M7QX4R2V9N6Y3Z0A5BCT"
  }
}
Errors

Status codes

400invalid_request

The JSON body or a query parameter is malformed.

401invalid_api_key

The Bearer API key was not provided or is invalid.

403forbidden

The API key cannot perform this operation.

422validation_failed

One or more request fields are invalid.

429rate_limit_exceeded

Too many requests were made.