evictionsapi-com Landlords API

The Landlords API from evictionsapi-com — 6 operation(s) for landlords.

Operations 8

GET /v1/landlords The owners the organization acts for, by name, each with how many of its cases… #
POST /v1/landlords Save an owner the organization acts for. `ownerOfRecord` defaults to the name. #
GET /v1/landlords/{id} One landlord, archived or not, with its current management agreement. #
PATCH /v1/landlords/{id} Change a landlord, archived or not: only the fields given change; `contact` is… #
POST /v1/landlords/{id}/archive Archive a landlord: its cases and charges stay, and it can no longer be chosen… #
POST /v1/landlords/{id}/unarchive Unarchive a landlord, so it can be chosen for a new case again. #
POST /v1/landlords/{id}/documents Upload the landlord's management agreement: a PDF, JPEG or PNG of at most 10… #
GET /v1/landlords/{id}/documents/{docId} Download one of the landlord's files. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/evictionsapi-com:evictionsapi-com-landlords-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

evictionsapi-com-landlords-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Evictionsapi Com Landlords API
  version: 0.0.0
  contact:
    email: hello@evictionsapi.com
  description: 'Operations tagged Landlords across 3 of this provider''s published API definitions: api.evictionsapi.com.json, evictionsapi-com-api-evictions-openapi.json, evictionsapi-com-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.evictionsapi.com
