Skip to main content

Endpoint

GET /v1/budget/transactions/:grantId

Authentication

Requires a developer API key in the Authorization header.

Request Headers

HeaderValue
AuthorizationBearer <api_key>

Path Parameters

ParameterTypeDescription
grantIdstringThe grant ID to look up transactions for

Query Parameters

ParameterTypeRequiredDescription
pagenumberNoPage number (default 1)
pageSizenumberNoResults per page (default 50)

Example Request

curl "https://grantex-auth-dd4mtrt2gq-uc.a.run.app/v1/budget/transactions/grnt_01HXYZ...?page=1&pageSize=20" \
  -H "Authorization: Bearer gx_..."

Response — 200 OK

{
  "transactions": [
    {
      "id": "txn_01HXYZ...",
      "grantId": "grnt_01HXYZ...",
      "amount": 5.50,
      "description": "GPT-4 API call",
      "metadata": { "model": "gpt-4", "tokens": 1500 },
      "balanceAfter": 94.50,
      "createdAt": "2026-04-05T14:30:00.000Z"
    }
  ],
  "total": 1
}

Response Fields

FieldTypeDescription
transactionsarrayArray of transaction objects
transactions[].idstringUnique transaction ID
transactions[].grantIdstringThe grant this transaction belongs to
transactions[].amountnumberAmount debited
transactions[].descriptionstring | nullHuman-readable description
transactions[].metadataobjectArbitrary metadata
transactions[].balanceAfternumberRemaining balance after this transaction
transactions[].createdAtstringISO-8601 timestamp
totalnumberTotal number of transactions

Error Responses

StatusCodeDescription
401UNAUTHORIZEDInvalid or missing API key

SDK Examples

import Grantex from '@grantex/sdk';

const grantex = new Grantex({ apiKey: 'gx_...' });

const result = await grantex.budgets.transactions('grnt_01HXYZ...');
console.log(result.transactions);
console.log(result.total);