Skip to main content
POST
/
v6
/
payments
Save payments
curl --request POST \
  --url https://sandbox.tight.com/v6/payments \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "data": [
    {
      "date": "2025-06-26",
      "amount": 273479,
      "description": "<string>",
      "id": "ptxn_158998869",
      "notes": "June Payroll",
      "apiSourceId": "<string>",
      "bankAccountId": "bka_7542850",
      "dimensionValueIds": [
        "<string>"
      ],
      "customerId": "cus_4852707",
      "vendorId": "vnd_28868401",
      "categoryId": "ctg_58932890",
      "glAccountId": "gla_38560327",
      "children": [
        {
          "amount": 134051,
          "glAccountId": "<string>",
          "id": "tli_349412",
          "apiItemId": "<string>",
          "dimensionValueIds": [
            "<string>"
          ],
          "customerId": "<string>",
          "vendorId": "<string>",
          "categoryId": "<string>",
          "invoiceId": "<string>",
          "billId": "<string>"
        }
      ],
      "customData": {
        "internal_key": "some_internal_key",
        "some_other_field": 23434
      }
    }
  ]
}
'
import requests

url = "https://sandbox.tight.com/v6/payments"

payload = { "data": [
        {
            "date": "2025-06-26",
            "amount": 273479,
            "description": "<string>",
            "id": "ptxn_158998869",
            "notes": "June Payroll",
            "apiSourceId": "<string>",
            "bankAccountId": "bka_7542850",
            "dimensionValueIds": ["<string>"],
            "customerId": "cus_4852707",
            "vendorId": "vnd_28868401",
            "categoryId": "ctg_58932890",
            "glAccountId": "gla_38560327",
            "children": [
                {
                    "amount": 134051,
                    "glAccountId": "<string>",
                    "id": "tli_349412",
                    "apiItemId": "<string>",
                    "dimensionValueIds": ["<string>"],
                    "customerId": "<string>",
                    "vendorId": "<string>",
                    "categoryId": "<string>",
                    "invoiceId": "<string>",
                    "billId": "<string>"
                }
            ],
            "customData": {
                "internal_key": "some_internal_key",
                "some_other_field": 23434
            }
        }
    ] }
headers = {
    "Authorization": "Bearer <token>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    data: [
      {
        date: '2025-06-26',
        amount: 273479,
        description: '<string>',
        id: 'ptxn_158998869',
        notes: 'June Payroll',
        apiSourceId: '<string>',
        bankAccountId: 'bka_7542850',
        dimensionValueIds: ['<string>'],
        customerId: 'cus_4852707',
        vendorId: 'vnd_28868401',
        categoryId: 'ctg_58932890',
        glAccountId: 'gla_38560327',
        children: [
          {
            amount: 134051,
            glAccountId: '<string>',
            id: 'tli_349412',
            apiItemId: '<string>',
            dimensionValueIds: ['<string>'],
            customerId: '<string>',
            vendorId: '<string>',
            categoryId: '<string>',
            invoiceId: '<string>',
            billId: '<string>'
          }
        ],
        customData: {internal_key: 'some_internal_key', some_other_field: 23434}
      }
    ]
  })
};

