Invoice

Represents a single invoice issued for an applicant.

URI
/api/v10/applicants/ID/invoices/ID

GDPR information

Due to GDPR regulations, you can delete applicants from the system using the Right to be forgotten tool, batch purges (by academic term) or individual applicant record deletions.

To preserve the accounting history, DreamApply retains invoices in the system after an applicant record is deleted. During deletion, it detaches invoices from the applicant records, removing the data association. As a result:

  • In the list of invoices, these invoices are marked with the anonymous icon.
  • In the API response, the applicant and application fields are set to null.

The collected field indicates whether an invoice is paid in full. Partial collections do not update this field. Collections in excess reset this field to null. If you edit an invoice after the payment and this edit changes the invoice amount, this field is also set to null. For invoices with a value of 0, the field value remains undefined.

GET Get an invoice

Retrieve information about a specific invoice issued for an applicant.

Syntax
GET /api/v10/applicants/123/invoices/321
Host: apply.example.edu
Authorization: DREAM apikey="..."

Example request

Request
curl
curl \
  -X GET \
  -H "Authorization: DREAM apikey=\"YOUR-API-KEY\"" \
  "https://apply.example.edu/api/v10/applicants/123/invoices/321"
HeaderValueDescription
Content-Typeapplication/jsonThe media type of the resource
Content-Length1234The size of the response body in bytes

Response codes

Response codeDescription
200 OKThe invoice data was successfully returned
404 Not FoundThe invoice was not found

Example response

Response
{
  "id": 321,
  "type": "Receipt",
  "nr": "SH-12345",
  "serie": {
    "id": 123,
    "name": "Shopping invoice series"
  },
  "applicant": "/api/v10/applicants/415",
  "application": "/api/v10/applications/441",
  "course": "/api/v10/courses/20",
  "deadline": "2026-09-01",
  "issued": "2026-05-15T11:42:45+00:00",
  "delivered": null,
  "reminder": false,
  "reminded": null,
  "collected": "2026-05-28T12:34:37+00:00",
  "currency": "EUR",
  "items": [
    {
      "item": "Airport pickup fee",
      "price": "25.00",
      "qty": "1.00",
      "unit": null,
      "inventory_item_ID": null
    },
    {
      "item": "City excursion fee",
      "price": "25.00",
      "qty": "1.00",
      "unit": null,
      "inventory_item_ID": null
    }
  ],
  "collections": {
    "60": {
      "id": 60,
      "amount": "50.00",
      "invoice": "/api/v10/invoices/321",
      "inserted": "2026-05-28T12:34:37+00:00",
      "collected": "2026-05-28",
      "administrator": null,
      "payment": {
        "payment": "01KSQ97NQQE2VB9E0Q1RDT24AB",
        "external_id": "pi_3Tc38x3BsCbItDpn1nhonSAP",
        "status": "captured",
        "message": null,
        "inserted": "2026-05-28T12:34:03+00:00",
        "updated": "2026-05-28T12:34:37+00:00",
        "gateway": {
          "id": 39,
          "name": "Stripe",
          "adapter": "Stripe"
        }
      }
    }
  },
  "instructions": "Invoice instructions",
  "smallprint": "This invoice has been issued electronically and is valid without a signature",
  "payer": {
    "name": "John Smith",
    "email": "john.smith@email.com"
  }
}