DoorLoop Vendors API

The Vendors API from DoorLoop — 2 operation(s) for vendors.

Operations 5

GET /vendors List all Vendors #
POST /vendors Create a Vendor #
GET /vendors/{vendorId} Retrieve a Vendor #
PUT /vendors/{vendorId} Update a Vendor #
DELETE /vendors/{vendorId} Delete a Vendor #

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/doorloop:doorloop-vendors-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

doorloop-vendors-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DoorLoop API Reference Vendors API
  version: '1.0'
  summary: This is the DoorLoop API
  description: It does some pretty cool stuff and gives you complete access to DoorLoop's data
  license:
    name: Terms and Conditions
    url: https://www.doorloop.com/legal/terms
  contact:
    name: DoorLoop Inc.
    url: www.doorloop.com
    email: support@doorloop.com
  termsOfService: https://www.doorloop.com/legal/terms
servers:
- url: https://app.doorloop.com/api
  description: Production
tags:
- name: Vendors
paths:
  /vendors:
    get:
      summary: List all Vendors
      tags:
      - Vendors
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  total:
                    type: number
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/vendor'
      operationId: get-vendors
      description: Lists all Vendors
      security:
      - Key: []
      parameters:
      - schema:
          type: string
        in: query
        name: filter_property
        description: Filter by Property Id
      - schema:
          type: boolean
        in: query
        name: filter_active
        description: Filter by Active/Inactive
      - schema:
          type: string
        in: query
        name: filter_insurance_expires_before
        description: 'Format: YYYY-MM-DD'
      - schema:
          type: boolean
        in: query
        name: filter_openBalance
        description: If true, will return only vendors with an open balance
      - schema:
          type: string
        in: query
        name: filter_createdAt_from
        description: 'Format: YYYY-MM-DD'
      - schema:
          type: string
        in: query
        name: filter_createdAt_to
        description: 'Format: YYYY-MM-DD'
    post:
      summary: Create a Vendor
      operationId: post-vendor
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/vendor'
        '400':
          description: Bad Request
      tags:
      - Vendors
      description: Creates a Vendor
      security:
      - Key: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/vendor'
  /vendors/{vendorId}:
    parameters:
    - schema:
        type: string
      name: vendorId
      in: path
      required: true
    get:
      summary: Retrieve a Vendor
      tags:
      - Vendors
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/vendor'
        '400':
          description: Bad Request
        '404':
          description: Not Found
      operationId: get-vendor
      security:
      - Key: []
      description: Retrieves a Vendor
    put:
      summary: Update a Vendor
      operationId: put-vendor
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/vendor'
        '400':
          description: Bad Request
        '404':
          description: Not Found
      tags:
      - Vendors
      description: Updates a Vendor
      security:
      - Key: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/vendor'
    delete:
      summary: Delete a Vendor
      operationId: delete-vendor
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/vendor'
        '400':
          description: Bad Request
        '404':
          description: Not Found
      tags:
      - Vendors
      description: Deletes a Vendor
      security:
      - Key: []
