Case Management
Case Notes
The Case Notes API allows you to retrieve case notes and records from your organisation's case management system. Case notes are used to document interactions, progress, and important information about members.
List Case Notes
Retrieve a paginated list of case notes with optional filtering.
Endpoint
GET /api/v1/case-notes
Query Parameters
Pagination:
limit(number, default: 100, max: 250) - Maximum number of notes to returnoffset(number, default: 0) - Number of notes to skip for pagination
Filtering:
caseId(string) - Filter by case IDCreator(string) - Filter by creator user IDPinned(boolean) - Filter by pinned statusPrivate(boolean) - Filter by privacy status
Response
{
"caseNotes": [
{
"noteId": "note_abc123",
"managedBy": "org123",
"caseId": "case_xyz789",
"creator": "user_456",
"updatedBy": "user_456",
"date": "2025-01-20T10:30:00.000Z",
"created": "2025-01-20T10:30:00.000Z",
"updated": "2025-01-20T11:15:00.000Z",
"content": "Met with client to discuss progress on housing application. They have completed the required documentation and we submitted the application together. Follow-up scheduled for next week.",
"linkedEntities": {
"memberIds": ["member_123"],
"partnerIds": ["partner_456"],
"volunteerIds": []
},
"tags": ["housing", "application", "progress"],
"isPrivate": false,
"isPinned": true,
"documentIds": ["doc_001", "doc_002"]
}
],
"offset": 0,
"limit": 100,
"total": 128
}
Example Requests
List all case notes:
curl -X GET "https://app.plinth.org.uk/api/v1/case-notes" \
-H "x-api-key: sk_your_api_key"
Filter by case ID:
curl -X GET "https://app.plinth.org.uk/api/v1/case-notes?caseId=case_xyz789" \
-H "x-api-key: sk_your_api_key"
Get pinned notes only:
curl -X GET "https://app.plinth.org.uk/api/v1/case-notes?Pinned=true" \
-H "x-api-key: sk_your_api_key"
Filter by creator:
curl -X GET "https://app.plinth.org.uk/api/v1/case-notes?Creator=user_456" \
-H "x-api-key: sk_your_api_key"
Exclude private notes:
curl -X GET "https://app.plinth.org.uk/api/v1/case-notes?Private=false" \
-H "x-api-key: sk_your_api_key"
Response Fields
Case Note Object
| Field | Type | Description |
|---|---|---|
noteId | string | Unique identifier for the note |
managedBy | string | Organisation ID that manages this note |
caseId | string | ID of the case this note belongs to |
creator | string | User ID of the person who created the note |
updatedBy | string/null | User ID of the person who last updated the note |
date | string | Note date (ISO 8601) |
created | string | Creation timestamp (ISO 8601) |
updated | string/null | Last update timestamp (ISO 8601) |
content | string | The note content/text |
linkedEntities | object | Associated members, partners, and volunteers |
tags | array | Tags associated with this note |
isPrivate | boolean | Whether the note is marked as private |
isPinned | boolean | Whether the note is pinned |
documentIds | array | IDs of attached documents |
Linked Entities Object
| Field | Type | Description |
|---|---|---|
memberIds | array | IDs of members linked to this note |
partnerIds | array | IDs of partners linked to this note |
volunteerIds | array | IDs of volunteers linked to this note |
Use Cases
Building a Case Timeline
To build a complete timeline for a case, fetch all notes for that case and sort by date:
curl -X GET "https://app.plinth.org.uk/api/v1/case-notes?caseId=case_xyz789&limit=250" \
-H "x-api-key: sk_your_api_key"
Finding Key Notes
Use the Pinned filter to find important notes that have been flagged:
curl -X GET "https://app.plinth.org.uk/api/v1/case-notes?caseId=case_xyz789&Pinned=true" \
-H "x-api-key: sk_your_api_key"
Privacy Considerations
Notes marked as isPrivate: true contain sensitive information. Ensure your application handles these appropriately based on user permissions.
Error Responses
| Status | Description |
|---|---|
| 400 | Bad Request - Invalid parameters |
| 401 | Unauthorized - Invalid or missing API key |
| 500 | Internal Server Error |
