---
title: "List workspaces"
method: GET
path: "/workspaces"
tags: ["Workspaces"]
---

# List workspaces

`GET /workspaces`

Retrieve a paginated list of workspaces for the authenticated company

## Query parameters

- `page` integer
- `page_size` integer
- `name` string
- `protected` '0' | '1' | 'true' | 'false'
- `created_after` string, date-time
- `created_before` string, date-time
- `sort_by` 'name' | 'protected' | 'created_on'
- `sort_order` 'asc' | 'desc'

## Response `200`

Workspaces retrieved successfully

- WorkspaceListResponse — Paginated list of workspaces
  - `results` Workspace[], required
    - `id` string, uuid, required — Unique identifier for the workspace
    - `name` string, required — Workspace name
    - `protected` boolean — Protected workspaces cannot be deleted
    - `api_key` string, nullable — Live-mode API key for this workspace. Used for authenticating API requests scoped to this workspace.
    - `test_api_key` string, nullable — Test-mode API key for this workspace. Requests authenticated with this key do not consume credits and produce test-flagged, watermarked signing requests.
    - `created_date` string, date-time, required — Workspace creation timestamp
    - `updated_date` string, date-time — Workspace last update timestamp
    - `webhook_enabled` boolean — Whether workspace-level webhooks are enabled
    - `webhook_secret` string, nullable — Webhook signing secret for this workspace
    - `webhook_secret_rotated_at` string, date-time, nullable — Timestamp of the last webhook secret rotation
    - `webhook_secret_created_at` string, date-time, nullable — Timestamp when the webhook secret was first created
    - `ignore_company_webhooks` boolean — When true, company-level webhooks do not fire for events in this workspace
    - `icon_url` string, uri, nullable — Publicly accessible URL to the workspace logo image. Returns the workspace-specific logo, or null if not set (company logo is NOT included as fallback in this field).
  - `pagination` Pagination, required — Pagination metadata for list responses
    - `current_page` integer, required
    - `page_size` integer, required
    - `total_count` integer, required
    - `total_pages` integer, required

## Other responses

- `400` — Validation error - invalid date format or sort parameters
- `401` — Unauthorized - Invalid or missing API key
- `429` — Too Many Requests - Rate limit exceeded

---

[API](https://skmtc.dev/firma/apis/firma-partner-api.md) · [All operations](https://skmtc.dev/firma/apis/firma-partner-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/firma/firma-partner-api/revisions/5c03d6a9d080/schema)