fetch('https://sandbox.tight.com/v6/payments', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://sandbox.tight.com/v6/payments",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([
    'data' => [
        [
                'date' => '2025-06-26',
                'amount' => 273479,
                'description' => '<string>',
                'id' => 'ptxn_158998869',
                'notes' => 'June Payroll',
                'apiSourceId' => '<string>',
                'bankAccountId' => 'bka_7542850',
                'dimensionValueIds' => [
                                '<string>'
                ],
                'customerId' => 'cus_4852707',
                'vendorId' => 'vnd_28868401',
                'categoryId' => 'ctg_58932890',
                'glAccountId' => 'gla_38560327',
                'children' => [
                                [
                                                                'amount' => 134051,
                                                                'glAccountId' => '<string>',
                                                                'id' => 'tli_349412',
                                                                'apiItemId' => '<string>',
                                                                'dimensionValueIds' => [
                                                                                                                                '<string>'
                                                                ],
                                                                'customerId' => '<string>',
                                                                'vendorId' => '<string>',
                                                                'categoryId' => '<string>',
                                                                'invoiceId' => '<string>',
                                                                'billId' => '<string>'
                                ]
                ],
                'customData' => [
                                'internal_key' => 'some_internal_key',
                                'some_other_field' => 23434
                ]
        ]
    ]
  ]),
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer <token>",
    "Content-Type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://sandbox.tight.com/v6/payments"

	payload := strings.NewReader("{\n  \"data\": [\n    {\n      \"date\": \"2025-06-26\",\n      \"amount\": 273479,\n      \"description\": \"<string>\",\n      \"id\": \"ptxn_158998869\",\n      \"notes\": \"June Payroll\",\n      \"apiSourceId\": \"<string>\",\n      \"bankAccountId\": \"bka_7542850\",\n      \"dimensionValueIds\": [\n        \"<string>\"\n      ],\n      \"customerId\": \"cus_4852707\",\n      \"vendorId\": \"vnd_28868401\",\n      \"categoryId\": \"ctg_58932890\",\n      \"glAccountId\": \"gla_38560327\",\n      \"children\": [\n        {\n          \"amount\": 134051,\n          \"glAccountId\": \"<string>\",\n          \"id\": \"tli_349412\",\n          \"apiItemId\": \"<string>\",\n          \"dimensionValueIds\": [\n            \"<string>\"\n          ],\n          \"customerId\": \"<string>\",\n          \"vendorId\": \"<string>\",\n          \"categoryId\": \"<string>\",\n          \"invoiceId\": \"<string>\",\n          \"billId\": \"<string>\"\n        }\n      ],\n      \"customData\": {\n        \"internal_key\": \"some_internal_key\",\n        \"some_other_field\": 23434\n      }\n    }\n  ]\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Authorization", "Bearer <token>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://sandbox.tight.com/v6/payments")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"data\": [\n    {\n      \"date\": \"2025-06-26\",\n      \"amount\": 273479,\n      \"description\": \"<string>\",\n      \"id\": \"ptxn_158998869\",\n      \"notes\": \"June Payroll\",\n      \"apiSourceId\": \"<string>\",\n      \"bankAccountId\": \"bka_7542850\",\n      \"dimensionValueIds\": [\n        \"<string>\"\n      ],\n      \"customerId\": \"cus_4852707\",\n      \"vendorId\": \"vnd_28868401\",\n      \"categoryId\": \"ctg_58932890\",\n      \"glAccountId\": \"gla_38560327\",\n      \"children\": [\n        {\n          \"amount\": 134051,\n          \"glAccountId\": \"<string>\",\n          \"id\": \"tli_349412\",\n          \"apiItemId\": \"<string>\",\n          \"dimensionValueIds\": [\n            \"<string>\"\n          ],\n          \"customerId\": \"<string>\",\n          \"vendorId\": \"<string>\",\n          \"categoryId\": \"<string>\",\n          \"invoiceId\": \"<string>\",\n          \"billId\": \"<string>\"\n        }\n      ],\n      \"customData\": {\n        \"internal_key\": \"some_internal_key\",\n        \"some_other_field\": 23434\n      }\n    }\n  ]\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://sandbox.tight.com/v6/payments")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"data\": [\n    {\n      \"date\": \"2025-06-26\",\n      \"amount\": 273479,\n      \"description\": \"<string>\",\n      \"id\": \"ptxn_158998869\",\n      \"notes\": \"June Payroll\",\n      \"apiSourceId\": \"<string>\",\n      \"bankAccountId\": \"bka_7542850\",\n      \"dimensionValueIds\": [\n        \"<string>\"\n      ],\n      \"customerId\": \"cus_4852707\",\n      \"vendorId\": \"vnd_28868401\",\n      \"categoryId\": \"ctg_58932890\",\n      \"glAccountId\": \"gla_38560327\",\n      \"children\": [\n        {\n          \"amount\": 134051,\n          \"glAccountId\": \"<string>\",\n          \"id\": \"tli_349412\",\n          \"apiItemId\": \"<string>\",\n          \"dimensionValueIds\": [\n            \"<string>\"\n          ],\n          \"customerId\": \"<string>\",\n          \"vendorId\": \"<string>\",\n          \"categoryId\": \"<string>\",\n          \"invoiceId\": \"<string>\",\n          \"billId\": \"<string>\"\n        }\n      ],\n      \"customData\": {\n        \"internal_key\": \"some_internal_key\",\n        \"some_other_field\": 23434\n      }\n    }\n  ]\n}"

