Developer API
Build on Not Your Lawyer
Integrate your tools with Not Your Lawyer using our REST API. Manage cases, contacts, documents, treatments, and tasks programmatically. Subscribe to real-time webhook events for instant notifications.
Plan requirement: API access is available on Professional ($1499/mo) and Enterprise ($3500/mo) plans. View plans
Authentication
All API requests require a Bearer token. Generate API keys in your dashboard under Settings > API Keys.
Authorization: Bearer nyl_live_...
API keys are scoped to specific permissions and can be revoked at any time. The raw key is shown only once on creation — store it securely.Rate Limits
Default rate limit is 60 requests per minute per API key. Custom limits up to 1,000/min are available on Enterprise plans.
Every response includes rate limit headers:
-
X-RateLimit-Limit — Maximum requests per minute
- X-RateLimit-Remaining — Requests remaining in the current window
- X-RateLimit-Reset — Unix timestamp when the window resets
When the limit is exceeded, the API returns 429 Too Many Requests.Webhooks
Subscribe to real-time events instead of polling. Configure webhook subscriptions in Settings > API Keys > Webhooks.
Each delivery includes an
X-NYL-Signature header — an HMAC-SHA256 signature of the request body using your shared secret. Always verify this signature before processing events.
Subscriptions are automatically deactivated after 10 consecutive delivery failures.Scopes
API keys are scoped to specific permissions. Only request the scopes your integration needs.
Quick Start
# List your cases
curl -H "Authorization: Bearer nyl_live_YOUR_KEY" \
https://notyourlawyer.ai/api/cases
# Create a case
curl -X POST -H "Authorization: Bearer nyl_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"clientName":"Jane Doe","clientPhone":"555-0100","accidentDate":"2026-01-15","accidentType":"MVA"}' \
https://notyourlawyer.ai/api/casesOpenAPI Specification
The full OpenAPI 3.1 specification is available at [
/api/openapi.json](/api/openapi.json). Import it into Postman, Insomnia, or any OpenAPI-compatible tool to explore endpoints and generate client SDKs.Available Scopes
cases:readcases:writecontacts:readcontacts:writedocuments:readdocuments:writetreatments:readtreatments:writetasks:readtasks:writecourt-events:readintake:writeWebhook Events
case.createdcase.updatedcase.stage_changedcontact.createdcontact.updateddocument.uploadedintake.receivedtask.createdtask.completedEndpoints
GET
/api/casesList casesPOST
/api/casesCreate a caseGET
/api/cases/{id}Get case detailsPATCH
/api/cases/{id}Update a caseGET
/api/contactsList contactsPOST
/api/contactsCreate a contactGET
/api/contacts/{id}Get contact detailsPATCH
/api/contacts/{id}Update a contactGET
/api/cases/{id}/documentsList case documentsGET
/api/cases/{id}/treatmentsList case treatmentsPOST
/api/cases/{id}/treatmentsAdd a treatmentGET
/api/tasksList tasksPOST
/api/tasksCreate a taskGET
/api/cases/{id}/court-eventsList court eventsPOST
/api/intakeSubmit an intakeNeed help integrating? Contact support