tags:
- name: Landlords
paths:
  /v1/landlords:
    get:
      summary: The owners the organization acts for, by name, each with how many of its cases…
      security:
      - ApiKey: []
      - SessionToken: []
      parameters:
      - name: includeArchived
        in: query
        required: false
        schema:
          type: string
          enum:
          - 'true'
          - 'false'
      responses:
        '200':
          description: The landlords.
          content:
            application/json:
              schema:
                type: object
                required:
                - items
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Landlord'
        '400':
          description: The request is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: The credential is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: 'The credential is not allowed to do this (`forbidden`). For a signed-in session: `permission_denied`, the person''s role in the organization lacks the permission this needs (ask an owner); `no_organization`, the person belongs to no organization yet (start one with `POST /v1/me/organizations` or accept an invitation).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: 'The request conflicts with the current state: for a case, it is not in a state that allows this, or its details were erased (`erased`); for an API key, a limit or the key in use.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: The case did not pass a check.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Landlords
      operationId: getV1Landlords
      x-operation-id-source: derived
    post:
      summary: Save an owner the organization acts for. `ownerOfRecord` defaults to the name.
      security:
      - ApiKey: []
      - SessionToken: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 200
                isEntity:
                  type: boolean
                plaintiffType:
                  anyOf:
                  - type: string
                    enum:
                    - individual
                    - corporation
                    - llc
                    - partnership
                    - trust
                    - estate
                    - other
                  - type: 'null'
                ownerOfRecord:
                  type: string
                  minLength: 1
                  maxLength: 200
                contact:
                  type: object
                  properties:
                    address:
                      type: string
                      minLength: 1
                      maxLength: 500
                    phone:
                      type: string
                      minLength: 1
                      maxLength: 40
                    email:
                      type: string
                      maxLength: 254
                      format: email
                      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,}$
                  required:
                  - address
                  - phone
                  additionalProperties: false
                notes:
                  type: string
                  maxLength: 1000
              required:
              - name
              - isEntity
              - contact
              additionalProperties: false
      responses:
        '201':
          description: The landlord.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Landlord'
        '400':
          description: The request is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: The credential is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: 'The credential is not allowed to do this (`forbidden`). For a signed-in session: `permission_denied`, the person''s role in the organization lacks the permission this needs (ask an owner); `no_organization`, the person belongs to no organization yet (start one with `POST /v1/me/organizations` or accept an invitation).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: 'The request conflicts with the current state: for a case, it is not in a state that allows this, or its details were erased (`erased`); for an API key, a limit or the key in use.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: The case did not pass a check.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Landlords
      operationId: postV1Landlords
      x-operation-id-source: derived
    servers:
    - url: https://api.evictionsapi.com
  /v1/landlords/{id}:
    get:
      summary: One landlord, archived or not, with its current management agreement.
      security:
      - ApiKey: []
      - SessionToken: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The landlord, and its management agreement or null.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/Landlord'
                - type: object
                  required:
                  - agreement
                  properties:
                    agreement:
                      oneOf:
                      - $ref: '#/components/schemas/LandlordDocument'
                      - type: 'null'
        '400':
          description: The request is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: The credential is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: 'The credential is not allowed to do this (`forbidden`). For a signed-in session: `permission_denied`, the person''s role in the organization lacks the permission this needs (ask an owner); `no_organization`, the person belongs to no organization yet (start one with `POST /v1/me/organizations` or accept an invitation).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: 'The request conflicts with the current state: for a case, it is not in a state that allows this, or its details were erased (`erased`); for an API key, a limit or the key in use.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: The case did not pass a check.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Landlords
      operationId: getV1LandlordsById
      x-operation-id-source: derived
    patch:
      summary: 'Change a landlord, archived or not: only the fields given change; `contact` is…'
      security:
      - ApiKey: []
      - SessionToken: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 200
                isEntity:
                  type: boolean
                plaintiffType:
                  anyOf:
                  - type: string
                    enum:
                    - individual
                    - corporation
                    - llc
                    - partnership
                    - trust
                    - estate
                    - other
                  - type: 'null'
                ownerOfRecord:
                  type: string
                  minLength: 1
                  maxLength: 200
                contact:
                  type: object
                  properties:
                    address:
                      type: string
                      minLength: 1
                      maxLength: 500
                    phone:
                      type: string
                      minLength: 1
                      maxLength: 40
                    email:
                      type: string
                      maxLength: 254
                      format: email
                      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,}$
                  required:
                  - address
                  - phone
                  additionalProperties: false
                notes:
                  anyOf:
                  - type: string
                    maxLength: 1000
                  - type: 'null'
              additionalProperties: false
      responses:
        '200':
          description: The landlord as it now is.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Landlord'
        '400':
          description: The request is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: The credential is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: 'The credential is not allowed to do this (`forbidden`). For a signed-in session: `permission_denied`, the person''s role in the organization lacks the permission this needs (ask an owner); `no_organization`, the person belongs to no organization yet (start one with `POST /v1/me/organizations` or accept an invitation).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: 'The request conflicts with the current state: for a case, it is not in a state that allows this, or its details were erased (`erased`); for an API key, a limit or the key in use.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: The case did not pass a check.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Landlords
      operationId: patchV1LandlordsById
      x-operation-id-source: derived
    servers:
    - url: https://api.evictionsapi.com
  /v1/landlords/{id}/archive:
    post:
      summary: 'Archive a landlord: its cases and charges stay, and it can no longer be chosen…'
      security:
      - ApiKey: []
      - SessionToken: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The landlord.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Landlord'
        '400':
          description: The request is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: The credential is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: 'The credential is not allowed to do this (`forbidden`). For a signed-in session: `permission_denied`, the person''s role in the organization lacks the permission this needs (ask an owner); `no_organization`, the person belongs to no organization yet (start one with `POST /v1/me/organizations` or accept an invitation).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: 'The request conflicts with the current state: for a case, it is not in a state that allows this, or its details were erased (`erased`); for an API key, a limit or the key in use.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: The case did not pass a check.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Landlords
      operationId: postV1LandlordsByIdArchive
      x-operation-id-source: derived
    servers:
    - url: https://api.evictionsapi.com
  /v1/landlords/{id}/unarchive:
    post:
      summary: Unarchive a landlord, so it can be chosen for a new case again.
      security:
      - ApiKey: []
      - SessionToken: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The landlord.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Landlord'
        '400':
          description: The request is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: The credential is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: 'The credential is not allowed to do this (`forbidden`). For a signed-in session: `permission_denied`, the person''s role in the organization lacks the permission this needs (ask an owner); `no_organization`, the person belongs to no organization yet (start one with `POST /v1/me/organizations` or accept an invitation).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: 'The request conflicts with the current state: for a case, it is not in a state that allows this, or its details were erased (`erased`); for an API key, a limit or the key in use.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: The case did not pass a check.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Landlords
      operationId: postV1LandlordsByIdUnarchive
      x-operation-id-source: derived
    servers:
    - url: https://api.evictionsapi.com
  /v1/landlords/{id}/documents:
    post:
      summary: 'Upload the landlord''s management agreement: a PDF, JPEG or PNG of at most 10…'
      security:
      - ApiKey: []
      - SessionToken: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                filename:
                  type: string
                  minLength: 1
                  maxLength: 255
                contentBase64:
                  type: string
                  minLength: 1
                purpose:
                  type: string
                  const: management_agreement
              required:
              - filename
              - contentBase64
              additionalProperties: false
      responses:
        '201':
          description: The stored agreement.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LandlordDocument'
        '400':
          description: The request is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: The credential is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: 'The credential is not allowed to do this (`forbidden`). For a signed-in session: `permission_denied`, the person''s role in the organization lacks the permission this needs (ask an owner); `no_organization`, the person belongs to no organization yet (start one with `POST /v1/me/organizations` or accept an invitation).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: 'The request conflicts with the current state: for a case, it is not in a state that allows this, or its details were erased (`erased`); for an API key, a limit or the key in use.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: The case did not pass a check.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Landlords
      operationId: postV1LandlordsByIdDocuments
      x-operation-id-source: derived
    servers:
    - url: https://api.evictionsapi.com
  /v1/landlords/{id}/documents/{docId}:
    get:
      summary: Download one of the landlord's files.
      security:
      - ApiKey: []
      - SessionToken: []
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      - name: docId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The file's bytes, with the stored `Content-Type` (`application/pdf`, `image/jpeg` or `image/png`), as an attachment.
          content:
            application/pdf:
              schema:
                type: string
                format: binary
        '400':
          description: The request is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: The credential is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: 'The credential is not allowed to do this (`forbidden`). For a signed-in session: `permission_denied`, the person''s role in the organization lacks the permission this needs (ask an owner); `no_organization`, the person belongs to no organization yet (start one with `POST /v1/me/organizations` or accept an invitation).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: 'The request conflicts with the current state: for a case, it is not in a state that allows this, or its details were erased (`erased`); for an API key, a limit or the key in use.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: The case did not pass a check.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Landlords
      operationId: getV1LandlordsByIdDocumentsByDocId
      x-operation-id-source: derived
    servers:
    - url: https://api.evictionsapi.com
