Divvy Reimbursements API

The reimbursements API from Divvy — 6 operation(s) for reimbursements.

Operations 9

GET /v3/spend/reimbursements Get list of reimbursements #
POST /v3/spend/reimbursements Create a reimbursement #
POST /v3/spend/reimbursements/image-upload-url Create a reimbursement upload URL #
GET /v3/spend/reimbursements/{reimbursementId} Get reimbursement details #
DELETE /v3/spend/reimbursements/{reimbursementId} Delete a reimbursement #
PATCH /v3/spend/reimbursements/{reimbursementId} Update a reimbursement #
POST /v3/spend/reimbursements/{reimbursementId}/action Approve or deny a reimbursement #
POST /v3/spend/reimbursements/{reimbursementId}/receipts Add a reimbursement receipt #
DELETE /v3/spend/reimbursements/{reimbursementId}/receipts/{receiptId} Delete a reimbursement receipt #

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/divvy/refs/heads/main/json-schema/divvy-transaction-response-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/divvy/refs/heads/main/json-schema/divvy-payment-response-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/divvy/refs/heads/main/json-schema/divvy-payment-request-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/divvy/refs/heads/main/json-schema/divvy-budget-create-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/divvy/refs/heads/main/json-schema/divvy-invoice-response-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/divvy/refs/heads/main/json-schema/divvy-invoice-replace-request-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/divvy/refs/heads/main/json-schema/divvy-send-test-event-request-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/divvy/refs/heads/main/json-schema/divvy-subscription-with-security-key-response-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/divvy/refs/heads/main/json-schema/divvy-subscription-response-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/divvy/refs/heads/main/json-schema/divvy-subscription-request-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/divvy/refs/heads/main/json-schema/divvy-event-dto-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/divvy/refs/heads/main/json-schema/divvy-subscription-update-request-dto-schema.json

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/divvy:divvy-reimbursements-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

divvy-reimbursements-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: BILL v3 Reimbursements API
  description: BILL is a cloud-based financial operations platform for an organization's accounts payable (AP), accounts receivable (AR), and spend & expense (S&E) automation.
  version: '1'
servers:
- url: https://gateway.stage.bill.com/connect
  description: sandbox
