invoices

Get Ap Portal Status

Get AP Portal Status

The invoice's AP portal status (lifecycle + reject reason + submit-gate): the latest swept portal row matched to it, else NOT_SUBMITTED with PO context when only its PO is swept, else null. Mirrors the invoices-list column.

get/v2/invoices/{invoice_id}/ap-portal-status

Request

  • Base URL
    https://api.stuut.ai (the document declares no server; this is the origin it was published from)
  • Auth
    HTTP bearer

Path parameters

invoice_idstring required

Response

Successful Response

status'not_submitted' | 'submitting' | 'submitted' | 'approved' | 'scheduled' | 'paid' | 'rejected' | 'disputed' | 'on_hold' | 'cancelled' | 'unknown' required

Canonical, MECE invoice status normalized across portals — the dashboard's at-a-glance state. Derived from the raw portal status (preferred) with the coarse SubmissionState as fallback (see stuut.core.ap_portal.normalize). Portal facts only: submit pre-flight results live on the separate submit_gate axis.

reject_reason'po_mismatch' | 'missing_required_field' | 'invalid_tax' | 'duplicate_invoice' | 'unknown_customer' | 'invalid_date' | 'transmission_failed' | 'not_stated' | 'other' | 'po_line_mismatch' | 'receipt_pending' | 'disallowed_charge' | 'invoice_data_error' | 'prerequisite_document' | 'wrong_channel' | 'po_closed' required

Closed reject taxonomy — remediation routes by code, not string-match.

Buckets group rejections by what fixes them: missing fields/attachments into MISSING_REQUIRED_FIELD; tax errors and missing tax docs into INVALID_TAX.

reject_reason_textstring nullable required

The portal's own wording for the rejection. The typed code routes remediation; this says what has to be fixed, and is the only detail left when the code is OTHER.

portal_document_idstring nullable required

Portal-native deep-link handle: the invoice document, or the PO when NOT_SUBMITTED.

provider'kehe' | 'taulia' | 'coupa' | 'ariba' | 'meijer' | 'kroger' | 'walgreens' | 'albertsons' | 'target' | 'heb' | 'heb_sidm' | 'c_and_s' | 'walmart' | 'walmart_highradius' | 'cvs' | 'cvs_sap' | 'cvs_image_silo' | 'kroger_supplier_connect' | 'kroger_claimtrax' | 'kroger_verigon' | 'servicetitan' | 'sandbox' | 'generic' required

Supported AP Portal providers.

as_ofstring date-time required
status_sincestring date-time required
submit_gate'ok' | 'needs_review' | 'blocked' required

Submit pre-flight gate for one invoice — can we submit it right now? Computed from the field-mapping + PO/order checks (see stuut.core.ap_portal.preview) and persisted so the dashboard can flag "needs a fix before submit" without re-running a preview. A separate axis from APPortalInvoiceStatus (what the portal reports about the invoice).

submit_gate_reasonstring nullable required

Changes

No recorded changes to this operation across all 1 revision of this API.