---
title: "Delegate subscription payment to customer"
method: POST
path: "/api/v1/subscriptions/{id}/delegate"
tags: ["Subscriptions"]
---

# Delegate subscription payment to customer

`POST /api/v1/subscriptions/{id}/delegate`

Delegates the payment responsibility of a subscription to a different customer. The delegated customer will be billed for this subscription.

## Path parameters

- `id` string, required

## Headers

- `X-ACCOUNT-ID` string
- `X-ENVIRONMENT-ID` string

## Request body

- DelegateSubscriptionRequestDto — Delegate the payment responsibility for a subscription to a different customer. The subscription remains associated with the original customer, but billing and payment obligations are transferred to the target customer. This is useful for B2B scenarios where one entity consumes the service while another handles payment.
  - `targetCustomerId` string, required — The unique identifier of the customer who will assume payment responsibility for this subscription. This customer must already exist in your Stigg account and have a valid payment method if the subscription requires payment.

## Response `200`

The updated subscription object.

- SubscriptionResponseDto — Response object
  - `data` object, required — Customer subscription to a plan
    - `id` string, required — Subscription ID
    - `customerId` string, required — Customer ID
    - `payingCustomerId` string, nullable — Paying customer ID for delegated billing
    - `resourceId` string, nullable — Resource ID
    - `billingId` string, nullable, required — Billing ID
    - `contractId` string, nullable — The Stigg contract this subscription is linked to, when any
    - `createdAt` string, date-time, required — Created at
    - `startDate` string, date-time, required — Subscription start date
    - `endDate` string, date-time, nullable — Subscription end date
    - `effectiveEndDate` string, date-time, nullable — Subscription effective end date
    - `cancellationDate` string, date-time, nullable — Subscription cancellation date
    - `trialEndDate` string, date-time, nullable — Subscription trial end date
    - `status` 'PAYMENT_PENDING' | 'ACTIVE' | 'EXPIRED' | 'IN_TRIAL' | 'CANCELED' | 'NOT_STARTED', required — Subscription status
    - `cancelReason` 'UPGRADE_OR_DOWNGRADE' | 'CANCELLED_BY_BILLING' | 'EXPIRED' | 'DETACH_BILLING' | 'TRIAL_ENDED' | 'Immediate' | 'TRIAL_CONVERTED' | 'PENDING_PAYMENT_EXPIRED' | 'ScheduledCancellation' | 'CustomerArchived' | 'AutoCancellationRule', nullable — Subscription cancel reason
    - `metadata` object — Additional metadata for the subscription
    - `currentBillingPeriodStart` string, date-time, nullable — Start of the current billing period
    - `currentBillingPeriodEnd` string, date-time, nullable — End of the current billing period
    - `pricingType` 'FREE' | 'PAID' | 'CUSTOM', required — Pricing type
    - `paymentCollection` 'NOT_REQUIRED' | 'PROCESSING' | 'FAILED' | 'ACTION_REQUIRED', required — Payment collection
    - `paymentCollectionMethod` 'CHARGE' | 'INVOICE' | 'NONE', nullable — The method used to collect payments for a subscription
    - `billingCycleAnchor` string, date-time, nullable — Billing cycle anchor date
    - `planId` string, required — Plan ID
    - `prices` object[]
      - `amount` number — The price amount
      - `currency` 'usd' | 'aed' | 'all' | 'amd' | 'ang' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bif' | 'bmd' | 'bnd' | 'bsd' | 'bwp' | 'byn' | 'bzd' | 'brl' | 'cad' | 'cdf' | 'chf' | 'cny' | 'czk' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'etb' | 'eur' | 'fjd' | 'gbp' | 'gel' | 'gip' | 'gmd' | 'gyd' | 'hkd' | 'hrk' | 'htg' | 'idr' | 'ils' | 'inr' | 'isk' | 'jmd' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kyd' | 'kzt' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mvr' | 'mwk' | 'mxn' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nok' | 'npr' | 'nzd' | 'pgk' | 'php' | 'pkr' | 'pln' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sek' | 'sgd' | 'sle' | 'sll' | 'sos' | 'szl' | 'thb' | 'tjs' | 'top' | 'try' | 'ttd' | 'tzs' | 'uah' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xcd' | 'yer' | 'zar' | 'zmw' | 'clp' | 'djf' | 'gnf' | 'ugx' | 'pyg' | 'xof' | 'xpf' — The price currency
      - `featureId` string, nullable — Feature identifier for the price override
      - `addonId` string, nullable — Addon identifier for the price override
      - `baseCharge` boolean — Whether this is a base charge override
      - `billingCountryCode` string — The billing country code of the price
      - `blockSize` number — Block size for pricing
      - `tiers` object[] — Pricing tiers configuration
        - `upTo` number — The up to quantity of the price tier
        - `unitPrice` object — The unit price of the price tier
          - `amount` number, required — The price amount
          - `currency` 'usd' | 'aed' | 'all' | 'amd' | 'ang' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bif' | 'bmd' | 'bnd' | 'bsd' | 'bwp' | 'byn' | 'bzd' | 'brl' | 'cad' | 'cdf' | 'chf' | 'cny' | 'czk' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'etb' | 'eur' | 'fjd' | 'gbp' | 'gel' | 'gip' | 'gmd' | 'gyd' | 'hkd' | 'hrk' | 'htg' | 'idr' | 'ils' | 'inr' | 'isk' | 'jmd' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kyd' | 'kzt' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mvr' | 'mwk' | 'mxn' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nok' | 'npr' | 'nzd' | 'pgk' | 'php' | 'pkr' | 'pln' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sek' | 'sgd' | 'sle' | 'sll' | 'sos' | 'szl' | 'thb' | 'tjs' | 'top' | 'try' | 'ttd' | 'tzs' | 'uah' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xcd' | 'yer' | 'zar' | 'zmw' | 'clp' | 'djf' | 'gnf' | 'ugx' | 'pyg' | 'xof' | 'xpf', required — ISO 4217 currency code
        - `flatPrice` object — The flat fee price of the price tier
          - `amount` number, required — The price amount
          - `currency` 'usd' | 'aed' | 'all' | 'amd' | 'ang' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bif' | 'bmd' | 'bnd' | 'bsd' | 'bwp' | 'byn' | 'bzd' | 'brl' | 'cad' | 'cdf' | 'chf' | 'cny' | 'czk' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'etb' | 'eur' | 'fjd' | 'gbp' | 'gel' | 'gip' | 'gmd' | 'gyd' | 'hkd' | 'hrk' | 'htg' | 'idr' | 'ils' | 'inr' | 'isk' | 'jmd' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kyd' | 'kzt' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mvr' | 'mwk' | 'mxn' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nok' | 'npr' | 'nzd' | 'pgk' | 'php' | 'pkr' | 'pln' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sek' | 'sgd' | 'sle' | 'sll' | 'sos' | 'szl' | 'thb' | 'tjs' | 'top' | 'try' | 'ttd' | 'tzs' | 'uah' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xcd' | 'yer' | 'zar' | 'zmw' | 'clp' | 'djf' | 'gnf' | 'ugx' | 'pyg' | 'xof' | 'xpf', required — ISO 4217 currency code
    - `addons` object[]
      - `id` string, required — Addon ID
      - `quantity` integer, required — Number of addon instances
    - `coupons` object[] — Coupons applied to the subscription
      - `id` string, required — Coupon ID
      - `name` string, required — Coupon name
      - `status` 'ACTIVE' | 'EXPIRED' | 'REMOVED', required — Coupon status
      - `percentOff` number, nullable — Percentage discount
      - `amountsOff` object[], nullable — Fixed amount discounts by currency
        - `amount` number — The price amount
        - `currency` 'usd' | 'aed' | 'all' | 'amd' | 'ang' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bif' | 'bmd' | 'bnd' | 'bsd' | 'bwp' | 'byn' | 'bzd' | 'brl' | 'cad' | 'cdf' | 'chf' | 'cny' | 'czk' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'etb' | 'eur' | 'fjd' | 'gbp' | 'gel' | 'gip' | 'gmd' | 'gyd' | 'hkd' | 'hrk' | 'htg' | 'idr' | 'ils' | 'inr' | 'isk' | 'jmd' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kyd' | 'kzt' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mvr' | 'mwk' | 'mxn' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nok' | 'npr' | 'nzd' | 'pgk' | 'php' | 'pkr' | 'pln' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sek' | 'sgd' | 'sle' | 'sll' | 'sos' | 'szl' | 'thb' | 'tjs' | 'top' | 'try' | 'ttd' | 'tzs' | 'uah' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xcd' | 'yer' | 'zar' | 'zmw' | 'clp' | 'djf' | 'gnf' | 'ugx' | 'pyg' | 'xof' | 'xpf' — The price currency
    - `futureUpdates` object[] — Scheduled future updates for the subscription
      - `scheduledExecutionTime` string, date-time, required — Scheduled execution time
      - `subscriptionScheduleType` 'DOWNGRADE' | 'PLAN' | 'BILLING_PERIOD' | 'UNIT_AMOUNT' | 'RECURRING_CREDITS' | 'PRICE_OVERRIDE' | 'ADDON' | 'COUPON' | 'MIGRATE_TO_LATEST' | 'ADDITIONAL_META_DATA' | 'BILLING_INFO_METADATA', required — Type of scheduled change
      - `scheduleStatus` 'PENDING_PAYMENT' | 'SCHEDULED' | 'CANCELED' | 'DONE' | 'FAILED', required — Status of the scheduled update
      - `targetPackage` object, nullable — Target package for the update
        - `id` string, required — Target package for the update
    - `budget` object, nullable — Budget configuration
      - `limit` number, required — Maximum spending limit
      - `hasSoftLimit` boolean, required — Whether the budget is a soft limit
    - `minimumSpend` object, nullable — Minimum spend configuration
      - `amount` number — The price amount
      - `currency` 'usd' | 'aed' | 'all' | 'amd' | 'ang' | 'aud' | 'awg' | 'azn' | 'bam' | 'bbd' | 'bdt' | 'bgn' | 'bif' | 'bmd' | 'bnd' | 'bsd' | 'bwp' | 'byn' | 'bzd' | 'brl' | 'cad' | 'cdf' | 'chf' | 'cny' | 'czk' | 'dkk' | 'dop' | 'dzd' | 'egp' | 'etb' | 'eur' | 'fjd' | 'gbp' | 'gel' | 'gip' | 'gmd' | 'gyd' | 'hkd' | 'hrk' | 'htg' | 'idr' | 'ils' | 'inr' | 'isk' | 'jmd' | 'jpy' | 'kes' | 'kgs' | 'khr' | 'kmf' | 'krw' | 'kyd' | 'kzt' | 'lbp' | 'lkr' | 'lrd' | 'lsl' | 'mad' | 'mdl' | 'mga' | 'mkd' | 'mmk' | 'mnt' | 'mop' | 'mro' | 'mvr' | 'mwk' | 'mxn' | 'myr' | 'mzn' | 'nad' | 'ngn' | 'nok' | 'npr' | 'nzd' | 'pgk' | 'php' | 'pkr' | 'pln' | 'qar' | 'ron' | 'rsd' | 'rub' | 'rwf' | 'sar' | 'sbd' | 'scr' | 'sek' | 'sgd' | 'sle' | 'sll' | 'sos' | 'szl' | 'thb' | 'tjs' | 'top' | 'try' | 'ttd' | 'tzs' | 'uah' | 'uzs' | 'vnd' | 'vuv' | 'wst' | 'xaf' | 'xcd' | 'yer' | 'zar' | 'zmw' | 'clp' | 'djf' | 'gnf' | 'ugx' | 'pyg' | 'xof' | 'xpf' — The price currency
    - `subscriptionEntitlements` object[] — Entitlements associated with the subscription
      - `type` 'FEATURE' | 'CREDIT', required — Entitlement type (FEATURE or CREDIT)
      - `id` string, required — Feature ID or currency ID
    - `latestInvoice` object, nullable — Latest invoice for the subscription
      - `billingId` string, required — Invoice billing ID
      - `status` 'OPEN' | 'CANCELED' | 'PAID', required — Invoice status
      - `createdAt` string, date-time, required — Invoice creation date
      - `total` number, nullable — Total amount
      - `amountDue` number, nullable — Amount due
      - `currency` string, nullable — Invoice currency
      - `pdfUrl` string, nullable — Invoice PDF URL
      - `requiresAction` boolean, required — Whether payment requires action
      - `billingReason` 'BILLING_CYCLE' | 'SUBSCRIPTION_CREATION' | 'SUBSCRIPTION_UPDATE' | 'MANUAL' | 'MINIMUM_INVOICE_AMOUNT_EXCEEDED' | 'OTHER', nullable — Billing reason
    - `trial` object, nullable — Trial configuration
      - `trialEndBehavior` 'CONVERT_TO_PAID' | 'CANCEL_SUBSCRIPTION', required — Behavior when the trial ends

## Other responses

- `400` — bad request.
- `401` — User is not authenticated.
- `403` — User is not allowed to access this resource.
- `404` — Subscription not found.
- `429` — Too many requests.

---

[API](https://skmtc.net/stiggio/apis/stigg-api.md) · [All operations](https://skmtc.net/stiggio/apis/stigg-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/stiggio/stigg-api/versions/ffc977f1c07e/schema)
