Skip to main content
POST
/
v6
/
invoicing
/
invoices
Save invoices
curl --request POST \
  --url https://sandbox.tight.com/v6/invoicing/invoices \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "data": [
    {
      "id": "inv_158998869",
      "name": "June Consulting Invoice",
      "invoiceNo": 1001,
      "status": "ACTIVE",
      "invoiceStatus": "OPEN",
      "date": "2025-06-26",
      "pdfUrl": "https://cdn.sandbox.tight.com/invoices/inv_158998869.pdf",
      "customerInvoiceKey": "abc123xyz",
      "notes": "Thank you for your business!",
      "customerId": "cus_28868401",
      "apiName": "QBO",
      "apiSourceId": "ext_123",
      "recurrence": {
        "updateType": "FUTURE_ONLY",
        "frequency": "MONTHLY",
        "interval": 1,
        "endDate": "2025-12-31"
      },
      "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",
          "glAccountId": "gla_38560327"
        }
      ],
      "discount": {
        "value": "5.0",
        "type": "PERCENT",
        "calculateBeforeSalesTax": true
      },
      "salesTax": {
        "value": "8.875",
        "type": "PERCENT"
      },
      "collectionInfo": {
        "paymentMethods": [
          "DIRECT"
        ],
        "term": {
          "type": "NET_30",
          "dueDate": "2025-07-26"
        },
        "sendEmail": true,
        "reminderRecurrence": {
          "frequency": "WEEKLY",
          "interval": 1
        }
      },
      "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
      }
    }
  ]
}
'
{
  "result": "SUCCESS",
  "data": [
    {
      "result": "SUCCESS",
      "statusCode": 200,
      "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
        }
      },
      "error": [
        {
          "type": "UNKNOWN_ERROR",
          "message": "<string>",
          "param": "<string>"
        }
      ]
    }
  ],
  "error": [
    {
      "type": "UNKNOWN_ERROR",
      "message": "<string>",
      "param": "<string>"
    }
  ]
}

Authorizations

Authorization
string
header
required

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

Body

application/json
data
object[]
required

Response

Success

result
enum<string>

The result of the action performed.

Available options:
SUCCESS,
FAILURE
data
object[]

The data generated by the action performed.

error
object[]