Authentication
All firm endpoints require an API key passed via theX-API-Key header.
Firm Object
TheFirm object represents a law firm registered in CaseXchange. Key fields returned by GET /firms/me and GET /firms/{id}:
| Field | Type | Description |
|---|---|---|
id | string (uuid) | Unique identifier for the firm |
name | string | Firm name |
phone | string | null | Phone number |
address | string | null | Street address |
city | string | null | City |
state | string | null | State |
zip | string | null | ZIP / postal code |
website | string (uri) | null | Firm website URL |
isInternal | boolean | Whether the firm is a CaseXchange-operated internal firm (most integrators can ignore this — filter to false if you only want external firms) |
createdAt | string (date-time) | When the firm record was created |
updatedAt | string (date-time) | When the firm record was last updated |
AvailableFirm Object
TheAvailableFirm object represents a firm that is available to receive referrals from your firm. It is returned by GET /firms/available and includes referral-specific metadata on top of basic firm info.
| Field | Type | Description |
|---|---|---|
id | string (uuid) | Unique identifier for the firm |
name | string | Firm name |
description | string | null | Brief description of the firm |
jurisdictions | string[] | States / jurisdictions the firm covers |
caseTypes | string[] | Resolved display names of accepted case types |
referralInstructions | string | null | Relationship-specific instructions if available, otherwise the firm’s general referral instructions |
source | string | How the firm is available to you — one of private_network, public_directory, or both |
Endpoints
| Method | Path | Description |
|---|---|---|
GET | /firms/directory | Browse all firms in the public directory |
GET | /firms/me | Retrieve your own firm profile |
GET | /firms/{id} | Retrieve a single firm by ID |
GET | /firms/available | List firms available to receive referrals from your firm |
PUT | /firms/me | Update your own firm profile |
Pagination & Filtering
List endpoints (/firms/directory, /firms/available) accept the following query parameters:
| Parameter | Default | Description |
|---|---|---|
page | 1 | Page number (1-indexed) |
limit | 20 | Results per page (max 100) |
search | — | Filter by firm name (partial match) |
Response Format
All firm endpoints return responses in the standard Public API envelope: List response (paginated):Usage Tips
- Cache firm lists to avoid hitting rate limits. Directory data changes infrequently.
- Use
GET /firms/availableto find referral partners — it combines your private network and the public directory in a single call. - Check the
sourcefield onAvailableFirmto distinguish private-network partners from public-directory firms. - Use
jurisdictionsandcaseTypeson available firms to power user-facing filters and recommended matches. - Keep your profile current with
PUT /firms/meso other firms see accurate contact information.