components:
  schemas:
    phone:
      title: phone
      x-stoplight:
        id: 9kqyepto63cpi
      type: object
      properties:
        type:
          type: string
          enum:
          - Home
          - Work
          - Mobile
          - Fax
          - Other
        number:
          type: string
          maxLength: 50
      required:
      - type
      - number
    vendor:
      allOf:
      - $ref: '#/components/schemas/person'
      - type: object
        properties:
          active:
            type: boolean
          balance:
            type: number
            description: Read Only
          properties:
            type: array
            description: References the properties served by this vendor
            items:
              $ref: '#/components/schemas/mongoId'
          insuranceInfo:
            $ref: '#/components/schemas/insuranceInfo'
          federalTaxInfo:
            $ref: '#/components/schemas/federalTaxInfo'
        required:
        - active
    mongoId:
      type: string
      title: mongoId
      x-stoplight:
        id: 40j7qlmpihfdj
      pattern: /^[a-f\d]{24}$/i
      examples:
      - 507f191e810c19729de860ea
      example: 00000020f51bb4362eee2a4d
    insuranceInfo:
      title: insuranceInfo
      x-stoplight:
        id: 0u3re29llsdch
      type: object
      properties:
        provider:
          type: string
          maxLength: 200
        policyNumber:
          type: string
          maxLength: 200
        coverage:
          type: number
          minimum: 0
        effectiveDate:
          type: string
          description: 'Format: YYYY-MM-DD. Must be before expirationDate.'
        expirationDate:
          type: string
          description: 'Format: YYYY-MM-DD. Must be after effectiveDate.'
      required:
      - provider
      - policyNumber
      - coverage
      - effectiveDate
      - expirationDate
    email:
      title: email
      x-stoplight:
        id: 33vnq3pmvuy4l
      type: object
      properties:
        type:
          type: string
          enum:
          - Primary
          - Secondary
          - Personal
          - Work
          - Other
        address:
          type: string
      required:
      - type
      - address
    person:
      title: person
      x-stoplight:
        id: w8ihhyv3ctmy8
      type: object
      description: ''
      properties:
        id:
          $ref: '#/components/schemas/mongoId'
        name:
          type: string
          description: Read Only
        firstName:
          type: string
        middleName:
          type: string
        lastName:
          type: string
        gender:
          type: string
          enum:
          - MALE
          - FEMALE
          - PREFER_NOT_TO_SAY
        fullName:
          type: string
          description: Read Only
        dateOfBirth:
          type: string
          description: 'Format: YYYY-MM-DD'
        timezone:
          type: string
        company:
          type: string
        companyName:
          type: string
        jobTitle:
          type: string
        notes:
          type: string
        phones:
          type: array
          items:
            $ref: '#/components/schemas/phone'
        emails:
          type: array
          items:
            $ref: '#/components/schemas/email'
        primaryAddress:
          $ref: '#/components/schemas/address'
        pictureUrl:
          type: string
        ? ''
        : type: string
      required:
      - firstName
      - lastName
    federalTaxInfo:
      title: federalTaxInfo
      x-stoplight:
        id: d1fvqgbj6zgev
      type: object
      properties:
        addressFor1099SameAsPrimaryAddress:
          type: boolean
          description: If set to "true", will use the primaryAddress on the 1099 form. Otherwise addressFor1099 will be required.
        addressFor1099:
          $ref: '#/components/schemas/address'
        taxpayerName:
          type: string
        taxpayerId:
          type: string
      required:
      - addressFor1099SameAsPrimaryAddress
      - taxpayerName
      - taxpayerId
    address:
      title: address
      x-stoplight:
        id: a6vhbqoeituyk
      type: object
      description: ''
      properties:
        street1:
          type: string
        street2:
          type: string
        city:
          type: string
        zip:
          type: string
        country:
          type: string
        lat:
          type: string
        lng:
          type: string
  securitySchemes:
    Key:
      type: apiKey
      in: header
      name: Authorization
      description: 'Bearer token. Create a key under Settings -> API access; it is a JWT. Example: `Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.<payload>.<signature>`'
x-stoplight:
  id: cz75kvx8cjg25
