Skip to main content
GET
/
cases
List Cases
curl --request GET \
  --url https://connect.penbox.io/v1/cases \
  --header 'Authorization: Bearer <token>'
{
  "meta": {
    "total_count": 100,
    "total_pages": 10,
    "page_size": 10,
    "current_page": 1
  },
  "data": [
    {
      "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "title": "<string>",
      "parent_status": "draft",
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z",
      "description": "<string>",
      "locale": "<string>",
      "reference": "<string>",
      "status": "<string>",
      "waiting_for": "none",
      "archived_at": "2023-11-07T05:31:56Z",
      "contacts": [
        {
          "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "key": "<string>",
          "name": "<string>",
          "email": "[email protected]",
          "given_name": "<string>",
          "family_name": "<string>",
          "phone": "<string>"
        }
      ],
      "template": "<string>",
      "owner": {
        "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "email": "[email protected]",
        "given_name": "<string>",
        "family_name": "<string>"
      }
    }
  ]
}
Retrieve a paginated list of cases with optional filtering and sorting.
Cases are also referred to as workflows in the API. They represent structured processes with multiple steps and contacts.
Use the parent_status filter to quickly find cases in specific workflow stages, and combine with waiting_for to identify bottlenecks.

Authorizations

Authorization
string
header
required

API token (starts with pnbx_). Create at https://app.penbox.io/workspace/settings/api. Include as: Authorization: Bearer {token}

Query Parameters

template[id]
string<uuid>

Filter by template UUID

status
string

Filter by custom status

parent_status
enum<string>

Filter by parent status

Available options:
draft,
pending,
in_progress,
closed
archived
boolean
default:false

Filter by archived status

waiting_for
enum<string>

Filter by who the case is waiting for

Available options:
none,
owner,
contact
reference
string

Filter by custom reference number

owner[id]
string<uuid>

Filter by owner UUID

owner[email]
string<email>

Filter by owner email

workspace[id]
string<uuid>

Filter by workspace UUID

workspace[slug]
string

Filter by workspace slug

contact[given_name]
string

Filter by contact first name

contact[family_name]
string

Filter by contact last name

contact[email]
string<email>

Filter by contact email

filter
string

Filter using advanced JSON syntax. If specified, will ignore all other filter parameters. See the Advanced Filters guide for more information.

page[number]
integer
default:1

Page number (starts at 1)

Required range: x >= 1
page[size]
integer
default:10

Number of items per page (max: 100)

Required range: 1 <= x <= 100
sort
string
default:-created_at

Sort field (prefix with - for descending)

Response

200 - application/json

Successful response

meta
object
data
object[]