tags:
- name: reimbursements
paths:
  /v3/spend/reimbursements:
    get:
      tags:
      - reimbursements
      summary: Get list of reimbursements
      description: Get a list of reimbursement objects. By default, you get 20 results on one page of results. Set `max` in your request to get up to 100 results on one page.
      operationId: listReimbursements
      parameters:
      - name: apiToken
        in: header
        schema:
          type:
          - string
          - 'null'
          description: Access token for Spend & Expense API authentication
          example: '{{api_token}}'
      - name: nextPage
        in: query
        schema:
          type:
          - string
          - 'null'
          description: 'Next page of results.


            When a list has multiple pages, the `nextPage` and `prevPage` values in the response enable you to navigate between the pages of results. Set this field as the `nextPage` value for navigation.'
      - name: prevPage
        in: query
        schema:
          type:
          - string
          - 'null'
          description: Previous page of results. Set this field as the `prevPage` value for navigation.
      - name: max
        in: query
        schema:
          maximum: 100
          minimum: 1
          type:
          - integer
          - 'null'
          description: Maximum number of results
          format: int64
          example: 10
      - name: sort
        in: query
        schema:
          type:
          - string
          - 'null'
          description: "Field name and sort order. You can set only one sort field.\n\nThe format is `sort={field}:{sort_order}`.\n\nThe sortable fields are:\n  - `submittedTime`\n  - `status`\n  - `amount`\n  - `receiptAddedTime`\n  - `fulfillmentType`\n  - `batchId`\n  - `batchAmount`\n"
          example: submittedTime:desc
      - name: filters
        in: query
        schema:
          type:
          - string
          - 'null'
          description: "Field name, operator, and value. You can set multiple filters.\n\nThe format is `filters={field_01}:{op}:{value},{field_02}:{op}:{value}`.\n\nExample: `budgetIds:in:\"abc,def\",submittedTime:gte:\"2024-10-17T19:36:32.628Z\"`\n\nThe filterable fields are:\n - `reimbursementIds` - List of string IDs. Operators: `eq`, `in`.\n - `budgetIds` - List of string IDs. Operators: `eq`, `in`.\n - `userIds` - List of string IDs. Operators: `eq`, `in`.\n - `customFieldValueIds` - List of string IDs. Operators: `eq`, `in`.\n - `type` - `PURCHASE`, `MILEAGE`. Operators: `eq`.\n - `submittedTime` - DateTime. Operators: `lte`, `gte`.\n - `retired` - `true` or `false`. Operators: `eq`."
          example: reimbursementIds:eq:{{se_reimbursement_uuid}}
      responses:
        '200':
          description: Get list of reimbursements response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedReimbursementsResponseDto'
        4XX:
          description: List of errors.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BdcError'
        5XX:
          description: List of errors.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BdcError'
    post:
      tags:
      - reimbursements
      summary: Create a reimbursement
      description: 'Create a new reimbursement.


        See Reimbursements in the Guides section for more information, sample requests, and responses.'
      operationId: createReimbursement
      parameters:
      - name: apiToken
        in: header
        schema:
          type:
          - string
          - 'null'
          description: Access token for Spend & Expense API authentication
          example: '{{api_token}}'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateReimbursementRequestDto'
        required: true
      responses:
        '200':
          description: Create a reimbursement response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReimbursementResponseDto'
        4XX:
          description: List of errors.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BdcError'
        5XX:
          description: List of errors.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BdcError'
  /v3/spend/reimbursements/image-upload-url:
    post:
      tags:
      - reimbursements
      summary: Create a reimbursement upload URL
      description: 'Create a reimbursement image upload URL.


        From the response, use the upload `url` to upload a receipt image for the reimbursement. For example, to upload a JPEG image, use the following `curl` command. To upload a PNG image, set the content type as `image/png`.


        ```

        curl ''{upload_url}''

        -H ''Content-Type: image/jpeg''

        --upload-file {file_name_with_extension}

        ```


        **Note**: BILL supports JPG and PNG file formats for reimbursement images.


        See Reimbursements in the Guides section for more information, sample requests, and responses.'
      operationId: createImageUploadUrl
      parameters:
      - name: apiToken
        in: header
        schema:
          type:
          - string
          - 'null'
          description: Access token for Spend & Expense API authentication
          example: '{{api_token}}'
      responses:
        '200':
          description: Create a reimbursement upload URL response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReimbursementImageUploadUrlResponseDto'
        4XX:
          description: List of errors.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BdcError'
        5XX:
          description: List of errors.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BdcError'
  /v3/spend/reimbursements/{reimbursementId}:
    get:
      tags:
      - reimbursements
      summary: Get reimbursement details
      description: Get details about an existing reimbursement.
      operationId: getReimbursement
      parameters:
      - name: apiToken
        in: header
        schema:
          type:
          - string
          - 'null'
          description: Access token for Spend & Expense API authentication
          example: '{{api_token}}'
      - name: reimbursementId
        in: path
        required: true
        schema:
          minLength: 1
          type: string
          description: BILL-generated ID or UUID of the reimbursement
          example: '{{se_reimbursement_uuid}}'
      responses:
        '200':
          description: Get reimbursement details response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReimbursementResponseDto'
        4XX:
          description: List of errors.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BdcError'
        5XX:
          description: List of errors.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BdcError'
    delete:
      tags:
      - reimbursements
      summary: Delete a reimbursement
      description: Delete an existing reimbursement. A deleted reimbursement cannot be restored. The deleted reimbursement is not available in the list of reimbursements.
      operationId: deleteReimbursement
      parameters:
      - name: apiToken
        in: header
        schema:
          type:
          - string
          - 'null'
          description: Access token for Spend & Expense API authentication
          example: '{{api_token}}'
      - name: reimbursementId
        in: path
        required: true
        schema:
          minLength: 1
          type: string
          description: BILL-generated ID or UUID of the reimbursement
          example: '{{se_reimbursement_uuid}}'
      responses:
        '200':
          description: Delete a reimbursement response
        4XX:
          description: List of errors.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BdcError'
        5XX:
          description: List of errors.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BdcError'
    patch:
      tags:
      - reimbursements
      summary: Update a reimbursement
      description: Update details about an existing reimbursement.
      operationId: updateReimbursement
      parameters:
      - name: apiToken
        in: header
        schema:
          type:
          - string
          - 'null'
          description: Access token for Spend & Expense API authentication
          example: '{{api_token}}'
      - name: reimbursementId
        in: path
        required: true
        schema:
          minLength: 1
          type: string
          description: BILL-generated ID or UUID of the reimbursement
          example: '{{se_reimbursement_uuid}}'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateReimbursementRequestDto'
        required: true
      responses:
        '200':
          description: Update a reimbursement response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReimbursementResponseDto'
        4XX:
          description: List of errors.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BdcError'
        5XX:
          description: List of errors.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BdcError'
  /v3/spend/reimbursements/{reimbursementId}/action:
    post:
      tags:
      - reimbursements
      summary: Approve or deny a reimbursement
      description: 'Approve or deny a reimbursement request.


        See Reimbursements in the Guides section for more information, sample requests, and responses.'
      operationId: approveOrDenyReimbursement
      parameters:
      - name: apiToken
        in: header
        schema:
          type:
          - string
          - 'null'
          description: Access token for Spend & Expense API authentication
          example: '{{api_token}}'
      - name: reimbursementId
        in: path
        required: true
        schema:
          minLength: 1
          type: string
          description: BILL-generated ID or UUID of the reimbursement
          example: '{{se_reimbursement_uuid}}'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReimbursementActionRequestDto'
        required: true
      responses:
        '200':
          description: Approve or deny a reimbursement response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReimbursementResponseDto'
        4XX:
          description: List of errors.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BdcError'
        5XX:
          description: List of errors.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BdcError'
  /v3/spend/reimbursements/{reimbursementId}/receipts:
    post:
      tags:
      - reimbursements
      summary: Add a reimbursement receipt
      description: 'Add a receipt to an existing reimbursement.

        In the request, use the same upload url that you used to upload the receipt image. See Create a reimbursement upload URL to learn about creating a reimbursement image upload URL.'
      operationId: addReimbursementReceipt
      parameters:
      - name: apiToken
        in: header
        schema:
          type:
          - string
          - 'null'
          description: Access token for Spend & Expense API authentication
          example: '{{api_token}}'
      - name: reimbursementId
        in: path
        required: true
        schema:
          minLength: 1
          type: string
          description: BILL-generated ID or UUID of the reimbursement
          example: '{{se_reimbursement_uuid}}'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReimbursementReceiptRequestDto'
        required: true
      responses:
        '200':
          description: Add a reimbursement receipt response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ReceiptImage'
        4XX:
          description: List of errors.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BdcError'
        5XX:
          description: List of errors.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BdcError'
  /v3/spend/reimbursements/{reimbursementId}/receipts/{receiptId}:
    delete:
      tags:
      - reimbursements
      summary: Delete a reimbursement receipt
      description: Delete a receipt from an existing reimbursement. A deleted receipt cannot be restored. The deleted receipt is not available in the reimbursement details.
      operationId: deleteReimbursementReceipt
      parameters:
      - name: apiToken
        in: header
        schema:
          type:
          - string
          - 'null'
          description: Access token for Spend & Expense API authentication
          example: '{{api_token}}'
      - name: reimbursementId
        in: path
        required: true
        schema:
          minLength: 1
          type: string
          description: BILL-generated ID or UUID of the reimbursement
          example: '{{se_reimbursement_uuid}}'
      - name: receiptId
        in: path
        required: true
        schema:
          minLength: 1
          type: string
          description: BILL-generated ID or UUID of the reimbursement receipt
          example: '{{se_reimbursement_receipt_uuid}}'
      responses:
        '200':
          description: Delete a reimbursement receipt response
        4XX:
          description: List of errors.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BdcError'
        5XX:
          description: List of errors.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BdcError'