components:
  schemas:
    LandlordDocument:
      type: object
      description: A landlord's management agreement, without its contents. A PDF, JPEG or PNG, decided from the file's first bytes.
      required:
      - id
      - filename
      - contentType
      - uploadedAt
      properties:
        id:
          type: string
        filename:
          type: string
        contentType:
          enum:
          - application/pdf
          - image/jpeg
          - image/png
        uploadedAt:
          type: string
          format: date-time
    Landlord:
      type: object
      description: 'An owner the organization acts for, as a property manager: a profile reused across cases, never an account. It belongs to the organization, whatever the mode, and only live cases take one: a live key and a signed-in person see it, a test key never does. An archived landlord keeps its cases and is hidden from `GET /v1/landlords` unless `includeArchived=true`. At most 1,000 per organization, archived ones included.'
      required:
      - id
      - name
      - isEntity
      - plaintiffType
      - ownerOfRecord
      - contact
      - notes
      - archived
      - caseCount
      - createdAt
      - updatedAt
      properties:
        id:
          type: string
        name:
          type: string
        isEntity:
          type: boolean
          description: A company, trust or other entity rather than a person.
        plaintiffType:
          enum:
          - individual
          - corporation
          - llc
          - partnership
          - trust
          - estate
          - other
          - null
          description: The legal type of the plaintiff, as the full service asks it; null when not given.
        ownerOfRecord:
          type: string
          description: The owner of record of the properties; the name unless given.
        contact:
          type: object
          required:
          - address
          - phone
          - email
          properties:
            address:
              type: string
            phone:
              type: string
            email:
              type:
              - string
              - 'null'
              format: email
        notes:
          type:
          - string
          - 'null'
          description: The organization's own notes; never on a court document.
        archived:
          type: boolean
        caseCount:
          type: integer
          description: How many of the organization's cases in the key's mode name this landlord.
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    Error:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - code
          - message
          - details
          properties:
            code:
              type: string
            message:
              type: string
            details: {}
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      description: An organization API key (`eak_test_...` or `eak_live_...`).
    SessionToken:
      type: http
      scheme: bearer
      description: 'A session token (`ess_...`) from `POST /v1/auth/signup` or `/v1/auth/login`, valid for 30 days. On the case, webhook, API key and organization routes it acts for the organization the session is in (`POST /v1/me/organization` switches it) in the mode named by the `X-Evictions-Mode` header: `test` (the default) or `live`.'
    AttorneyToken:
      type: http
      scheme: bearer
      description: A user token (`eut_...`) of a verified attorney.
externalDocs:
  url: https://evictionsapi.com/docs
x-refined-from:
- api.evictionsapi.com.json
- evictionsapi-com-api-evictions-openapi.json
- evictionsapi-com-openapi.json