📁 Cases API

Manage legal cases in your firm. Cases are the central entity that links contacts, time entries, deadlines, documents, and invoices.

Case Object

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "caseNumber": "2026/001",
  "title": "Smith v. Jones",
  "description": "Personal injury claim",
  "status": "active",
  "caseType": "litigation",
  "court": "Brussels Court of First Instance",
  "assignedUserId": "user-id-here",
  "firmId": "firm-id-here",
  "createdAt": "2026-01-15T10:30:00Z",
  "updatedAt": "2026-01-15T14:22:00Z"
}

Case Fields

FieldTypeDescription
idstringUnique identifier (UUID)
caseNumberstringYour internal case reference
titlestringCase title/name
descriptionstringDetailed description
statusstringactive, pending, closed, archived
caseTypestringlitigation, advisory, corporate, etc.
courtstringCourt handling the case
assignedUserIdstringID of assigned team member

List Cases

GET /api/cases

Query Parameters

ParameterTypeDescription
statusstringFilter by status (active, pending, closed)

Example Request

curl -X GET "https://cloud.praxislegal.be/api/cases?status=active" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response

{
  "success": true,
  "data": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "caseNumber": "2026/001",
      "title": "Smith v. Jones",
      "status": "active",
      ...
    },
    ...
  ]
}

Get Case

GET /api/cases/{id}

Example Request

curl -X GET "https://cloud.praxislegal.be/api/cases/550e8400-e29b-41d4-a716-446655440000" \
  -H "Authorization: Bearer YOUR_TOKEN"

Create Case

POST /api/cases

Request Body

{
  "caseNumber": "2026/002",
  "title": "New Corporation Setup",
  "description": "Setting up BV for client",
  "status": "active",
  "caseType": "corporate"
}

Response

{
  "success": true,
  "data": {
    "id": "newly-generated-uuid",
    "caseNumber": "2026/002",
    "title": "New Corporation Setup",
    ...
  }
}

Update Case

PUT /api/cases/{id}

Request Body

{
  "caseNumber": "2026/002",
  "title": "Updated Title",
  "description": "Updated description",
  "status": "closed",
  "caseType": "corporate",
  "court": null,
  "assignedUserId": "user-id"
}

Delete Case

DELETE /api/cases/{id}

Response

{
  "success": true
}

Get Case Statistics

GET /api/cases/stats

Returns aggregated statistics about your cases.

Response

{
  "total": 45,
  "active": 28,
  "pending": 7,
  "closed": 10
}

← Back to API Overview