components:
  schemas:
    UpdateCustomFieldDto:
      required:
      - customFieldId
      type: object
      properties:
        customFieldId:
          type: string
          description: BILL-generated ID or UUID of the custom field
        selectedValues:
          type: array
          description: 'List of selected custom field values. Set the custom field value ID or UUID values.


            **Note**: Clear the `selectedValues` array to clear all the custom field selected values.'
          items:
            type: string
        note:
          type: string
          description: 'Updated custom field note.


            **Note**: This field is available only for custom fields with `type` set as `NOTE`.'
      description: Set custom fields in transactions \& reimbursements.
    Param:
      required:
      - name
      - value
      type: object
      properties:
        additional:
          type: object
          additionalProperties:
            type: string
        name:
          minLength: 1
          type: string
        value:
          minLength: 1
          type: string
    ReimbursementActionType:
      type: string
      description: Enum representing the type of action to take on a reimbursement.
      enum:
      - APPROVE
      - DENY
    ReimbursementType:
      type: string
      description: Enum representing the type for a reimbursement in the Spend API.
      enum:
      - PURCHASE
      - MILEAGE
    ActorRole:
      type: string
      description: Enum representing the actor role for reimbursements in the Spend API.
      enum:
      - SUBMITTER
      - MANAGER
      - BUDGET_OWNER
      - ADMIN
      - SYSTEM
    PaginationResponseDto_ReimbursementResponseDto_:
      type: object
      properties:
        nextPage:
          type: string
          description: Next page token
        prevPage:
          type: string
          description: Previous page token
        results:
          type: array
          description: Results
          items:
            $ref: '#/components/schemas/ReimbursementResponseDto'
      description: Response from a list API request with paging references.
    UpdateReimbursementRequestDto:
      type: object
      properties:
        userId:
          type: string
          description: BILL-generated ID of the user to be reimbursed
        budgetId:
          type: string
          description: BILL-generated ID of the budget to be used for the reimbursement
        amount:
          type: number
          description: Reimbursement amount
        note:
          type: string
          description: Reimbursement note. Use this field to describe the business purpose for the expense.
        merchantName:
          type: string
          description: Merchant name for the expense
        occurredDate:
          type: string
          description: Expense created date. The value is in the `yyyy-MM-dd` format.
          format: date
        customFields:
          type: array
          description: List of reimbursement custom fields and values
          items:
            $ref: '#/components/schemas/UpdateCustomFieldDto'
      description: Update a reimbursement (Date updated)
      example:
        occurredDate: '2026-12-26'
    PaginatedReimbursementsResponseDto:
      type: object
      description: List of reimbursements with paging references.
      allOf:
      - $ref: '#/components/schemas/PaginationResponseDto_ReimbursementResponseDto_'
    ReimbursementReceiptRequestDto:
      required:
      - filename
      - url
      type: object
      properties:
        url:
          minLength: 1
          type: string
          description: Uploaded receipt URL
        filename:
          minLength: 1
          type: string
          description: Receipt file name
      description: Add a reimbursement receipt
      example:
        url: '{{se_reimbursement_url}}'
        filename: '{{file_name_with_extension}}'
    ReimbursementResponseDto:
      type: object
      properties:
        id:
          type: string
          description: BILL-generated ID of the reimbursement
        uuid:
          type: string
          description: BILL-generated UUID of the reimbursement
        amount:
          type: number
          description: Reimbursement amount
        fulfillmentType:
          allOf:
          - $ref: '#/components/schemas/FulfillmentType'
          - description: Reimbursement fulfillment type.
        fundRequestAmount:
          type: number
          description: Amount that must be added to the user funds for the user to have enough funds for this reimbursement
        fundRequestBudgetAmount:
          type: number
          description: Amount that must be added to the budget for the user to have enough funds for this reimbursement
        merchantName:
          type: string
          description: Merchant name for the expense
        note:
          type: string
          description: Reimbursement note. Use this field to describe the business purpose for the expense.
        submittedTime:
          type: string
          description: Reimbursement request submission date and time
          format: date-time
        occurredDate:
          type: string
          description: Expense created date. The value is in the `yyyy-MM-dd` format.
          format: date
        retired:
          type: boolean
          description: This field is set as `true` if the reimbursement has been deleted
        status:
          allOf:
          - $ref: '#/components/schemas/ReimbursementStatus'
          - description: Reimbursement status.
        type:
          allOf:
          - $ref: '#/components/schemas/ReimbursementType'
          - description: Reimbursement type.
        batchId:
          type: string
          description: 'ACH batch ID.


            You can use `batchId` to identify the set of reimbursements bundled together when funds are withdrawn from the company bank account. Reimbursements with the same `batchId` are withdrawn at the same time.'
        batchAmount:
          type: number
          description: ACH batch amount
        statusHistory:
          type: array
          description: Reimbursement approval status history
          items:
            $ref: '#/components/schemas/StatusHistory'
        budgetId:
          type: string
          description: BILL-generated ID of the budget to be used for the reimbursement
        budgetUuid:
          type: string
          description: BILL-generated UUID of the budget to be used for the reimbursement
        userId:
          type: string
          description: BILL-generated ID of the user to be reimbursed
        userUuid:
          type: string
          description: BILL-generated UUID of the user to be reimbursed
        receipts:
          type: array
          description: List of reimbursement receipts
          items:
            $ref: '#/components/schemas/ReceiptImage'
        customFields:
          type: array
          description: List of reimbursement custom fields and values
          items:
            $ref: '#/components/schemas/CustomFieldDto'
      description: DTO representing a reimbursement response.
    CustomFieldValueDto:
      type: object
      properties:
        id:
          type: string
          description: BILL-generated ID of the custom field value
          deprecated: true
        uuid:
          type: string
          description: BILL-generated UUID of the custom field value
        value:
          type: string
          description: Custom field value
      description: Custom field value DTO object representing the custom field value return on Custom fields for transactions and reimbursements.
    Severity:
      type: string
      enum:
      - ERROR
      - WARNING
      - INFORMATION
    ReimbursementImageUploadUrlResponseDto:
      type: object
      properties:
        url:
          type: string
          description: Pre-signed URL for uploading a receipt
      description: API response for creating a reimbursement image upload URL.
    ReceiptImage:
      required:
      - filename
      - url
      - uuid
      type: object
      properties:
        url:
          minLength: 1
          type: string
          description: Uploaded receipt URL
        filename:
          minLength: 1
          type: string
          description: Receipt file name
        uuid:
          minLength: 1
          type: string
          description: BILL-generated UUID for the receipt image
      description: DTO representing an image from the Spend API.
    FulfillmentType:
      type: string
      description: Enum representing the fulfillment type for reimbursements in the Spend API.
      enum:
      - ACH
      - PAYROLL
    Category:
      type: string
      enum:
      - REQUEST
      - APPLICATION
      - SERVER
      - DOWNSTREAM
    ReimbursementActionRequestDto:
      required:
      - action
      type: object
      properties:
        action:
          allOf:
          - $ref: '#/components/schemas/ReimbursementActionType'
          - description: Reimbursement action. Set this field as `APPROVE` or `DENY`.
        note:
          type: string
          description: Reimbursement action note
      description: Approve or deny a reimbursement
      example:
        action: APPROVE
        note: Team lunch expense approved
    CustomFieldDto:
      type: object
      properties:
        id:
          type: string
          description: BILL-generated ID of the custom field
          deprecated: true
        uuid:
          type: string
          description: BILL-generated UUID of the custom field
        name:
          type: string
          description: Custom field name
        note:
          type: string
          description: Custom field note
        isRequired:
          type: boolean
          description: Set as `true` if the custom field is required
        selectedValues:
          type: array
          description: 'List of selected values for this custom field.


            **NOTE**: In the response, you get up to 20 selected values for a custom field. Use `GET /v3/spend/custom-fields/{customFieldId}/values` to get the complete list of selected values.'
          items:
            $ref: '#/components/schemas/CustomFieldValueDto'
      description: Transaction custom field response.
    BdcError:
      required:
      - category
      - code
      - severity
      - timestamp
      type: object
      properties:
        timestamp:
          type: string
          format: date-time
        code:
          type: string
        severity:
          $ref: '#/components/schemas/Severity'
        category:
          $ref: '#/components/schemas/Category'
        message:
          type: string
        params:
          type: array
          items:
            $ref: '#/components/schemas/Param'
        detail:
          type: string
        help:
          type: string
    StatusHistory:
      type: object
      properties:
        actorId:
          type: string
          description: BILL-generated ID of the user that approved or denied the reimbursement
        actorRole:
          allOf:
          - $ref: '#/components/schemas/ActorRole'
          - description: Reimbursement role of the user.
        occurredTime:
          type: string
          description: Reimbursement action date and time
          format: date-time
        note:
          type: string
          description: Reimbursement action note
        status:
          allOf:
          - $ref: '#/components/schemas/ReimbursementStatus'
          - description: New status after the reimbursement action.
      description: DTO representing an action that happened on a reimbursement from the Spend API.
    CreateReimbursementRequestDto:
      required:
      - amount
      - budgetId
      - merchantName
      - note
      - occurredDate
      - receipts
      - userId
      type: object
      properties:
        userId:
          type: string
          description: BILL-generated ID of the user to be reimbursed
        budgetId:
          type: string
          description: BILL-generated ID of the budget to be used for the reimbursement
        amount:
          type: number
          description: Reimbursement amount
        note:
          type: string
          description: Reimbursement note. Use this field to describe the business purpose for the expense.
        merchantName:
          type: string
          description: Merchant name for the expense
        occurredDate:
          type: string
          description: Expense created date. The value is in the `yyyy-MM-dd` format.
          format: date
        receipts:
          type: array
          description: List of reimbursement receipts
          items:
            $ref: '#/components/schemas/ReimbursementReceiptRequestDto'
        customFields:
          type: array
          description: List of reimbursement custom fields and values
          items:
            $ref: '#/components/schemas/UpdateCustomFieldDto'
      description: Create a reimbursement
      example:
        budgetId: '{{se_budget_uuid}}'
        userId: '{{se_user_uuid}}'
        occurredDate: '2026-12-25'
        note: Team lunch
        merchantName: Jasmine Thai
        amount: 50
        receipts:
        - url: '{{se_reimbursement_url}}'
          filename: '{{file_name_with_extension}}'
    ReimbursementStatus:
      type: string
      description: Enum representing the status for a reimbursement in the Spend API.
      enum:
      - CREATED
      - AWAITING_APPROVAL
      - AWAITING_TIER2_APPROVAL
      - TIER2_APPROVAL_UNDONE
      - APPROVAL_UNDONE
      - DENIAL_UNDONE
      - APPROVED
      - CANCEL_PAYMENT
      - PAID
      - PAYMENT_FAILED
      - DENIED
      - DELETED
      - ARCHIVED
      - BUDGET_APPROVAL
      - ADMIN_APPROVAL
      - READY_TO_PAY
      - PAYMENT_PENDING
