Common Models

The following is an example of a Commitment.

{
  "items": [
    {
      "commitmentId": 6212,
      "contact": {
        "name": "James Gordon",
        "displayName": "James Gordon",
        "vanId": 10005165,
        "firstName": "James",
        "lastName": "Gordon",
        "email": "[email protected]",
        "address": "123 Main St",
        "state": "IL",
        "city": "Gotham City",
        "officialName": null,
        "commonName": null,
        "isOrganization": false
      },
      "designation": {
        "designationId": 739,
        "name": "Jane for Congress Committee",
        "officialName": "Jane for Congress Committee"
      },
      "amount": 20,
      "currency": "USD",
      "paymentType": "Check",
      "startDate": "2026-09-10T00:00:00Z",
      "endDate": null,
      "nextTransactionDate": null,
      "frequency": "Monthly",
      "status": "Active",
      "codes": null,
      "extendedSourceCode": null,
      "generalLedgerFund": null,
      "costCenter": null,
      "directMarketingCode": null,
      "notes": null,
      "paymentMethod": null,
      "gateway": null,
      "gatewayId": null,
      "amountContributedSoFar": 0
    },
    {
      "commitmentId": 6221,
      "contact": {
        "name": "People for Good",
        "displayName": "People for Good",
        "vanId": 121876832,
        "firstName": null,
        "lastName": null,
        "email": null,
        "address": null,
        "state": null,
        "city": null,
        "officialName": null,
        "commonName": "People for Good",
        "isOrganization": true
      },
      "designation": {
        "designationId": 739,
        "name": "Jane for Congress Committee",
        "officialName": "Jane for Congress Committee"
      },
      "amount": 1000,
      "currency": "USD",
      "paymentType": "Check",
      "startDate": "2026-10-15T00:00:00Z",
      "endDate": null,
      "nextTransactionDate": null,
      "frequency": "TwiceAnually",
      "status": "Active",
      "codes": null,
      "extendedSourceCode": null,
      "generalLedgerFund": null,
      "costCenter": null,
      "directMarketingCode": null,
      "notes": null,
      "paymentMethod": null,
      "gateway": null,
      "gatewayId": null,
      "amountContributedSoFar": 0
    }
  ],
  "nextPageLink": null,
  "count": 2
}

The following is an overview of the Commitment object and its related objects. In some cases, the related object has a dedicated endpoint. In these cases, a link to those endpoints is provided.

Commitment

The required properties are vanId, designationId, startDate, frequency,,amount, and paymentType.

PropertyTypeDescription
commitmentIdintRead-only; Unique identifier for a Recurring Commitment in this context.
vanIdintRead-only; Unique identifier for the Person record associated to this Recurring Commitment.
startDatedatetimeRead-only; Date the Recurring Commitment started.
endDatedatetimeRead-only; Date the Recurring Commitment ended, if applicable.
statusstringThe commitment status of the current Recurring Commitment.

See GET /v4/commitments/statuses for valid values.
amountdecimalMonetary amount of each Recurring Commitment.
currencyintRead-only; The currency that is being used for the Recurring Commitment.
frequencystringRead-only; The Frequency of each recurring commitment.

See GET /v4/commitments/frequencies for valid values.
nextTransactionDatedatetimeDate on which the next Recurring Commitment will be processed.
paymentTypestringRead-only; Payment method used (e.g., credit card, EFT).
creditCardLast4intRead-only; Last 4 digits of the credit card on file for the Recurring Commitment, if applicable.
ccExpirationYearintRead-only; Credit card expiration year, if applicable.
ccExpirationMonthintRead-only; Credit card expiration month, if applicable.
designationIdintRead-only; The id of the designation which receives this contribution..

Contact Name Fields On Organization Records

When a commitment is associated with an organization contact, the response populates name, displayName, officialName, and commonNamewith the organization name, and sets isOrganization: true.