Skip to content
  • There are no suggestions because the search field is empty.

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
  • 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
  • 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
  • Operation: GET
  • Casebook service: /cases
  • Endpoint: /cases
  • Body: N/A
  • Query parameters:
    • Use filter parameters to limit the results retrieved based on any field(s) in the case record
    • Use page parameters to return results in separate pages for faster performance (10 records per page by default)
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
  • 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 fields parameters to include only specific fields in the response
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
  • 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 fields parameters to include only specific fields in the response

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
  • 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