response = http.request(request)
puts response.read_body
{
  "data": [
    {
      "data": {
        "id": "ptxn_158998869",
        "date": "2025-06-26",
        "amount": 273479,
        "displayName": "Gusto",
        "description": "WITHDRAWAL ACH GUSTO TAXID: 4001",
        "notes": "June Payroll",
        "status": "ACTIVE",
        "reviewStatus": "RECONCILED",
        "apiName": "PLAID",
        "apiSourceId": "QeXqN7XJT50dwE4S19ZgVv4nnhLvjX7",
        "bankAccount": {
          "id": "bka_7542850",
          "name": "Business Checking",
          "displayName": "Business Checking *1687"
        },
        "dimensionValues": [
          {
            "id": "dv_593051",
            "dimension": {
              "id": "dim_4521",
              "name": "Region",
              "requiredness": "NOT_REQUIRED"
            },
            "name": "Mid-Atlantic",
            "child": {
              "id": "dv_593052",
              "dimension": {
                "id": "dim_4521",
                "name": "Region",
                "requiredness": "NOT_REQUIRED"
              },
              "name": "Washington DC",
              "child": "<unknown>"
            }
          }
        ],
        "customer": {
          "id": "cus_4852707",
          "name": "Abigail Adams",
          "email": "abigail@tight.com"
        },
        "vendor": {
          "id": "vnd_28868401",
          "name": "Gusto"
        },
        "category": {
          "id": "ctg_58932890",
          "name": "Wages",
          "iconUrl": "https://cdn.sandbox.tight.com/icons/expenseCategories/payroll.svg"
        },
        "glAccount": {
          "id": "gla_38560327",
          "name": "Officer(s) Salaries and Wages",
          "accountNo": "60210",
          "type": "EXPENSE",
          "iconUrl": "https://cdn.sandbox.tight.com/icons/glAccountTypes/expense.png",
          "displayName": "#60210 Officer(s) Salaries and Wages"
        },
        "bankTransaction": {
          "id": "<string>",
          "apiSourceId": "<string>",
          "amount": 123,
          "date": "2023-12-25",
          "description": "<string>",
          "apiInstitutionId": "<string>",
          "bankAccount": {
            "id": "bka_7542850",
            "name": "Business Checking",
            "displayName": "Business Checking *1687"
          }
        },
        "children": [
          {
            "id": "itm_349412",
            "amount": -134051,
            "displayName": "Gusto",
            "description": "WITHDRAWAL ACH GUSTO TAXID: 4001",
            "apiItemId": "<string>",
            "dimensionValues": [
              {
                "id": "dv_593051",
                "dimension": {
                  "id": "dim_4521",
                  "name": "Region",
                  "requiredness": "NOT_REQUIRED"
                },
                "name": "Mid-Atlantic",
                "child": {
                  "id": "dv_593052",
                  "dimension": {
                    "id": "dim_4521",
                    "name": "Region",
                    "requiredness": "NOT_REQUIRED"
                  },
                  "name": "Washington DC",
                  "child": "<unknown>"
                }
              }
            ],
            "customer": {
              "id": "cus_4852707",
              "name": "Abigail Adams",
              "email": "abigail@tight.com"
            },
            "vendor": {
              "id": "vnd_28868401",
              "name": "Gusto"
            },
            "category": {
              "id": "ctg_58932890",
              "name": "Wages",
              "iconUrl": "https://cdn.sandbox.tight.com/icons/expenseCategories/payroll.svg"
            },
            "glAccount": {
              "id": "gla_38560327",
              "name": "Officer(s) Salaries and Wages",
              "accountNo": "60210",
              "type": "EXPENSE",
              "iconUrl": "https://cdn.sandbox.tight.com/icons/glAccountTypes/expense.png",
              "displayName": "#60210 Officer(s) Salaries and Wages"
            },
            "invoice": {
              "id": "<string>",
              "name": "<string>",
              "date": "2023-12-25",
              "lineItems": [
                {
                  "id": "ili_123456",
                  "amount": 5001
                }
              ]
            },
            "bill": {
              "id": "<string>",
              "name": "<string>",
              "lineItems": [
                {
                  "id": "bli_123456",
                  "amount": 5001
                }
              ]
            }
          }
        ],
        "customData": {
          "internal_key": "some_internal_key",
          "some_other_field": 23434
        }
      },
      "error": [
        {
          "message": "<string>",
          "param": "<string>"
        }
      ]
    }
  ],
  "error": [
    {
      "message": "<string>",
      "param": "<string>"
    }
  ]
}
{
  "data": [
    {
      "data": {
        "id": "ptxn_158998869",
        "date": "2025-06-26",
        "amount": 273479,
        "displayName": "Gusto",
        "description": "WITHDRAWAL ACH GUSTO TAXID: 4001",
        "notes": "June Payroll",
        "status": "ACTIVE",
        "reviewStatus": "RECONCILED",
        "apiName": "PLAID",
        "apiSourceId": "QeXqN7XJT50dwE4S19ZgVv4nnhLvjX7",
        "bankAccount": {
          "id": "bka_7542850",
          "name": "Business Checking",
          "displayName": "Business Checking *1687"
        },
        "dimensionValues": [
          {
            "id": "dv_593051",
            "dimension": {
              "id": "dim_4521",
              "name": "Region",
              "requiredness": "NOT_REQUIRED"
            },
            "name": "Mid-Atlantic",
            "child": {
              "id": "dv_593052",
              "dimension": {
                "id": "dim_4521",
                "name": "Region",
                "requiredness": "NOT_REQUIRED"
              },
              "name": "Washington DC",
              "child": "<unknown>"
            }
          }
        ],
        "customer": {
          "id": "cus_4852707",
          "name": "Abigail Adams",
          "email": "abigail@tight.com"
        },
        "vendor": {
          "id": "vnd_28868401",
          "name": "Gusto"
        },
        "category": {
          "id": "ctg_58932890",
          "name": "Wages",
          "iconUrl": "https://cdn.sandbox.tight.com/icons/expenseCategories/payroll.svg"
        },
        "glAccount": {
          "id": "gla_38560327",
          "name": "Officer(s) Salaries and Wages",
          "accountNo": "60210",
          "type": "EXPENSE",
          "iconUrl": "https://cdn.sandbox.tight.com/icons/glAccountTypes/expense.png",
          "displayName": "#60210 Officer(s) Salaries and Wages"
        },
        "bankTransaction": {
          "id": "<string>",
          "apiSourceId": "<string>",
          "amount": 123,
          "date": "2023-12-25",
          "description": "<string>",
          "apiInstitutionId": "<string>",
          "bankAccount": {
            "id": "bka_7542850",
            "name": "Business Checking",
            "displayName": "Business Checking *1687"
          }
        },
        "children": [
          {
            "id": "itm_349412",
            "amount": -134051,
            "displayName": "Gusto",
            "description": "WITHDRAWAL ACH GUSTO TAXID: 4001",
            "apiItemId": "<string>",
            "dimensionValues": [
              {
                "id": "dv_593051",
                "dimension": {
                  "id": "dim_4521",
                  "name": "Region",
                  "requiredness": "NOT_REQUIRED"
                },
                "name": "Mid-Atlantic",
                "child": {
                  "id": "dv_593052",
                  "dimension": {
                    "id": "dim_4521",
                    "name": "Region",
                    "requiredness": "NOT_REQUIRED"
                  },
                  "name": "Washington DC",
                  "child": "<unknown>"
                }
              }
            ],
            "customer": {
              "id": "cus_4852707",
              "name": "Abigail Adams",
              "email": "abigail@tight.com"
            },
            "vendor": {
              "id": "vnd_28868401",
              "name": "Gusto"
            },
            "category": {
              "id": "ctg_58932890",
              "name": "Wages",
              "iconUrl": "https://cdn.sandbox.tight.com/icons/expenseCategories/payroll.svg"
            },
            "glAccount": {
              "id": "gla_38560327",
              "name": "Officer(s) Salaries and Wages",
              "accountNo": "60210",
              "type": "EXPENSE",
              "iconUrl": "https://cdn.sandbox.tight.com/icons/glAccountTypes/expense.png",
              "displayName": "#60210 Officer(s) Salaries and Wages"
            },
            "invoice": {
              "id": "<string>",
              "name": "<string>",
              "date": "2023-12-25",
              "lineItems": [
                {
                  "id": "ili_123456",
                  "amount": 5001
                }
              ]
            },
            "bill": {
              "id": "<string>",
              "name": "<string>",
              "lineItems": [
                {
                  "id": "bli_123456",
                  "amount": 5001
                }
              ]
            }
          }
        ],
        "customData": {
          "internal_key": "some_internal_key",
          "some_other_field": 23434
        }
      },
      "error": [
        {
          "message": "<string>",
          "param": "<string>"
        }
      ]
    }
  ],
  "error": [
    {
      "message": "<string>",
      "param": "<string>"
    }
  ]
}
{
  "data": [
    {
      "data": {
        "id": "ptxn_158998869",
        "date": "2025-06-26",
        "amount": 273479,
        "displayName": "Gusto",
        "description": "WITHDRAWAL ACH GUSTO TAXID: 4001",
        "notes": "June Payroll",
        "status": "ACTIVE",
        "reviewStatus": "RECONCILED",
        "apiName": "PLAID",
        "apiSourceId": "QeXqN7XJT50dwE4S19ZgVv4nnhLvjX7",
        "bankAccount": {
          "id": "bka_7542850",
          "name": "Business Checking",
          "displayName": "Business Checking *1687"
        },
        "dimensionValues": [
          {
            "id": "dv_593051",
            "dimension": {
              "id": "dim_4521",
              "name": "Region",
              "requiredness": "NOT_REQUIRED"
            },
            "name": "Mid-Atlantic",
            "child": {
              "id": "dv_593052",
              "dimension": {
                "id": "dim_4521",
                "name": "Region",
                "requiredness": "NOT_REQUIRED"
              },
              "name": "Washington DC",
              "child": "<unknown>"
            }
          }
        ],
        "customer": {
          "id": "cus_4852707",
          "name": "Abigail Adams",
          "email": "abigail@tight.com"
        },
        "vendor": {
          "id": "vnd_28868401",
          "name": "Gusto"
        },
        "category": {
          "id": "ctg_58932890",
          "name": "Wages",
          "iconUrl": "https://cdn.sandbox.tight.com/icons/expenseCategories/payroll.svg"
        },
        "glAccount": {
          "id": "gla_38560327",
          "name": "Officer(s) Salaries and Wages",
          "accountNo": "60210",
          "type": "EXPENSE",
          "iconUrl": "https://cdn.sandbox.tight.com/icons/glAccountTypes/expense.png",
          "displayName": "#60210 Officer(s) Salaries and Wages"
        },
        "bankTransaction": {
          "id": "<string>",
          "apiSourceId": "<string>",
          "amount": 123,
          "date": "2023-12-25",
          "description": "<string>",
          "apiInstitutionId": "<string>",
          "bankAccount": {
            "id": "bka_7542850",
            "name": "Business Checking",
            "displayName": "Business Checking *1687"
          }
        },
        "children": [
          {
            "id": "itm_349412",
            "amount": -134051,
            "displayName": "Gusto",
            "description": "WITHDRAWAL ACH GUSTO TAXID: 4001",
            "apiItemId": "<string>",
            "dimensionValues": [
              {
                "id": "dv_593051",
                "dimension": {
                  "id": "dim_4521",
                  "name": "Region",
                  "requiredness": "NOT_REQUIRED"
                },
                "name": "Mid-Atlantic",
                "child": {
                  "id": "dv_593052",
                  "dimension": {
                    "id": "dim_4521",
                    "name": "Region",
                    "requiredness": "NOT_REQUIRED"
                  },
                  "name": "Washington DC",
                  "child": "<unknown>"
                }
              }
            ],
            "customer": {
              "id": "cus_4852707",
              "name": "Abigail Adams",
              "email": "abigail@tight.com"
            },
            "vendor": {
              "id": "vnd_28868401",
              "name": "Gusto"
            },
            "category": {
              "id": "ctg_58932890",
              "name": "Wages",
              "iconUrl": "https://cdn.sandbox.tight.com/icons/expenseCategories/payroll.svg"
            },
            "glAccount": {
              "id": "gla_38560327",
              "name": "Officer(s) Salaries and Wages",
              "accountNo": "60210",
              "type": "EXPENSE",
              "iconUrl": "https://cdn.sandbox.tight.com/icons/glAccountTypes/expense.png",
              "displayName": "#60210 Officer(s) Salaries and Wages"
            },
            "invoice": {
              "id": "<string>",
              "name": "<string>",
              "date": "2023-12-25",
              "lineItems": [
                {
                  "id": "ili_123456",
                  "amount": 5001
                }
              ]
            },
            "bill": {
              "id": "<string>",
              "name": "<string>",
              "lineItems": [
                {
                  "id": "bli_123456",
                  "amount": 5001
                }
              ]
            }
          }
        ],
        "customData": {
          "internal_key": "some_internal_key",
          "some_other_field": 23434
        }
      },
      "error": [
        {
          "message": "<string>",
          "param": "<string>"
        }
      ]
    }
  ],
  "error": [
    {
      "message": "<string>",
      "param": "<string>"
    }
  ]
}
{
  "result": "FAILURE",
  "error": [
    {
      "type": "INVALID_TOKEN",
      "message": "Invalid access token"
    }
  ]
}
{
  "result": "FAILURE",
  "error": [
    {
      "type": "FORBIDDEN",
      "message": "Expired access token"
    }
  ]
}
{
  "result": "FAILURE",
  "error": [
    {
      "type": "BAD_REQUEST",
      "message": "Resource not found"
    }
  ]
}
{
  "result": "FAILURE",
  "error": [
    {
      "type": "UNKNOWN_ERROR",
      "message": "Something went wrong. Please try again later."
    }
  ]
}

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[]