x-provenance:
  method: searched
  source: https://api.doorloop.com/reference
  harvested: '2026-10-14'
  tool: harvest-readme-openapi.py
  note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
  assembled_from:
  - https://api.doorloop.com/reference/delete-account.md
  - https://api.doorloop.com/reference/delete-communication.md
  - https://api.doorloop.com/reference/delete-expense.md
  - https://api.doorloop.com/reference/delete-file.md
  - https://api.doorloop.com/reference/delete-lease-charge.md
  - https://api.doorloop.com/reference/delete-lease-credits-leasecreditid.md
  - https://api.doorloop.com/reference/delete-lease-payment.md
  - https://api.doorloop.com/reference/delete-lease-reversed-payment.md
  - https://api.doorloop.com/reference/delete-note.md
  - https://api.doorloop.com/reference/delete-owner.md
  - https://api.doorloop.com/reference/delete-task.md
  - https://api.doorloop.com/reference/delete-tenant.md
  - https://api.doorloop.com/reference/delete-vendor-bill.md
  - https://api.doorloop.com/reference/delete-vendor-credit.md
  - https://api.doorloop.com/reference/delete-vendor.md
  - https://api.doorloop.com/reference/download-file.md
  - https://api.doorloop.com/reference/get-account.md
  - https://api.doorloop.com/reference/get-accounts.md
  - https://api.doorloop.com/reference/get-communication.md
  - https://api.doorloop.com/reference/get-communications.md
  - https://api.doorloop.com/reference/get-current-user.md
  - https://api.doorloop.com/reference/get-expense.md
  - https://api.doorloop.com/reference/get-expenses.md
  - https://api.doorloop.com/reference/get-file.md
  - https://api.doorloop.com/reference/get-files.md
  - https://api.doorloop.com/reference/get-lease-charge.md
  - https://api.doorloop.com/reference/get-lease-charges.md
  - https://api.doorloop.com/reference/get-lease-credit.md
  - https://api.doorloop.com/reference/get-lease-credits.md
  - https://api.doorloop.com/reference/get-lease-payment.md
  - https://api.doorloop.com/reference/get-lease-payments.md
  - https://api.doorloop.com/reference/get-lease-reversed-payment.md
  - https://api.doorloop.com/reference/get-lease-reversed-payments.md
  - https://api.doorloop.com/reference/get-lease-tenants.md
  - https://api.doorloop.com/reference/get-lease.md
  - https://api.doorloop.com/reference/get-leases.md
  - https://api.doorloop.com/reference/get-note.md
  - https://api.doorloop.com/reference/get-notes.md
  - https://api.doorloop.com/reference/get-owner.md
  - https://api.doorloop.com/reference/get-owners.md
  - https://api.doorloop.com/reference/get-properties.md
  - https://api.doorloop.com/reference/get-property-group.md
  - https://api.doorloop.com/reference/get-property-groups.md
  - https://api.doorloop.com/reference/get-property.md
  - https://api.doorloop.com/reference/get-reports-balance-sheet.md
  - https://api.doorloop.com/reference/get-reports-cash-flow-statement.md
  - https://api.doorloop.com/reference/get-reports-profit-and-loss.md
  - https://api.doorloop.com/reference/get-reports-rent-roll.md
  - https://api.doorloop.com/reference/get-task.md
  - https://api.doorloop.com/reference/get-tasks.md
  - https://api.doorloop.com/reference/get-tenant.md
  - https://api.doorloop.com/reference/get-tenants.md
  - https://api.doorloop.com/reference/get-unit.md
  - https://api.doorloop.com/reference/get-units.md
  - https://api.doorloop.com/reference/get-user.md
  - https://api.doorloop.com/reference/get-users.md
  - https://api.doorloop.com/reference/get-vendor-bill.md
  - https://api.doorloop.com/reference/get-vendor-bills.md
  - https://api.doorloop.com/reference/get-vendor-credit.md
  - https://api.doorloop.com/reference/get-vendor-credits.md
  - https://api.doorloop.com/reference/get-vendor.md
  - https://api.doorloop.com/reference/get-vendors.md
  - https://api.doorloop.com/reference/post-account.md
  - https://api.doorloop.com/reference/post-communication.md
  - https://api.doorloop.com/reference/post-expense.md
  - https://api.doorloop.com/reference/post-files.md
  - https://api.doorloop.com/reference/post-lease-charge.md
  - https://api.doorloop.com/reference/post-lease-credit.md
  - https://api.doorloop.com/reference/post-lease-payment.md
  - https://api.doorloop.com/reference/post-lease-reversed-payments.md
  - https://api.doorloop.com/reference/post-leases-full.md
  - https://api.doorloop.com/reference/post-leases-move-in.md
  - https://api.doorloop.com/reference/post-leases-move-out.md
  - https://api.doorloop.com/reference/post-notes.md
  - https://api.doorloop.com/reference/post-owner.md
  - https://api.doorloop.com/reference/post-task-update.md
  - https://api.doorloop.com/reference/post-task.md
  - https://api.doorloop.com/reference/post-tenant.md
  - https://api.doorloop.com/reference/post-vendor-bill.md
  - https://api.doorloop.com/reference/post-vendor-credit.md
  - https://api.doorloop.com/reference/post-vendor.md
  - https://api.doorloop.com/reference/put-account.md
  - https://api.doorloop.com/reference/put-communication.md
  - https://api.doorloop.com/reference/put-expense.md
  - https://api.doorloop.com/reference/put-file.md
  - https://api.doorloop.com/reference/put-lease-charge.md
  - https://api.doorloop.com/reference/put-lease-credit.md
  - https://api.doorloop.com/reference/put-lease-payment.md
  - https://api.doorloop.com/reference/put-note.md
  - https://api.doorloop.com/reference/put-owner.md
  - https://api.doorloop.com/reference/put-task.md
  - https://api.doorloop.com/reference/put-tenant.md
  - https://api.doorloop.com/reference/put-unit.md
  - https://api.doorloop.com/reference/put-vendor-bill.md
  - https://api.doorloop.com/reference/put-vendor-credit.md
  - https://api.doorloop.com/reference/put-vendor.md
  merge:
    pages: 96
    deduped: 446
    conflicts_kept_first: 0