# Fetching a list of Invoices

This endpoint returns structured Invoice objects.
As with all Kantata OX API endpoints, the returned data will be referenced in sorted order in the results array
and will be indexed by ID in the invoices top-level JSON key.
Please see our Response Format section for more information.

Endpoint: GET /invoices
Version: 1.0.0

## Query parameters:

  - `created_after` (string)
    Filter for records created after a specified datetime. The datetime must be in ISO 8601 format.

  - `created_before` (string)
    Filter for records created before a specified datetime. The datetime must be in ISO 8601 format.

  - `external_reference_external_message` (string)
    Filter the objects based on the external message of their associated external references. This is an exact match.

  - `external_reference_external_status` (string)
    Filter by the status of the external object in the external system.

  - `external_reference_service_model` (string)
    Filter by the type of the external object this external reference belongs to.

  - `external_reference_service_model_ref` (integer)
    Filter by the id of the external object this external reference belongs to.

  - `external_reference_service_model_refs` (string)
    Filter for objects that correlate to the specified external object IDs. Provide a comma-separated list of up to 200 external IDs.

  - `external_reference_service_name` (string)
    Filter by the name of the provider for integration.

  - `external_reference_status` (string)
    Filter by the status of the integration, this can be successful or fail.

  - `has_external_references` (boolean)
    Filter by whether or not the object has external references.

  - `include` (string)
    Any of the below associations can be included in your request by providing the include param, e.g. include=association1,association2.
- additional_items (AdditionalItem) - When included, the additional_item_ids array will reference all additional items included in the invoice.
- billing_milestones (BillingMilestone) - When included, the billing_milestone_ids array will reference all billing milestones included in the invoice.
- expenses (Expense) - When included, the expense_ids array will reference all expenses included in the invoice.
- external_references (ExternalReference) - Includes references to external integrations for this object.
- fixed_fee_items (FixedFeeItem) - When included, the fixed_fee_items array will reference all fixed fee items included in the invoice.
- recipient (User) - The User who received the invoice. Namely, the client lead at the time that the invoice
was created (or null, if no lead client existed at the time).
- time_entries (TimeEntry) - When included, the time_entry_ids array will reference all time entries included in the invoice.
- user (User) - The user who created the invoice.
- workspaces (Workspace) - When included, the workspace_ids array will reference all projects covered by the invoice.

  - `only` (string)
    Allows you to request one or more resources directly by ID. Multiple IDs can be supplied
in a comma separated list, like GET /api/v1/workspaces.json?only=5,6,7.

  - `order` (string)
    Supply order with the name of a valid sort field for the endpoint and a direction.

Valid values: created_at:asc, created_at:desc, id:asc, id:desc, invoice_date:asc, invoice_date:desc, updated_at:asc, and updated_at:desc.

  - `page` (integer)

  - `paid` (boolean)
    When true is passed, only paid invoices are returned.

  - `pending` (boolean)
    When true is passed, only non-accepted, non-draft invoices are returned.

  - `per_page` (integer)

  - `updated_after` (string)
    Filter for records updated after a specified datetime. The datetime must be in ISO 8601 format.

  - `updated_before` (string)
    Filter for records updated before a specified datetime. The datetime must be in ISO 8601 format.

  - `user_invoice_number` (string)
    Provide one or more user invoice numbers, separated by commas. When provided, only invoices
              with the specified user invoice numbers will be returned.

  - `within_dates` (string)
    Provide a date range in 2000-01-01:2000-12-31 format. When provided, only invoices created
              within the specified range will be returned.

  - `without_drafts` (boolean)
    When true is passed, draft invoices will not be returned.

  - `without_external_reference_service_name` (string)
    Exclude by the existence of an external reference with the specified service name.

  - `workspace_id` (string)
    Provide one or more workspace IDs, separated by commas. If present, only invoices
              in the provided projects will be returned.

## Response 200 fields (application/json):

  - `count` (integer)

  - `meta` (object)

  - `meta.count` (integer)

  - `meta.page_count` (integer)

  - `meta.page_number` (integer)

  - `meta.page_size` (integer)

  - `results` (array)

  - `results.key` (string)

  - `results.id` (string)

  - `invoices` (object)

  - `external_references` (object)

  - `users` (object)

  - `workspaces` (object)

  - `additional_items` (object)

  - `time_entries` (object)

  - `expenses` (object)

  - `fixed_fee_items` (object)

  - `billing_milestones` (object)

## Response 400 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 401 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 403 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 404 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 422 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)

## Response 503 fields (application/json):

  - `errors` (array)

  - `errors.type` (string)

  - `errors.message` (string)


