Invoices
API version
Select a version to change the base URI
in syntax and code examples. Learn about versions:
in syntax and code examples. Learn about versions
Represents a list of all issued invoices.
URI
/api/v10/invoicesView all API requests
| API request | Return Type | Verb | Description |
|---|---|---|---|
/api/v10/invoices | C | GET HEAD | List all issued invoices |
/api/v10/invoices/ID/ | R | GET HEAD | Get an issued invoice |
/api/v10/invoices/ID/ | R | DELETE | Delete an issued invoice |
/api/v10/invoices/ID/transactions | C | GET HEAD | List all transactions for an invoice |
/api/v10/invoices/ID/transactions | C | POST | Create a transaction for an invoice (collect an invoice) |
/api/v10/invoices/ID/transactions/ | R | GET HEAD | Get a transaction for an invoice |
/api/v10/invoices/series | R | GET HEAD | List all invoice series |
/api/v10/invoices/transactions | C | GET HEAD | List all transactions |
/api/v10/invoices/transactions/ID/ | R | GET HEAD | Get a transaction |
GET List invoices
List invoices that match the specified filter parameters. The number of invoices is returned in the X-Count header.
Syntax
GET /api/v10/invoices
Host: apply.example.edu
Authorization: DREAM apikey="..."Parameters
| Name | Required/Optional | Description | Notes |
|---|---|---|---|
byIssuedSince | Optional | An ISO 8601 datetime. Only shows invoices issued after date and time. | |
byCollectedSince | Optional | An ISO 8601 datetime. Only shows invoices collected after date and time. | |
byApplicantIDs | Optional | A list of applicant IDs | [1] |
bySerieIDs | Optional | A list of series IDs | [1] |
byCurrencies | Optional | A list of 3-letter currency codes | [1] |
byCollected | Optional | Set to true to only fetch invoices that have been collected. Set to false to only fetch invoices that have not been collected yet. | |
byOverdue | Optional | Set to true to only fetch invoices that are overdue (not collected and the deadline has passed). Set to false to fetch invoices that are not overdue (collected or deadline not yet arrived). |
Notes
Note [1]: Lists can be either comma or space separated. All list items are combined with logical OR operators, meaning an invoice is included if it matches any value in the list.
Example request
Request
curl
curl \
-X GET \
-H "Authorization: DREAM apikey=\"YOUR-API-KEY\"" \
"https://apply.example.edu/api/v10/invoices?bySerieIDs=2&byCollected=true"Response headers
| Header | Value | Description |
|---|---|---|
Content-Type | application/json | The media type of the resource |
Content-Length | 1234 | The size of the response body in bytes |
X-Count | 3 | The number of issued invoices |
Response codes
| Response code | Description |
|---|---|
200 OK | The list of invoices was successfully returned |
Example response
Response
{
"100": {
"id": 100,
"type": "Invoice",
"nr": "AF-100261125",
"serie": {
"id": 2,
"name": "Application fee"
},
"applicant": "/api/v10/applicants/302",
"application": "/api/v10/applications/413",
"course": "/api/v10/courses/33",
"deadline": "2025-12-10",
"issued": "2025-11-26T07:22:09+00:00",
"delivered": "2025-11-26T07:22:09+00:00",
"reminder": true,
"reminded": null,
"collected": "2025-12-04T11:13:12+00:00",
"currency": "EUR",
"items": [
{
"item": "Application fee (one-time)",
"price": "20.00",
"qty": "1.00",
"unit": null,
"inventory_item_ID": null
}
],
"collections": {
"42": {
"id": 42,
"amount": "20.00",
"invoice": "/api/v10/invoices/100",
"inserted": "2025-12-04T11:13:12+00:00",
"collected": "2025-12-04",
"administrator": null,
"payment": {
"payment": "01KBMH0V2NEYHBMZ776D4K48G0",
"external_id": "pi_3SaaTA3BsCbItDpn1Z0rGSdW",
"status": "captured",
"message": null,
"inserted": "2025-12-04T11:12:39+00:00",
"updated": "2025-12-04T11:13:12+00:00",
"gateway": {
"id": 39,
"name": "Stripe",
"adapter": "Stripe"
}
}
}
},
"instructions": "Account Name: Institute of Technology BE\r\nKBC Bank:\r\nIBAN: BE75 ABCD 1234 5678 90XY\r\nBIC/SWIFT Code: KREDBEBB",
"smallprint": "Please make sure that you include the invoice number in the payment transaction. Otherwise the payment may not get properly processed.\r\n\r\nThis invoice has been issued electronically and is valid without a signature. The invoice is issued in accordance to the region that you specified during your registration. If the region (and the currency) is not correct, please contact us for re-issuance.",
"payer": {
"name": "Tasmin Welsh",
"email": "tasminwelsh@gmail.com"
}
},
"200": {
"id": 200,
"type": "Invoice",
"nr": "AF-101031225",
"serie": {
"id": 2,
"name": "Application fee"
},
"applicant": "/api/v10/applicants/423",
"application": "/api/v10/applications/415",
"course": "/api/v10/courses/33",
"deadline": "2025-12-17",
"issued": "2025-12-03T13:15:31+00:00",
"delivered": "2025-12-03T13:15:31+00:00",
"reminder": true,
"reminded": null,
"collected": "2025-12-04T07:06:40+00:00",
"currency": "EUR",
"items": [
{
"item": "Application fee (one-time)",
"price": "20.00",
"qty": "1.00",
"unit": null,
"inventory_item_ID": null
},
{
"item": "Discount \"ADVISOR\"",
"price": "-3.00",
"qty": "1.00",
"unit": null,
"inventory_item_ID": null
}
],
"collections": {
"41": {
"id": 41,
"amount": "17.00",
"invoice": "/api/v10/invoices/200",
"inserted": "2025-12-04T07:06:40+00:00",
"collected": "2025-12-04",
"administrator": null,
"payment": {
"payment": "01KBM2X9KYE7WBY25DFNMXNS4R",
"external_id": "pi_3SaWcb3BsCbItDpn02T9muKv",
"status": "captured",
"message": null,
"inserted": "2025-12-04T07:06:02+00:00",
"updated": "2025-12-04T07:06:40+00:00",
"gateway": {
"id": 39,
"name": "Stripe",
"adapter": "Stripe"
}
}
}
},
"instructions": "Account Name: Institute of Technology BE\r\nKBC Bank:\r\nIBAN: BE75 ABCD 1234 5678 90XY\r\nBIC/SWIFT Code: KREDBEBB",
"smallprint": "Please make sure that you include the invoice number in the payment transaction. Otherwise the payment may not get properly processed.\r\n\r\nThis invoice has been issued electronically and is valid without a signature. The invoice is issued in accordance to the region that you specified during your registration. If the region (and the currency) is not correct, please contact us for re-issuance.",
"payer": {
"name": "John Smith",
"email": "john.smith@email.com"
}
}
}