Grants & Funding

Disbursements

The Disbursements API allows you to retrieve information about payment disbursements for approved grants. Disbursements represent individual payments made to grantees.

Security Note

Bank account details in disbursement records are partially redacted for security. Only the last 4 digits of account numbers and last 2 digits of sort codes are visible.

List Disbursements

Retrieve a paginated list of disbursements with optional filtering.

Endpoint

GET /api/v1/disbursements

Query Parameters

Pagination:

  • limit (number, default: 100, max: 250) - Maximum number of disbursements to return
  • offset (number, default: 0) - Number of disbursements to skip for pagination

Filtering:

  • fundId (string) - Filter by fund ID
  • grantId (string) - Filter by grant application ID
  • status (string) - Filter by disbursement status:
    • PENDING - Payment pending
    • SCHEDULED - Payment scheduled
    • PAID - Payment completed
    • CANCELLED - Payment cancelled
    • FAILED - Payment failed

Response

{
  "disbursements": [
    {
      "disbursementId": "disb_abc123",
      "managedBy": "org123",
      "grantId": "app_xyz789",
      "fundId": "fund_456",
      "identifier": "CDF-2025-042-001",
      "amount": 11000,
      "currency": "GBP",
      "status": "PAID",
      "dates": {
        "scheduled": "2025-02-01T00:00:00.000Z",
        "processed": "2025-02-01T10:30:00.000Z"
      },
      "payment": {
        "method": "BACS",
        "reference": "CDF2025042001"
      },
      "bankAccount": {
        "accountName": "Community Youth Trust",
        "accountNumber": "****5678",
        "sortCode": "****00",
        "bankName": "Barclays Bank"
      },
      "description": "First instalment - 50% of grant",
      "notes": "Payment processed successfully",
      "modifiedBy": "user_001",
      "dataSource": "manual",
      "updated": "2025-02-01T10:30:00.000Z"
    }
  ],
  "offset": 0,
  "limit": 100,
  "total": 89
}

Example Requests

List all disbursements:

curl -X GET "https://app.plinth.org.uk/api/v1/disbursements" \
  -H "x-api-key: sk_your_api_key"

Filter by fund:

curl -X GET "https://app.plinth.org.uk/api/v1/disbursements?fundId=fund_456" \
  -H "x-api-key: sk_your_api_key"

Filter by grant:

curl -X GET "https://app.plinth.org.uk/api/v1/disbursements?grantId=app_xyz789" \
  -H "x-api-key: sk_your_api_key"

Filter by status:

curl -X GET "https://app.plinth.org.uk/api/v1/disbursements?status=PAID" \
  -H "x-api-key: sk_your_api_key"

Combine filters:

curl -X GET "https://app.plinth.org.uk/api/v1/disbursements?fundId=fund_456&status=PENDING" \
  -H "x-api-key: sk_your_api_key"

Get Single Disbursement

Retrieve a specific disbursement by ID.

Endpoint

GET /api/v1/disbursements/:disbursementId

Path Parameters

  • disbursementId (string, required) - The unique identifier of the disbursement

Response

{
  "disbursement": {
    "disbursementId": "disb_abc123",
    "managedBy": "org123",
    "grantId": "app_xyz789",
    "fundId": "fund_456",
    "identifier": "CDF-2025-042-001",
    "amount": 11000,
    "currency": "GBP",
    "status": "PAID",
    "dates": {
      "scheduled": "2025-02-01T00:00:00.000Z",
      "processed": "2025-02-01T10:30:00.000Z"
    },
    "payment": {
      "method": "BACS",
      "reference": "CDF2025042001"
    },
    "bankAccount": {
      "accountName": "Community Youth Trust",
      "accountNumber": "****5678",
      "sortCode": "****00",
      "bankName": "Barclays Bank"
    },
    "description": "First instalment - 50% of grant",
    "notes": "Payment processed successfully",
    "modifiedBy": "user_001",
    "dataSource": "manual",
    "updated": "2025-02-01T10:30:00.000Z"
  }
}

Example Request

curl -X GET "https://app.plinth.org.uk/api/v1/disbursements/disb_abc123" \
  -H "x-api-key: sk_your_api_key"

Response Fields

Disbursement Object

FieldTypeDescription
disbursementIdstringUnique identifier for the disbursement
managedBystringOrganisation ID managing this disbursement
grantIdstringAssociated grant application ID
fundIdstringAssociated fund ID
identifierstringHuman-readable payment reference
amountnumberPayment amount
currencystringCurrency code (e.g., GBP)
statusstringPayment status
datesobjectPayment dates
paymentobjectPayment method details
bankAccountobjectBank account details (redacted)
descriptionstringPayment description
notesstringAdditional notes
modifiedBystringUser ID who last modified
dataSourcestringData source (manual, import, etc.)
updatedstringLast update timestamp (ISO 8601)

Dates Object

FieldTypeDescription
scheduledstringScheduled payment date
processedstringActual processing date

Payment Object

FieldTypeDescription
methodstringPayment method (BACS, CHAPS, etc.)
referencestringPayment reference number

Bank Account Object

FieldTypeDescription
accountNamestringAccount holder name
accountNumberstringAccount number (redacted: ****XXXX)
sortCodestringSort code (redacted: ****XX)
bankNamestringBank name

Disbursement Status Values

StatusDescription
PENDINGPayment is pending approval or processing
SCHEDULEDPayment has been scheduled
PAIDPayment has been successfully processed
CANCELLEDPayment was cancelled
FAILEDPayment processing failed

Use Cases

Track Grant Payments

To see all payments for a specific grant:

curl -X GET "https://app.plinth.org.uk/api/v1/disbursements?grantId=app_xyz789" \
  -H "x-api-key: sk_your_api_key"

Monitor Pending Payments

To view all pending disbursements that need processing:

curl -X GET "https://app.plinth.org.uk/api/v1/disbursements?status=PENDING" \
  -H "x-api-key: sk_your_api_key"

Fund-Level Reporting

To get all disbursements for a specific fund for reporting:

curl -X GET "https://app.plinth.org.uk/api/v1/disbursements?fundId=fund_456&limit=250" \
  -H "x-api-key: sk_your_api_key"

Error Responses

StatusDescription
400Bad Request - Invalid parameters
401Unauthorized - Invalid or missing API key
404Not Found - Disbursement not found
500Internal Server Error
Previous
Grant Applications