---
title: "/contributions/{contributionId}/attributions/{vanId}"
method: PUT
path: "/contributions/{contributionId}/attributions/{vanId}"
---

# /contributions/{contributionId}/attributions/{vanId}

`PUT /contributions/{contributionId}/attributions/{vanId}`

## Request

- Base URL: `https://api.securevan.com/v4`
- URL: `https://api.securevan.com/v4/contributions/{contributionId}/attributions/{vanId}`
- Auth: HTTP basic

Create or update an Attribution record on the given Contribution for a Person.

If there is an existing Attribution for the given Person on the given Contribution, it will be updated to match the Attribution provided with this request. If there is not an existing Attribution, one will be created.

Accepts an [Attribution](ref:contributions#attributions) object. The `vanId` property of the Attribution object must match the value of the `vanId` parameter provided in the route. If `amountAttributed` is not provided, it will default to the remaining amount of the Contribution. If `attributionType` is not provided, it will default to `DefaultAttribution`.


If the specified Contribution or Person does not exist, this endpoint will return an error with HTTP Status Code `404 Not Found`.

If successful, the endpoint responds with HTTP Status Code `204 No Content` if an existing Attribution has been updated. If a new Attribution has been created, this endpoint responds with HTTP Status Code `201 Created`.

## Path parameters

- `contributionId` integer, required
- `vanId` string, required

## Request body

- object
  - `vanId` string: Unique identifier for the attributed contact. Represents contacts who acted as fundraisers, rather than contributors.
  - `amountAttributed` string: Optional; The amount of the attribution. Values that have more than 2 digits after the decimal point will not be accepted. If no amount is provided, default to contribution amount.
  - `attributionType` string: Optional; A string representing the attribution type. See below for valid values of Attribution Type. If no type is provided, default to “DefaultAttribution” type
  - `dateThanked` string, date: Optional; The date on which the attributed contact was thanked for the contribution.
  - `notes` string: Optional; A note describing the attribution. Max length of 100 characters.

## Response `201`

201

## Other responses

- `204`: 204
- `400`: 400
- `404`: 404

## Changes

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

[Operation history](https://skmtc.dev/ngpvan/apis/van-crm/changes/contributions/:contributionId/attributions/:vanId/put.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)