x-provenance:
  method: searched
  source: https://developer.bill.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://developer.bill.com/reference/acceptinvitation.md
  - https://developer.bill.com/reference/addreimbursementreceipt.md
  - https://developer.bill.com/reference/addtransactionreceipt.md
  - https://developer.bill.com/reference/approveordenyreimbursement.md
  - https://developer.bill.com/reference/archivebankaccount.md
  - https://developer.bill.com/reference/archivebankaccountuser.md
  - https://developer.bill.com/reference/archivebill.md
  - https://developer.bill.com/reference/archiveclassificationaccountingclass.md
  - https://developer.bill.com/reference/archiveclassificationchartofaccounts.md
  - https://developer.bill.com/reference/archiveclassificationdepartment.md
  - https://developer.bill.com/reference/archiveclassificationemployee.md
  - https://developer.bill.com/reference/archiveclassificationitem.md
  - https://developer.bill.com/reference/archiveclassificationjob.md
  - https://developer.bill.com/reference/archiveclassificationlocation.md
  - https://developer.bill.com/reference/archivecreditmemo.md
  - https://developer.bill.com/reference/archivecustomer.md
  - https://developer.bill.com/reference/archivecustomerbankaccount.md
  - https://developer.bill.com/reference/archivecustomercontact.md
  - https://developer.bill.com/reference/archiveinvoice.md
  - https://developer.bill.com/reference/archiveorganizationuser.md
  - https://developer.bill.com/reference/archivepartneruser.md
  - https://developer.bill.com/reference/archiverecurringbill.md
  - https://developer.bill.com/reference/archiverecurringinvoice.md
  - https://developer.bill.com/reference/archivevendor.md
  - https://developer.bill.com/reference/archivevendorcredit.md
  - https://developer.bill.com/reference/authorizetochargecustomer.md
  - https://developer.bill.com/reference/billapprovedenyactions.md
  - https://developer.bill.com/reference/bulkarchiveclassificationaccountingclass.md
  - https://developer.bill.com/reference/bulkarchiveclassificationchartofaccounts.md


# --- truncated at 32 KB (50 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/divvy/refs/heads/main/openapi/divvy-reimbursements-api-openapi.yml