Working with Cases
Create, update, search, and fetch cases programmatically with the Casebook API
To interact with the Casebook API, your organization must be licensed for External Data Interoperability (API), included in Casebook Enterprise.
For more help with the Casebook API, get in touch with the Casebook Support team.
Introduction
In Casebook, a Case is the central record that tracks an individual, family, or organizational situation over time—bringing together people, events, services, and related documentation in one place.
This guide focuses on the most common use cases to help you quickly integrate core case management functionality into your applications.
Prerequisites
You'll need to register an incoming application and obtain a Bearer token to authorize your requests to the Casebook API
Instructions
Create a Case
Cases - POST Case can be used to create a Case in your Casebook system
POST <BASE_URL>/cases/cases
- Application Roles:
- Engage - Create (All)
- People - Create (All)
- Headers:
- Authorization:
Bearer <YOUR_BEARER_TOKEN> - Content-Type:
application/vnd.api+json
- Authorization:
- Operation:
POST - Casebook service:
/cases - Endpoint:
/cases - Body:
- All required attributes must be populated in order to successfully create a Case
- See Admin → Engage → Dynamic pages for a list of fields which have been set to required within your Casebook system
- Only the attributes included in your request will be created - you do not need to include attributes without values
- All required attributes must be populated in order to successfully create a Case
- Query parameters: N/A
Query all Cases
Cases - GET Cases can be used to retrieve a list of Cases in your Casebook system
GET <BASE_URL>/cases/cases
- Application Roles:
- Engage - View (All, Limited access, or User's assignments only)
- People - View (All or Limited access)
- Headers:
- Authorization:
Bearer <YOUR_BEARER_TOKEN> - Content-Type:
application/vnd.api+json
- Authorization:
- Operation:
GET - Casebook service:
/cases - Endpoint:
/cases - Body: N/A
- Query parameters:
- Use
filterparameters to limit the results retrieved based on any field(s) in the case record - Use
pageparameters to return results in separate pages for faster performance (10 records per page by default)
- Use
Try it
Fetch the details of a specific Case
Cases - GET Case by ID can be used to retrieve the full details of a specific Case in your Casebook system
GET <BASE_URL>/cases/cases/:id
- Application Roles:
- Engage - View (All, Limited access, or User's assignments only)
- People - View (All or Limited access)
- Headers:
- Authorization:
Bearer <YOUR_BEARER_TOKEN> - Content-Type:
application/vnd.api+json
- Authorization:
- Operation:
GET - Casebook service:
/cases - Endpoint:
/cases/:id- ID for the case you would like to fetch must be provided in the endpoint's address - If Case ID is unknown, you should first query all Cases to fetch its value
- Body: N/A
- Query parameters:
- Use
fieldsparameters to include only specific fields in the response
- Use
Try it
Update a Case
Cases - PATCH Case by ID can be used to update a Case in your Casebook system
PATCH <BASE_URL>/cases/cases/:id
- Application Roles:
- Engage - Edit (All, Limited access, or User's assignments only)
- People - Edit (All or Limited access)
- Headers:
- Authorization:
Bearer <YOUR_BEARER_TOKEN> - Content-Type:
application/vnd.api+json
- Authorization:
- Operation:
PATCH - Casebook service:
/cases - Endpoint:
/cases/:id- ID for the case you would like to update must be provided in the endpoint's address - If Case ID is unknown, you should first query all Cases to fetch its value
- Body:
- Only the attributes included in your request will be updated - you do not need to include attributes which have not changed
- Query parameters:
- Use
fieldsparameters to include only specific fields in the response
- Use
Delete a Case
Cases - DELETE Case by ID can be used to soft-delete a Case in your Casebook system
DELETE <BASE_URL>/cases/cases/:id
All Delete actions in Casebook are "soft-deletes", flagging and excluding those records from view in Casebook
Contact Casebook Support if you need to "hard-delete" or purge records-
Roles must include Engage - Delete (All or Limited access) and People - Delete (All or Limited access) policies
- Application Roles:
- Engage - Delete (All, Limited access, or User's assignments only)
- People - Delete (All or Limited access)
- Headers:
- Authorization:
Bearer <YOUR_BEARER_TOKEN> - Content-Type:
application/vnd.api+json
- Authorization:
- Operation:
PATCH - Casebook service:
/cases - Endpoint:
/cases/:id- ID for the case you would like to delete must be provided in the endpoint's address - If Case ID is unknown, you should first query all Cases to fetch its value
- Body: N/A
- Query Parameters: N/A