DoorLoop Tasks API

The Tasks API from DoorLoop — 3 operation(s) for tasks.

Operations 6

GET /tasks Retrieve all Tasks #
POST /tasks Create a Task #
POST /tasks/update Post an Update on a Task #
GET /tasks/{taskId} Retrieve a Task #
PUT /tasks/{taskId} Update a Task #
DELETE /tasks/{taskId} Deletes a Task #

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-tasks-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-tasks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DoorLoop API Reference Tasks 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: Tasks
paths:
  /tasks:
    parameters: []
    get:
      summary: Retrieve all Tasks
      tags:
      - Tasks
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  total:
                    type: integer
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/task'
      operationId: get-tasks
      description: Retrieves all Tasks
      security:
      - Key: []
      parameters:
      - schema:
          type: string
        in: query
        name: filter_propertyGroup
        description: Filter by Portfolio Id
      - schema:
          type: string
        in: query
        name: filter_property
        description: Filter by Property Id
      - schema:
          type: string
        in: query
        name: filter_unit
        description: Filter by Unit Id
      - schema:
          type: string
          enum:
          - INTERNAL_TASK
          - WORK_ORDER
          - TENANT_REQUEST
          - OWNER_REQUEST
        in: query
        name: filter_type
        description: Filter by Task Type
      - schema:
          type: string
          enum:
          - NOT_STARTED
          - IN_PROGRESS
          - COMPLETED
          - NOT_COMPLETED
          - RECEIVED
          - ARCHIVED
        in: query
        name: filter_status
        description: Filter by Task Status
      - 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'
      - schema:
          type: string
        in: query
        name: filter_dueDate_from
        description: 'Format: YYYY-MM-DD'
      - schema:
          type: string
        in: query
        name: filter_dueDate_to
        description: 'Format: YYYY-MM-DD'
      - schema:
          type: string
        in: query
        name: filter_completedAt_from
        description: 'Format: YYYY-MM-DD'
      - schema:
          type: string
        in: query
        name: filter_completedAt_to
        description: 'Format: YYYY-MM-DD'
      - schema:
          type: string
        in: query
        name: filter_assignedToUser
        description: Filter by User Id or "unassigned"
      - schema:
          type: string
        in: query
        name: filter_text
        description: Filter by Subject, Description or Reference
      - schema:
          type: string
        in: query
        name: filter_requestedById
        description: Filter by Requested by User, Tenant or Owner Id
    post:
      summary: Create a Task
      operationId: post-task
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/task'
        '400':
          description: Bad Request
      description: Creates a Task
      security:
      - Key: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/task'
      tags:
      - Tasks
  /tasks/update:
    parameters: []
    post:
      summary: Post an Update on a Task
      operationId: post-task-update
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/task'
        '400':
          description: Bad Request
      description: Posts an update on a task
      security:
      - Key: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                taskId:
                  $ref: '#/components/schemas/mongoId'
                message:
                  type: string
                  description: '10000'
                dueDate:
                  type: string
                  description: 'Format: YYYY-MM-DD'
                priority:
                  type: string
                  enum:
                  - LOW
                  - MEDIUM
                  - HIGH
                status:
                  type: string
                  enum:
                  - NOT_STARTED
                  - RECEIVED
                  - IN_PROGRESS
                  - COMPLETED
                  - ARCHIVED
                assignedToUsers:
                  type: array
                  items:
                    $ref: '#/components/schemas/mongoId'
                notifyTenant:
                  type: boolean
                notifyAssignees:
                  type: boolean
              required:
              - taskId
      tags:
      - Tasks
  /tasks/{taskId}:
    parameters:
    - schema:
        type: string
      name: taskId
      in: path
      required: true
    get:
      summary: Retrieve a Task
      tags:
      - Tasks
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/task'
        '404':
          description: Not Found
      operationId: get-task
      description: Retrieves a Task
      security:
      - Key: []
    put:
      summary: Update a Task
      operationId: put-task
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/task'
        '400':
          description: Bad Request
        '404':
          description: Not Found
      tags:
      - Tasks
      description: Updates a Task
      security:
      - Key: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/task'
    delete:
      summary: Deletes a Task
      operationId: delete-task
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/task'
        '400':
          description: Bad Request
        '404':
          description: Not Found
      security:
      - Key: []
      tags:
      - Tasks
components:
  schemas:
    task:
      title: task
      x-stoplight:
        id: p0f9c0fwm79sl
      allOf:
      - properties:
          id:
            $ref: '#/components/schemas/mongoId'
          type:
            type: string
            enum:
            - INTERNAL_TASK
            - TENANT_REQUEST
            - OWNER_REQUEST
            - WORK_ORDER
          reference:
            type: string
          subject:
            type: string
            maxLength: 255
          description:
            type: string
            maxLength: 10000
          dueDate:
            type: string
            description: 'Format: YYYY-MM-DD'
          status:
            type: string
            enum:
            - NOT_STARTED
            - RECEIVED
            - IN_PROGRESS
            - COMPLETED
            - ARCHIVED
          priority:
            type: string
            enum:
            - LOW
            - MEDIUM
            - HIGH
          requestedByUser:
            type: string
            description: "The User Id who requested this task. \nRequired if type == INTERNAL_TASK."
          requestedByTenant:
            type: string
            description: "The Tenant Id who requested this task. \nRequired if type == TENANT_REQUEST."
          requestedByOwner:
            type: string
            description: "The Owner Id who requested this task. \nRequired if type == OWNER_REQUEST."
          assignedToUsers:
            type: array
            items:
              $ref: '#/components/schemas/mongoId'
          property:
            $ref: '#/components/schemas/mongoId'
          unit:
            $ref: '#/components/schemas/mongoId'
          notifyTenant:
            type: boolean
            description: If type = TENANT_REQUEST and notifyTenant = "true" the tenants will be notified when this task is created or updated.
          notifyAssignees:
            type: boolean
            description: If set to "true", the assigned to users will be notified when this task is created or updated.
          entryNotes:
            type: string
            maxLength: 10000
          workOrder:
            type: object
            description: Required if type == WORK_ORDER
            properties:
              assignedToVendor:
                $ref: '#/components/schemas/mongoId'
              instructionsToVendor:
                type: string
                maxLength: 10000
              approvedByOwner:
                type: boolean
              billed:
                type: boolean
                description: Read Only. If billed == true, the Vendor Bill Id be referenced under "vendorBill"
              vendorBill:
                $ref: '#/components/schemas/mongoId'
            required:
            - assignedToVendor
          entryPermission:
            type: string
            enum:
            - NOT_APPLICABLE
            - 'YES'
            - 'NO'
          createdAt:
            type: number
          updatedAt:
            type: number
        required:
        - type
        - subject
        - status
      type: object
    mongoId:
      type: string
      title: mongoId
      x-stoplight:
        id: 40j7qlmpihfdj
      pattern: /^[a-f\d]{24}$/i
      examples:
      - 507f191e810c19729de860ea
      example: 00000020f51bb4362eee2a4d
  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