---
title: "Retrieve invoices awaiting approval from the authenticated user"
method: GET
path: "/invoices/pending-approval"
tags: ["invoices"]
---

# Retrieve invoices awaiting approval from the authenticated user

`GET /invoices/pending-approval`

Returns a paginated queue of invoices awaiting approval action from the authenticated user. Intended for partner approval dashboards and mobile approval workflows.

## Query parameters

- `page` integer
- `limit` integer
- `ottimate_location_ids` string
- `ottimate_vendor_id` integer
- `date_from` string
- `date_to` string

## Headers

- `Authorization` string, required
- `X-Api-Key` string, required
- `X-API-Version` string

## Response `200`

Successful response with paginated pending-approval invoice list

- InvoicesGetInvoicesPendingApprovalResponse200
  - `version` string
  - `count` integer
  - `page` integer
  - `limit` integer
  - `results` InvoiceObject[]
    - `id` string, required — Unique invoice identifier
    - `invoice_number` string — Invoice number from vendor
    - `ottimate_vendor_name` string — Ottimate vendor name. With X-API-Version: 1.1.0 this is the human-readable vendor name.
    - `ottimate_vendor_id` integer, nullable — Ottimate vendor ID. For X-API-Version: 1.1.0 this is an integer matching the `id` returned by GET /vendors (usable with GET /vendors/{id}); for 1.0.0/unversioned it is returned as a string (the operational vendor id). Null when the invoice has no vendor mapping.
    - `erp_vendor_id` string — ERP vendor id (the accounting system's own vendor code).
    - `erp_vendor_name` string — ERP vendor display name.
    - `ottimate_location_name` string — Location name
    - `ottimate_location_id` string — Ottimate location (restaurant) ID.
    - `custom_fields` InvoiceObjectCustomFields — Custom header field key/value pairs configured for the company.
    - `invoice_date` string, date — Date invoice was issued
    - `due_date` string, date — Payment due date
    - `total_amount` number, double — Total invoice amount
    - `total_tax` number, double — Total tax amount
    - `currency` string — Currency code (ISO 4217)
    - `outstanding_balance` number, double — Remaining unpaid amount
    - `type` 'invoice' | 'credit_memo' | 'other' — Type of invoice document
    - `status` 'processing' | 'needs-attention' | 'pending-approval' | 'ready-for-export' | 'exported' | 'inactive', required — Invoice processing status
    - `sub_status` 'deleted' | 'merged' | 'archived' | 'duplicate' — Reason why the invoice is inactive. Only present when status is 'inactive', null otherwise.
    - `payment_status` 'paid' | 'partial' | 'unpaid', required — Payment status (paid, partial, unpaid)
    - `purchase_order` string — Associated purchase order number
    - `created_at` string, date-time, required — Timestamp when invoice was created
    - `created_at_utc` string, date-time, nullable — UTC equivalent of created_at. ISO 8601 with Z suffix, e.g. "2025-05-20T15:17:35.652584Z".
    - `approved_date` string, date-time — Date when invoice was approved
    - `approved_date_utc` string, date-time, nullable — UTC equivalent of approved_date. ISO 8601 with Z suffix, e.g. "2025-05-20T15:17:35.652584Z".
    - `exported_date` string, date-time — Date when invoice was exported
    - `exported_date_utc` string, date-time, nullable — UTC equivalent of exported_date. ISO 8601 with Z suffix, e.g. "2025-05-20T15:17:35.652584Z".
    - `last_modified_date` string, date-time — Timestamp when invoice was last modified
    - `last_modified_date_utc` string, date-time, nullable — UTC equivalent of last_modified_date. ISO 8601 with Z suffix, e.g. "2025-05-20T15:17:35.652584Z".
    - `last_modified_user` InvoiceObjectLastModifiedUser — User who last modified the invoice
      - `id` integer
      - `email` string, email
      - `first_name` string
      - `last_name` string
    - `posting_date` string, date — Date when invoice was posted
    - `error` string — Processing error message if invoice has issues
    - `has_price_variance` boolean — Whether invoice has price discrepancies
    - `has_unmatched_items` boolean — Whether invoice has unmatched line items
    - `on_hold` InvoiceObjectOnHold — Hold status information
      - `is_held` boolean — Whether invoice is on hold
      - `reason` string — Reason for hold
    - `url` string — URL to view the invoice in the Ottimate dashboard
    - `images` InvoiceObjectImagesItems[] — List of invoice images
      - `id` integer — Unique image identifier
      - `url` string — CDN URL to the invoice image
    - `dimensions` InvoiceObjectDimensions — Header-level dimension mappings. Contains accounting dimensions assigned to the invoice header (e.g., Department, Class, Location).
    - `items` InvoiceLineItemObject[] — Line item details with matched catalog entry information for this invoice. Omitted entirely from the response unless expand=items is passed as a query parameter.
      - `id` string — Unique invoice line item identifier
      - `ottimate_item_id` string — Ottimate catalog item identifier for this line
      - `name` string, nullable — Item name as recorded on the line
      - `display_name` string, nullable — Display name for the item
      - `sku` string, nullable — SKU for the item on this line
      - `type` string, nullable — Line item type
      - `quantity` number, double — Quantity purchased on this line
      - `unit` string, nullable — Unit of measure label for the quantity
      - `unit_price` number, double — Price per unit
      - `line_total` number, double — Total amount for this line (quantity * unit_price)
      - `charge_type` string, nullable — Charge type code for this line, if any
      - `is_taxed` boolean — Whether this line is taxed
      - `pack_size` string, nullable — Pack size label for the item
      - `uom` string, nullable — Unit of measure code
      - `catalog_entry` InvoiceLineItemObjectCatalogEntry — Matched catalog entry for this line item. Null when the line item has no catalog match.
        - `id` string — Catalog entry identifier
        - `ottimate_company_id` integer — Company ID owning this catalog entry
        - `reference_id` string, nullable — Unique reference key for the catalog entry
        - `catalog_unique_key` string, nullable — Catalog-wide unique key for the entry
        - `description` string, nullable — Catalog entry description
        - `original_description` string, nullable — Original description as received from the vendor
        - `sku` string, nullable — SKU code
        - `upc` string, nullable — UPC code
        - `size` string, nullable — Pack size for the catalog entry
        - `uom` string, nullable — Unit of measure
        - `price` number, double, nullable — Catalog price
        - `unit_price` number, double, nullable — Catalog unit price
        - `last_purchased_price` number, double, nullable — Most recent purchase price recorded for this catalog entry
        - `erp_vendor_id` string, nullable — ERP vendor id sourced from the originating accounting system
        - `ottimate_vendor_name` string, nullable — Ottimate vendor name for this catalog entry
        - `is_split_case` boolean — Whether the catalog entry supports split-case buying
        - `authorized_vendor` boolean — Whether the vendor is authorized for this catalog entry
        - `last_purchased_date` string, date, nullable — Date of the most recent purchase of this catalog entry
        - `last_purchased_date_utc` string, date-time, nullable — UTC equivalent of last_purchased_date
        - `created_date` string, date, nullable — Date the catalog entry was created
        - `created_date_utc` string, date-time, nullable — UTC equivalent of created_date
        - `last_modified_date` string, date, nullable — Date the catalog entry was last modified
        - `last_modified_date_utc` string, date-time, nullable — UTC equivalent of last_modified_date
        - `dimensions` InvoiceLineItemObjectCatalogEntryDimensions — POS dimensions for the catalog entry. Present only when the matched catalog entry has dimension data.
        - `properties` InvoiceLineItemObjectCatalogEntry — recursive
        - `display_name` string — Catalog entry display name. Present only when the matched catalog entry has a display name.
        - `prices` InvoiceLineItemObjectCatalogEntryPricesItems[] — Catalog price history. Present only when the matched catalog entry has price history.
        - `allowances` InvoiceLineItemObjectCatalogEntryAllowancesItems[] — Catalog allowances. Present only when the matched catalog entry has allowances.
      - `custom_fields` InvoiceLineItemObjectCustomFields — Custom field key/value pairs configured on the line item
      - `dimensions` InvoiceLineItemObjectDimensions — Line-item-level dimension mappings, in the same shape as the invoice header's dimensions.

## Other responses

- `400` — Bad request - Invalid parameters or request format
- `401` — Unauthorized - Authentication required or invalid credentials
- `403` — Forbidden - Access denied or insufficient permissions

---

[API](https://skmtc.dev/ottimate/apis/api-reference.md) · [All operations](https://skmtc.dev/ottimate/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ottimate/api-reference/revisions/ba91ff4c6969/schema)
