Skip to main content
POST
/
v6
/
invoicing
/
invoices
/
query
Query invoices
curl --request POST \
  --url https://sandbox.tight.com/v6/invoicing/invoices/query \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "cursor": "<string>",
  "limit": 123,
  "sort": {
    "orderBy": "NAME",
    "direction": "ASC"
  },
  "filter": {
    "name": {
      "equal": "<string>",
      "notEqual": "<string>",
      "greaterThan": "<string>",
      "greaterThanEqual": "<string>",
      "lessThan": "<string>",
      "lessThanEqual": "<string>",
      "contain": "<string>"
    },
    "status": {
      "in": [
        "ACTIVE"
      ],
      "notIn": [
        "ACTIVE"
      ],
      "equal": "ACTIVE",
      "notEqual": "ACTIVE",
      "greaterThan": "ACTIVE",
      "greaterThanEqual": "ACTIVE",
      "lessThan": "ACTIVE",
      "lessThanEqual": "ACTIVE"
    }
  }
}
'
{
  "result": "SUCCESS",
  "data": [
    {
      "id": "inv_158998869",
      "name": "June Consulting Invoice",
      "invoiceNo": 1001,
      "status": "ACTIVE",
      "invoiceStatus": "OPEN",
      "date": "2025-06-26",
      "totals": {
        "subtotal": 10000,
        "discountedTotal": 9500,
        "salesTax": 843,
        "total": 10343,
        "paidAmount": 5000,
        "balance": 5343
      },
      "pdfUrl": "https://cdn.sandbox.tight.com/invoices/inv_158998869.pdf",
      "customerInvoiceKey": "abc123xyz",
      "notes": "Thank you for your business!",
      "customer": {
        "id": "cus_4852707",
        "name": "Abigail Adams",
        "email": "abigail@tight.com"
      },
      "apiName": "QBO",
      "apiSourceId": "ext_123",
      "recurrence": {
        "frequency": "MONTHLY",
        "interval": 1,
        "endDate": "2025-12-31"
      },
      "discount": {
        "value": "5.0",
        "type": "PERCENT",
        "calculateBeforeSalesTax": true
      },
      "salesTax": {
        "value": "8.875",
        "type": "PERCENT"
      },
      "collectionInfo": {
        "paymentUrl": "https://pay.tight.com/inv_158998869",
        "term": {
          "type": "NET_30",
          "dueDate": "2025-07-26"
        },
        "sendEmail": true,
        "lastViewedDatetime": "2023-11-07T05:31:56Z",
        "reminderRecurrence": {
          "frequency": "WEEKLY",
          "interval": 1
        },
        "emailSentDatetime": "2023-11-07T05:31:56Z",
        "emailStatus": "SENT",
        "emailErrors": {
          "internal_key": "some_internal_key",
          "some_other_field": 23434
        },
        "paymentMethods": [
          "CREDIT_CARD"
        ]
      },
      "lineItems": [
        {
          "id": "ili_28868401",
          "description": "Consulting services",
          "amount": 10000,
          "quantity": "2.0",
          "price": "5000.0",
          "salesTax": {
            "value": "8.875",
            "type": "PERCENT"
          },
          "apiItemId": "ext_item_123",
          "glAccount": {
            "id": "gla_38560327",
            "name": "Officer(s) Salaries and Wages",
            "accountNo": "60210",
            "type": "EXPENSE",
            "iconUrl": "https://cdn.sandbox.tight.com/icons/glAccountTypes/expense.png"
          }
        }
      ],
      "installments": [
        {
          "id": "istl_123",
          "name": "First installment",
          "dueDate": "2025-07-15",
          "balance": 10000,
          "amountDue": {
            "value": "50.0",
            "type": "AMOUNT"
          }
        }
      ],
      "customData": {
        "internal_key": "some_internal_key",
        "some_other_field": 23434
      }
    }
  ],
  "cursor": {
    "after": "<string>",
    "before": "<string>"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, see Authentication for more detail.

Body

application/json
cursor
string | null

Cursor from the previous paginated response

limit
integer<int32>

Page size, i.e. number of items to return per page

Required range: x <= 250
sort
object

Sort order for the items in the response.

filter
object

Filter for items in the response.

Response

Success

result
enum<string>

The result of the action performed.

Available options:
SUCCESS,
FAILURE
data
object[]

The data generated by the action performed.

cursor
object

Cursor to be used in your subsequent paginated request. Only populated if there are more pages available.