> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bango.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API changelog

> Release history for the DVM APIs.

This page records changes to the DVM APIs. Documentation-only, formatting-only, and specification-format changes are excluded.

## Dated history

<Update label="0.0.2 · Offer Catalog" description="2025-04-05" tags={["changed"]}>
  * An offer now has a plan, enabling lifecycle management when a consumer subscribes to an offer.
</Update>

<Update label="0.0.2 · Outbound Eligibility API" description="2025-02-06" tags={["added"]}>
  * Added the `user-terminated` code for `ELIGIBILITY_DENIED`.
  * Added support for the optional `billingIdentifier` field in requests.
  * Added additional fields.
</Update>

<Update label="0.0.1 · Outbound Eligibility API" description="2024-11-15" tags={["changed"]}>
  * Updated the Outbound Eligibility API request and response models.
</Update>

<Update label="0.0.1 · Product Catalog" description="2024-10-17" tags={["initial-release"]}>
  * Initial release.
</Update>

<Update label="0.0.1 · Offer Catalog" description="2024-10-17" tags={["initial-release"]}>
  * Initial release.
</Update>

## Earlier version history

The source specifications do not record dates for the entries below. They are shown in the order recorded in each specification.

### Reseller to DVM — Entitlements

<Update label="1.0.24" tags={["added"]}>
  * Added the `/notify` endpoint for asynchronous notification-actioned confirmation.
</Update>

<Update label="1.0.23" tags={["added"]}>
  * Added optional `sharedCustomerId` to all responses.
</Update>

<Update label="1.0.22" tags={["added"]}>
  * Added `409 CONFLICT` to `POST /v1/entitlement/cancel/{entitlementId}`.
  * Added `409 CONFLICT` to `POST /v1/entitlement/revoke/{entitlementId}`.
</Update>

<Update label="1.0.21" tags={["added"]}>
  * Added `financeData` support to all responses.
  * Added `ACTIVE-ENDING` as a new `status`.
</Update>

<Update label="1.0.20" tags={["added"]}>
  * Added `dateAutoSuspend` to create and patch entitlement methods.
  * Added `dateAutoSuspend` to response objects when the parameter has a value.
</Update>

<Update label="1.0.19" tags={["added"]}>
  * Added `entitlementBenefits` to the patch entitlement method.
</Update>

<Update label="1.0.18" tags={["added"]}>
  * Added `ExternalEntitlementId` to create and patch requests.
  * Added `ExternalEntitlementId` to responses.
  * Added a GET call to `/v1/entitlement` to retrieve entitlement information using `ExternalEntitlementId`.
</Update>

<Update label="1.0.16" tags={["added"]}>
  * Added support for a `201 Created` response for Create Entitlement.
  * Added `serviceFlow` to the `extraInformation.source` object.
</Update>

<Update label="1.0.15" tags={["breaking","changed"]}>
  * Removed support for `ACTIVATION_` statuses.
  * Extended `extraInformation` to include `communicationInformation` and `source` objects.
</Update>

<Update label="1.0.14" tags={["added"]}>
  * Added the optional `extraInformation` object containing `clientDevice`.
</Update>

<Update label="1.0.13" tags={["added"]}>
  * Added `ResumedDate` to the Entitlement object. The date is set when using the Resume Entitlement method.
</Update>

<Update label="1.0.12" tags={["added"]}>
  * Added Suspend Entitlement and Resume Entitlement methods.
</Update>

<Update label="1.0.11" tags={["added"]}>
  * Added Entitlement Report.
</Update>

<Update label="1.0.6" tags={["initial-release"]}>
  * Initial release.
</Update>

### Content provider to DVM — Entitlements

<Update label="1.2.0" tags={["added"]}>
  * Added optional `sharedCustomerId` to all responses.
</Update>

<Update label="1.1.0" tags={["added"]}>
  * Added `extraInformation` to `PATCH /v1/entitlement/{merchantEntitlementId}` and the response object.
  * Added `merchantExtensionData` to the response object.
  * Added `merchantBangoExtensionData` to the response object.
  * Added `customerId` and `resellerId` to the response object.
  * Added `POST /v1/merchant/entitlement/report` to retrieve entitlements by `bangoUserId`.
</Update>

<Update label="1.0.4" tags={["added"]}>
  * Added `financeData` to `POST /v1/entitlement/activate/{merchantEntitlementId}`.
  * Added `financeData` to `PATCH /v1/entitlement/{merchantEntitlementId}`.
  * Added `financeData` to `POST /v1/entitlement/terminate/{merchantEntitlementId}`.
  * Added `financeData` to the response object.
</Update>

<Update label="1.0.3" tags={["added"]}>
  * Added `entitlementBenefits` to `PATCH /v1/entitlement/{merchantEntitlementId}`.
</Update>

<Update label="1.0.2" tags={["initial-release"]}>
  * Initial release.
</Update>

### DVM to content provider — Entitlements

<Update label="1.2.0" tags={["added"]}>
  * Added optional `sharedCustomerId` to all Bango-initiated outbound requests.
</Update>

<Update label="1.1.0" tags={["breaking","added"]}>
  * Removed `extensionData` from `POST /v1/entitlement`.
  * Removed `POST /v1/entitlement/suspend/{merchantEntitlementId}` and `POST /v1/entitlement/resume/{merchantEntitlementId}`.
  * Removed `merchantExtensionData` from the response object.
  * Added `bangoUserId`, `productId`, `offerId`, `customerId`, `merchantExtensionData`, and `extraInformation` to `POST /v1/entitlement/terminate/{merchantEntitlementId}`.
  * Added `merchantExtensionData` to create, patch, terminate, and eligibility-check request objects.
  * Added `financeData` to create, patch, and terminate request objects.
  * Added `status` to create, patch, and terminate request objects.
  * Added `merchantBangoExtensionData` to the request object.
</Update>

<Update label="1.0.8" tags={["added"]}>
  * Added `409 CONFLICT` to `POST /v1/entitlement/terminate/{merchantEntitlementId}`.
</Update>

<Update label="1.0.7" tags={["added"]}>
  * Added `entitlementBenefits` to `PATCH /v1/entitlement`.
  * Added `extraInformation` to `PATCH /v1/entitlement`.
</Update>

<Update label="1.0.6" tags={["added"]}>
  * Added `customerId` to `POST /v1/entitlement` and `PATCH /v1/entitlement`.
</Update>

<Update label="1.0.5" tags={["added"]}>
  * Added `resellerId` to `PATCH /v1/entitlement` and `POST /v1/entitlement/terminate/{merchantEntitlementId}`.
</Update>

<Update label="1.0.4" tags={["added"]}>
  * Added `extensionData` to `PATCH /v1/entitlement`.
  * Added `offerId` and `customerIdentifier` to `POST /v1/entitlement/checkeligibility`.
  * Added support for a `201 Created` response for `POST /v1/entitlement`.
</Update>

<Update label="1.0.3" tags={["initial-release"]}>
  * Initial release.
</Update>

### DVM to reseller — Notifications

<Update label="1.0.1" tags={["added"]}>
  * Added the `METADATA_UPDATE` value to `notificationReason` for `POST /`.
  * Added the `TERMINATION_PENDING` value to `notificationReason` for `POST /`.
  * Added `ACTIVE-ENDING` as a `status`.
</Update>

<Update label="1.0.0" tags={["initial-release"]}>
  * Initial release.
</Update>
