Refresh a Stripe invoice
curl --request POST \
--url https://api.entendre.finance/v1/cash-applications/invoices/refresh \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"stripe_invoice_id": "<string>"
}
'const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({stripe_invoice_id: '<string>'})
};
fetch('https://api.entendre.finance/v1/cash-applications/invoices/refresh', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.entendre.finance/v1/cash-applications/invoices/refresh"
payload = { "stripe_invoice_id": "<string>" }
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"data": {
"id": "inv_6abdd3ca45e830e2dc546380",
"invoice_number": "216F76A2-0079",
"customer_name": "American Family",
"customer_id": "cus_QKTLxU6mSX1lWX",
"status": "open",
"amount_due": "1970.06",
"total_amount": "1970.06",
"invoice_date": "2026-10-01T00:00:00.000Z",
"due_date": null,
"currency": "USD",
"legal_entity_id": null,
"transaction_id": null,
"provider": "stripe",
"eligible": true,
"ineligibility_reason": null
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "More than one enabled Stripe connection matches. Supply connection_id.",
"connection_ids": [
"con_507f1f77bcf86cd799439011",
"con_507f191e810c19729de860ea"
]
}
}{
"error": {
"code": "FORBIDDEN",
"message": "Missing write:cash-application permission."
}
}{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "No active connection matches, or Stripe cannot find the invoice on the selected connection."
}
}{
"error": {
"code": "CONFLICT",
"message": "This invoice belongs to another active Stripe connection. Select its connection_id.",
"connection_id": "con_507f1f77bcf86cd799439011"
}
}{
"error": {
"code": "PROVIDER_ERROR",
"message": "Stripe could not complete the refresh. A failed Stripe request does not prove the invoice is absent."
}
}Cash Application
Refresh Stripe invoice
Fetch an invoice from Stripe and update its local record.
POST
/
v1
/
cash-applications
/
invoices
/
refresh
Refresh a Stripe invoice
curl --request POST \
--url https://api.entendre.finance/v1/cash-applications/invoices/refresh \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"stripe_invoice_id": "<string>"
}
'const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({stripe_invoice_id: '<string>'})
};
fetch('https://api.entendre.finance/v1/cash-applications/invoices/refresh', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.entendre.finance/v1/cash-applications/invoices/refresh"
payload = { "stripe_invoice_id": "<string>" }
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"data": {
"id": "inv_6abdd3ca45e830e2dc546380",
"invoice_number": "216F76A2-0079",
"customer_name": "American Family",
"customer_id": "cus_QKTLxU6mSX1lWX",
"status": "open",
"amount_due": "1970.06",
"total_amount": "1970.06",
"invoice_date": "2026-10-01T00:00:00.000Z",
"due_date": null,
"currency": "USD",
"legal_entity_id": null,
"transaction_id": null,
"provider": "stripe",
"eligible": true,
"ineligibility_reason": null
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "More than one enabled Stripe connection matches. Supply connection_id.",
"connection_ids": [
"con_507f1f77bcf86cd799439011",
"con_507f191e810c19729de860ea"
]
}
}{
"error": {
"code": "FORBIDDEN",
"message": "Missing write:cash-application permission."
}
}{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "No active connection matches, or Stripe cannot find the invoice on the selected connection."
}
}{
"error": {
"code": "CONFLICT",
"message": "This invoice belongs to another active Stripe connection. Select its connection_id.",
"connection_id": "con_507f1f77bcf86cd799439011"
}
}{
"error": {
"code": "PROVIDER_ERROR",
"message": "Stripe could not complete the refresh. A failed Stripe request does not prove the invoice is absent."
}
}Authorizations
Your organization API key. See Authentication.
Headers
Optional retry key. Check X-Idempotency-Applied before relying on replay protection.
Required string length:
1 - 255Body
application/json
External Stripe invoice ID. Extract in_... from the Stripe invoice URL.
Maximum string length:
128Pattern:
^in_[A-Za-z0-9]+$Stripe connection con_ ID. Required when multiple active connections have cash application enabled. Use the connection IDs in the conflict response.
Response
The refreshed invoice.
A Stripe invoice, with its cash-application eligibility.
Show child attributes
Show child attributes