Skip to main content
POST
Apply changes to a subscription

Authorizations

Authorization
string
header
required

API key authentication. Pass your API key as a Bearer token.

Headers

Alguna-Version
enum<string>
required
Available options:
2026-04-01
Idempotency-Key
string

A unique string used to ensure the request is processed exactly once. If you retry a request with the same idempotency key within 24 hours, the original response is returned without re-executing the operation.

Maximum string length: 255
Example:

"ik_a1b2c3d4e5f6"

Path Parameters

id
string
required

Unique identifier for the subscription

Body

application/json
add
object[]

Products or bundles to add

description
string | null

Human-readable audit note

Example:

"Q3 upgrade"

draft
boolean | null

Create as draft (true) or auto-publish (false, default)

Example:

false

effective
string | null

When the change takes effect. One of: 'immediate' (now), 'next_term_renewal' (contract end), 'next_billing_period' (start of the next invoicing cycle), an ISO 8601 date (YYYY-MM-DD), or an RFC3339 timestamp (e.g. 2027-01-01T14:30:00Z).

Example:

"next_billing_period"

plan_id
string | null

Swap to a new plan (provides base item set)

Example:

"pln_abc123"

remove
object[]

Products or bundles to remove

source_version_id
string | null

Version to compute deltas against (default: current active)

Example:

"subv_abc123"

update
object[]

Products or bundles to modify

Response

Success

changes_applied
object
required

Summary of changes applied

is_new_version
boolean
required

Whether a new version was created (false = draft replaced)

Example:

true

source_version_id
string
required

Version the delta was computed against

Example:

"subv_abc123"

version_id
string
required

Created or replaced version ID

Example:

"subv_abc123"

version_status
enum<string>
required

Version status

Available options:
draft,
published
Example:

"published"

effective_at
string<date-time> | null

When the change takes effect

Example:

"2027-01-01T00:00:00Z"

end_date
string<date-time> | null

When this version ends, if superseded by a later version. Callers should verify this matches expectations when inserting between existing versions.

Example:

"2027-06-01T00:00:00Z"