Skip to content

List findings across the organization (review queue)

GET
/findings
curl --request GET \
--url 'https://api.invogi.com/v1/findings?status=open&severity=INFO&disposition=OPEN&include=detail' \
--header 'Authorization: Bearer <token>'

Open findings by default, newest first. Rows omit evidence, relatedInvoiceIds and recommendedAction to keep pages small; pass include=detail to keep them on the rows, or fetch one finding by id.

status
string
Allowed values: open all

All also lists reviewed findings

company_id
string format: uuid
severity
string
Allowed values: INFO LOW MEDIUM HIGH CRITICAL
type
string
disposition
string
Allowed values: OPEN CONFIRMED FALSE_POSITIVE ACCEPTED_RISK
from
string format: date
to
string format: date
q
string
<= 100 characters

Matches the summary, invoice number or supplier name

include
string
Allowed values: detail
limit
integer
offset
integer

A page of findings

Media typeapplication/json
object
items
required
Array<object>
object
id
required
string
invoiceId

Null for payment-only findings

string | null format: uuid
invoiceNumber
string | null
supplierId
string | null format: uuid
supplierName
string | null
scanId

Source historical scan; null for real-time invoices

string | null format: uuid
type
required
string
severity
required
string
Allowed values: INFO LOW MEDIUM HIGH CRITICAL
summary
required
string
recommendedAction
string | null
confidence
number
<= 1
evidence
object
key
additional properties
any
relatedInvoiceIds
Array<string>
disposition
string
Allowed values: OPEN CONFIRMED FALSE_POSITIVE ACCEPTED_RISK
total
required

Findings matching the filters

integer
limit
required
integer
offset
required
integer
dispositionCounts

Whole-scan finding counts by disposition, ignoring filters and paging

object
key
additional properties
integer

Example

{
"items": [
{
"severity": "INFO",
"disposition": "OPEN"
}
]
}

Invalid request

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: NOT_FOUND UNAUTHORIZED FORBIDDEN INVALID_REQUEST CONFLICT RATE_LIMITED USAGE_LIMIT_EXCEEDED PROCESSING_FAILED
message
required
string
request_id
required
string

Example

{
"error": {
"code": "NOT_FOUND"
}
}

Missing or invalid API key

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: NOT_FOUND UNAUTHORIZED FORBIDDEN INVALID_REQUEST CONFLICT RATE_LIMITED USAGE_LIMIT_EXCEEDED PROCESSING_FAILED
message
required
string
request_id
required
string

Example

{
"error": {
"code": "NOT_FOUND"
}
}