Invoice transactions

Represents a list of transactions created for an invoice.

URI
/api/v10/invoices/ID/transactions

GET List transactions

List all transactions for an invoice.

A transaction can be recorded manually by an Administrator (for example, an accountant) in the DreamApply portal, via the API or as part of a payment flow.

If a transaction was made using a payment gateway (for example, a credit card payment), the payment field is also populated. The payment status can be new,canceled,failed,captured. The captured field indicates a successful payment. Other statuses indicate various stages of the process or its failure.

The message field may contain a description of the failure/error.

Regardless of its type, each transaction has an ID. Transactions that have the payment field also have two more identifiers:

  • payment: The identifier local to DreamApply
  • external_id: May contain any identifier assigned by the used payment gateway, such as Pago Atenei, Stripe, PayPal and so on. This field can be used to look up and correlate payment records within the external payment system.
Syntax
GET /api/v10/invoices/123/transactions
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/invoices/123/transactions"

Response headers

HeaderValueDescription
Content-Typeapplication/jsonThe media type of the resource
Content-Length1234The size of the response body in bytes
X-Count3The number of created transactions

Response codes

Response codeDescription
200 OKThe list of invoice transactions was successfully returned

Example response

Response
{
  "43": {
    "id": 43,
    "amount": "5.00",
    "invoice": "/api/v10/invoices/532",
    "inserted": "2025-12-16T09:54:25+00:00",
    "collected": "2025-12-16",
    "administrator": "/api/v10/administrators/10006",
    "payment": null
  },
  "44": {
    "id": 44,
    "amount": "15.00",
    "invoice": "/api/v10/invoices/532",
    "inserted": "2025-12-16T09:57:11+00:00",
    "collected": "2025-12-16",
    "administrator": null,
    "payment": {
      "payment": "01KCK9DZXPE8C82F5AE0AV955F",
      "external_id": "pi_3Sev0C3BsCbItDpn0rx0zvsW",
      "status": "captured",
      "message": null,
      "inserted": "2025-12-16T09:56:28+00:00",
      "updated": "2025-12-16T09:57:11+00:00",
      "gateway": {
        "id": 39,
        "name": "Stripe",
        "adapter": "Stripe"
      }
    }
  }
}

POST Create a transaction

Create a new transaction for an invoice.

Syntax
POST /api/v10/invoices/123/transactions
Host: apply.example.edu
Authorization: DREAM apikey="..."

Parameters

NameRequired/OptionalDescription
amountRequiredA valid decimal amount of the transaction
currencyRequiredThe currency code, must be the same as the currency of the invoice

Example request

Request
curl
curl \
  -X POST \
  -H "Authorization: DREAM apikey=\"YOUR-API-KEY\"" \
  "https://apply.example.edu/api/v10/invoices/123/transactions?amount=100&currency=EUR"

Response headers

HeaderValueDescription
Content-Typeapplication/jsonThe media type of the resource
Content-Length0The size of the response body in bytes
Location/api/invoices/123/transactions/12345The URI of the created transaction

Response codes

Response codeDescription
201 CreatedA new transaction was successfully created
422 Unprocessable EntityThere were some validation errors, see the returned text