GET /v1/health
Liveness check
Authentication: none
Responses
| Status | Meaning | Body |
|---|---|---|
| 200 | The service is up. | { ok: boolean } |
Example
curl https://api.evictionsapi.com/v1/healthNo credential. Health, the OpenAPI document, the endpoint behind the website’s forms, and account sign-up and sign-in.
The examples use https://api.evictionsapi.com and placeholder keys. Conventions shared by all endpoints (errors, idempotency, pagination) are in the API reference.
What is available todayYou can start a real eviction case with Evictions API for a rental property in any US state or DC. After you submit a case, we engage a licensed attorney in the property’s state for it and confirm by email. Nothing is served on a tenant or filed in court until that attorney has reviewed the case.The full statement
/v1/healthLiveness check
Authentication: none
| Status | Meaning | Body |
|---|---|---|
| 200 | The service is up. | { ok: boolean } |
curl https://api.evictionsapi.com/v1/health/v1/openapi.jsonThis OpenAPI document
Authentication: none
| Status | Meaning | Body |
|---|---|---|
| 200 | The OpenAPI 3.1 document. | object |
curl https://api.evictionsapi.com/v1/openapi.json/v1/auth/signupCreate an account: an unverified customer organization, its owner and a session. No credential; the website calls this from its servers
Authentication: none
JSON. Fields not listed are rejected.
| Name | Type | Required | Description |
|---|---|---|---|
name | string | Yes | 1 to 120 characters. |
organizationName | string | Yes | 1 to 120 characters. |
email | string | Yes | Format: email. Up to 254 characters. Pattern ^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$. |
password | string | Yes | 10 to 200 characters. |
| Status | Meaning | Body |
|---|---|---|
| 201 | The new session, user and organization. An `Idempotency-Key` header is ignored. | { token: string, user: object, organization: object, modes: object } |
| 400 | The request is invalid. | Error |
| 401 | Sign-in only: the email or password is incorrect (one fixed answer for both). | Error |
| 409 | Sign-up only: an account with that email already exists (`email_taken`). | Error |
| 413 | The request body is too large. | Error |
| 429 | Too many sign-up and sign-in attempts from this address: at most 10 every 10 minutes. Sign-in only: also after 5 wrong passwords for one account within 15 minutes, until the oldest of them is 15 minutes old, whatever password is sent; a successful sign-in clears the count. `Retry-After` gives the seconds to wait. | Error |
| 503 | `busy`: too many password checks are waiting. Nothing was created or changed. `Retry-After: 5` gives the seconds to wait; try again. | Error |
curl -X POST https://api.evictionsapi.com/v1/auth/signup \
-H "Content-Type: application/json" \
-d '{
"name": "Pat Landlord",
"organizationName": "Acme Property",
"email": "pat@example.com",
"password": "a long passphrase, not this one"
}'/v1/auth/loginSign in with email and password. A wrong email and a wrong password get the identical `invalid_credentials` answer
Authentication: none
JSON. Fields not listed are rejected.
| Name | Type | Required | Description |
|---|---|---|---|
email | string | Yes | 1 to 254 characters. |
password | string | Yes | 1 to 200 characters. |
| Status | Meaning | Body |
|---|---|---|
| 200 | A new session, with the user and organization. An `Idempotency-Key` header is ignored. | { token: string, user: object, organization: object, modes: object } |
| 400 | The request is invalid. | Error |
| 401 | Sign-in only: the email or password is incorrect (one fixed answer for both). | Error |
| 409 | Sign-up only: an account with that email already exists (`email_taken`). | Error |
| 413 | The request body is too large. | Error |
| 429 | Too many sign-up and sign-in attempts from this address: at most 10 every 10 minutes. Sign-in only: also after 5 wrong passwords for one account within 15 minutes, until the oldest of them is 15 minutes old, whatever password is sent; a successful sign-in clears the count. `Retry-After` gives the seconds to wait. | Error |
| 503 | `busy`: too many password checks are waiting. Nothing was created or changed. `Retry-After: 5` gives the seconds to wait; try again. | Error |
curl -X POST https://api.evictionsapi.com/v1/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "pat@example.com",
"password": "a long passphrase, not this one"
}'/v1/public/leadsSend a website request: access, a partner-attorney application, or a message. No credential; browser calls are allowed from the website origin only
Authentication: none
JSON. The body is one of these shapes. Fields not listed are rejected.
When kind is "access_request"
| Name | Type | Required | Description |
|---|---|---|---|
kind | string | Yes | Always "access_request". |
name | string | Yes | 1 to 120 characters. |
email | string | Yes | Format: email. Up to 254 characters. Pattern ^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$. |
company | string | No | 1 to 200 characters. |
role | string | No | One of: "property_manager", "landlord", "developer", "attorney", "other". |
states | array of string | No | 1 to 51 items. |
message | string | No | 1 to 4000 characters. |
contact_url | string | No | Honeypot: leave empty. A request with this field filled in is acknowledged and discarded. Up to 0 characters. |
When kind is "attorney_application"
| Name | Type | Required | Description |
|---|---|---|---|
kind | string | Yes | Always "attorney_application". |
name | string | Yes | 1 to 120 characters. |
email | string | Yes | Format: email. Up to 254 characters. Pattern ^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$. |
company | string | No | 1 to 200 characters. |
states | array of string | Yes | 1 to 51 items. |
barNumber | string | Yes | 1 to 60 characters. |
message | string | No | 1 to 4000 characters. |
contact_url | string | No | Honeypot: leave empty. A request with this field filled in is acknowledged and discarded. Up to 0 characters. |
When kind is "contact"
| Name | Type | Required | Description |
|---|---|---|---|
kind | string | Yes | Always "contact". |
name | string | Yes | 1 to 120 characters. |
email | string | Yes | Format: email. Up to 254 characters. Pattern ^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$. |
message | string | Yes | 1 to 4000 characters. |
contact_url | string | No | Honeypot: leave empty. A request with this field filled in is acknowledged and discarded. Up to 0 characters. |
| Status | Meaning | Body |
|---|---|---|
| 202 | The request was received. A request with the `contact_url` honeypot field filled in gets the same answer and is discarded. | { received: boolean } |
| 400 | The request is invalid. | Error |
| 413 | The request body is too large. | Error |
| 429 | Too many requests from this address: at most 5 every 10 minutes. `Retry-After` gives the seconds to wait. | Error |
curl -X POST https://api.evictionsapi.com/v1/public/leads \
-H "Content-Type: application/json" \
-d '{
"kind": "access_request",
"name": "Pat Landlord",
"email": "pat@example.com",
"role": "landlord",
"states": ["FL"]
}'