---
title: "List Bills"
method: GET
path: "/bills"
tags: ["Bills"]
---

# List Bills

`GET /bills`

## Request

- Base URL: `https://api.meow.com/v1`
- URL: `https://api.meow.com/v1/bills`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/meow/apis/meow-api/docs/bills/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns a paginated list of bills with optional status filtering.

## Query parameters

- `statuses` BillStatusEnum[], nullable: Filter to one or more bill statuses, as a list. Omit to return every status.
- `contact_id` string[], nullable: Filter to one or more vendor contacts, as a list. Use list_contacts to find contact IDs.
- `amount_min` union: Only return bills with a total at or above this amount.
  - number
  - string
- `amount_max` union: Only return bills with a total at or below this amount.
  - number
  - string
- `bill_date_from` string, date, nullable: Only return bills dated on or after this date.
- `bill_date_to` string, date, nullable: Only return bills dated on or before this date.
- `due_date_from` string, date, nullable: Only return bills due on or after this date.
- `due_date_to` string, date, nullable: Only return bills due on or before this date.
- `search` string, nullable: Free-text search over vendor name and bill number.
- `sort_by` 'VENDOR_NAME' | 'STATUS' | 'AMOUNT' | 'PAYMENT_DATE' | 'BILL_DATE' | 'CREATED_TIME' | 'BILL_DUE_DATE' | 'INVOICE_NUMBER' | 'DESCRIPTION' | 'PAYMENT_TYPE' | 'CATEGORY'
- `sort_descending` boolean: Sort descending instead of ascending.
- `limit` integer: Maximum number of results to return.
- `offset` string, nullable: Opaque offset identifier for pagination. Use the nextOffset from a previous response.

## Headers

- `x-entity-id` string, uuid

## Response `200`

Successful Response

- BillsResponse
  - `bills` BillSummaryResponse[], required: List of bills.
    - `id` string, uuid, required: Identifier for this bill.
    - `status` 'CANCELED' | 'DRAFT_PROCESSING' | 'DRAFT' | 'PAYMENT_INFO_NEEDED' | 'PENDING' | 'APPROVED' | 'REJECTED' | 'SCHEDULED' | 'PAYMENT_INITIATED' | 'PAYMENT_DELIVERED' | 'PAYMENT_FAILED' | 'PAYMENT_CANCELED', required
    - `vendor_name` string, required: The name of the vendor.
    - `invoice_number` string, nullable: The invoice number.
    - `description` string, nullable: Description of the bill.
    - `memo` string, nullable: Memo for the bill.
    - `bill_date` string, date: ISO 8601 full-date in the format `YYYY-MM-DD` (per [IETF RFC 3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)).
    - `bill_due_date` string, date: ISO 8601 full-date in the format `YYYY-MM-DD` (per [IETF RFC 3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)).
    - `bill_total` string, nullable: The total amount of the bill.
    - `currency` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SLE' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USN' | 'UYI' | 'UYU' | 'UYW' | 'UZS' | 'VED' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XSU' | 'XTS' | 'XUA' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWG' | 'ZWL'
    - `payment_type` 'ACH' | 'CRYPTO' | 'INTERNATIONAL_PAYMENT_FX' | 'WIRE' | 'CHECK'
    - `contact_id` string, uuid, nullable: The ID of the associated contact.
    - `category_id` string, uuid, nullable: The spend category this bill is coded to, if any.
    - `category_name` string, nullable: The name of the spend category, if any.
    - `creation_source` 'USER' | 'EMAIL' | 'SCHEDULE', required
    - `created_by` string, required: Who created the bill.
    - `created_at` string, date-time, required: ISO 8601 date-time in the format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` (per [IETF RFC 3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)).
    - `updated_at` string, date-time: ISO 8601 date-time in the format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` (per [IETF RFC 3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)).
    - `submitted_at` string, date-time: ISO 8601 date-time in the format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` (per [IETF RFC 3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)).
    - `submitted_by` string, nullable: Who submitted the bill.
    - `paid_at` string, date-time: ISO 8601 date-time in the format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` (per [IETF RFC 3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)).
    - `paid_by` string, nullable: Who paid the bill.
    - `scheduled_at` string, date-time: ISO 8601 date-time in the format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` (per [IETF RFC 3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)).
    - `resolved_at` string, date-time: ISO 8601 date-time in the format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` (per [IETF RFC 3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)).
    - `canceled_at` string, date-time: ISO 8601 date-time in the format `YYYY-MM-DDThh:mm:ss.nnn[Z|[+|-]hh:mm]` (per [IETF RFC 3339](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)).
    - `canceled_by` string, nullable: Who canceled the bill.
    - `bill_schedule_id` string, uuid, nullable: The recurring schedule this bill belongs to, if any.
    - `ordinal` integer, nullable: The bill's position in its recurring schedule (template is 0).
  - `page` PageMetadata
    - `nextOffset` string, nullable: Opaque offset identifier.

## Other responses

- `400`: The request could not be processed.
- `401`: Authentication failed.
- `403`: The API key is not authorized for this operation, or the user of a global API key is an admin or controller without approved KYC. The KYC case returns the message `KYC is required for controllers and admins.` until that user completes KYC in the Meow dashboard.
- `429`: Too many requests.

---

[API](https://skmtc.dev/meow/apis/meow-api.md) - [All operations](https://skmtc.dev/meow/apis/meow-api/llms.txt) - [OpenAPI document](https://skmtc.dev/meow/apis/meow-api/revisions/ea2d7e25b63b?raw)
