---
title: "/commitments"
method: POST
path: "/commitments"
---

# /commitments

`POST /commitments`

## Request

- Base URL: `https://api.securevan.com/v4`
- URL: `https://api.securevan.com/v4/commitments`
- Auth: HTTP basic

Use this endpoint to create a new Commitment record with the properties provided in the request body. If successful, the endpoint responds with HTTP Status Code `201 Created` and the integer ID of the created Recurring Commitment in the response body. If any of the specified ids (`vanId`, `codeId`, or `extendedSourceCodeId`) are not accessible in the current context (e.g., the associated api user does not have access to the person), the response will be considered invalid.

## Request body

- object
  - `contact` object, required: The [Person](ref:people) who contributed
    - `vanId` string
  - `designation` object, required: The financial entity which will receive funds associated with this Commitment.
    - `designationId` integer
  - `startDate` string, date, required: The date the Recurring Commitment started. The startDate must be the same or later than the current US Eastern Time date.
  - `endDate` string, date: The date the Recurring Commitment ended. If present, endDate must be later than startDate.
  - `frequency` 'Weekly' | 'EveryTwoWeeks' | 'EveryFourWeeks' | 'Monthly' | 'TwiceMonthly' | 'Quarterly' | 'Annually' | 'TwiceAnnually', required: The frequency of each recurring commitment installment.
  - `amount` number, double, required: Decimal monetary amount of each Recurring Commitment installment.
  - `paymentType` 'Check' | 'MoneyOrder' | 'Cash' | 'CreditCard' | 'InKind' | 'Unknown' | 'ElectronicFundsTransfer' | 'ElectronicPaySystem' | 'Stock' | 'ApplePay', required: Payment method by which the funds will be contributed
  - `codes` object[]: An array of zero or one [Code](ref:codes) to apply to the contribution. Contributions may not have more than one Code applied, and if a Code is applied, it must be a Source Code.
    - `parentCodeId` integer
    - `name` string
    - `description` string
    - `supportedEntities` object[]
      - `name` string
      - `isSearchable` boolean
      - `isApplicable` boolean
    - `codeType` string
  - `generalLedgerFund` object: The associated `GeneralLedgerFund` object
    - `generalLedgerFundId` integer: ID of the general ledger fund
  - `costCenter` object: The associated `CostCenter` object
    - `costCenterId` integer: ID of the CostCenter
  - `directMarketingCode` string: A direct marketing code
  - `notes` string: A note describing this commitment
  - `extendedSourceCode` object: The [Extended Source Code](ref:extended-source-codes) object to apply to the Contribution. If this is provided, we’ll look for and apply a matching [Source Code](ref:codes) to the contribution from a Direct Response Plan segment that the contact is in with a contact history record that has the extended source code. If no matching source code is found, then the POST will fail.
    - `codeId` integer

## Response `201`

201

## Other responses

- `400`: 400
- `403`: 403

## Changes

- **2026-11-03** `4f2049fba5af`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/ngpvan/apis/van-crm/changes/commitments/post.md)

---

[API](https://skmtc.dev/ngpvan/apis/van-crm.md) - [All operations](https://skmtc.dev/ngpvan/apis/van-crm/llms.txt) - [OpenAPI document](https://skmtc.dev/ngpvan/apis/van-crm/revisions/4f2049fba5af?raw)
