---
title: "Create an entitlement with addOn products"
method: POST
path: "/1.0/kb/subscriptions/createSubscriptionWithAddOns"
tags: ["Subscription"]
---

# Create an entitlement with addOn products

`POST /1.0/kb/subscriptions/createSubscriptionWithAddOns`

## Query parameters

- `entitlementDate` string, date
- `billingDate` string, date
- `migrated` boolean
- `renameKeyIfExistsAndUnused` boolean
- `callCompletion` boolean
- `callTimeoutSec` integer
- `pluginProperty` string[]

## Headers

- `X-Killbill-CreatedBy` string, required
- `X-Killbill-Reason` string
- `X-Killbill-Comment` string

## Request body

- Subscription[]
  - `accountId` string, uuid
  - `bundleId` string, uuid
  - `bundleExternalKey` string
  - `subscriptionId` string, uuid
  - `externalKey` string
  - `startDate` string, date
  - `productName` string, required
  - `productCategory` 'BASE' | 'ADD_ON' | 'STANDALONE'
  - `billingPeriod` 'DAILY' | 'WEEKLY' | 'BIWEEKLY' | 'THIRTY_DAYS' | 'SIXTY_DAYS' | 'NINETY_DAYS' | 'MONTHLY' | 'BIMESTRIAL' | 'QUARTERLY' | 'TRIANNUAL' | 'BIANNUAL' | 'ANNUAL' | 'BIENNIAL' | 'NO_BILLING_PERIOD', required
  - `phaseType` 'TRIAL' | 'DISCOUNT' | 'FIXEDTERM' | 'EVERGREEN'
  - `priceList` string, required
  - `planName` string, required
  - `state` 'PENDING' | 'ACTIVE' | 'BLOCKED' | 'CANCELLED' | 'EXPIRED'
  - `sourceType` 'NATIVE' | 'MIGRATED' | 'TRANSFERRED'
  - `cancelledDate` string, date
  - `chargedThroughDate` string, date
  - `billingStartDate` string, date
  - `billingEndDate` string, date
  - `billCycleDayLocal` integer
  - `events` EventSubscription[]
    - `eventId` string, uuid
    - `billingPeriod` 'DAILY' | 'WEEKLY' | 'BIWEEKLY' | 'THIRTY_DAYS' | 'SIXTY_DAYS' | 'NINETY_DAYS' | 'MONTHLY' | 'BIMESTRIAL' | 'QUARTERLY' | 'TRIANNUAL' | 'BIANNUAL' | 'ANNUAL' | 'BIENNIAL' | 'NO_BILLING_PERIOD'
    - `effectiveDate` string, date
    - `plan` string
    - `product` string
    - `priceList` string
    - `eventType` 'START_ENTITLEMENT' | 'START_BILLING' | 'PAUSE_ENTITLEMENT' | 'PAUSE_BILLING' | 'RESUME_ENTITLEMENT' | 'RESUME_BILLING' | 'PHASE' | 'CHANGE' | 'STOP_ENTITLEMENT' | 'STOP_BILLING' | 'SERVICE_STATE_CHANGE'
    - `isBlockedBilling` boolean
    - `isBlockedEntitlement` boolean
    - `serviceName` string
    - `serviceStateName` string
    - `phase` string
    - `auditLogs` AuditLog[]
      - `changeType` string
      - `changeDate` string, date-time
      - `objectType` 'ACCOUNT' | 'ACCOUNT_EMAIL' | 'BLOCKING_STATES' | 'BUNDLE' | 'CUSTOM_FIELD' | 'INVOICE' | 'PAYMENT' | 'TRANSACTION' | 'INVOICE_ITEM' | 'INVOICE_PAYMENT' | 'SUBSCRIPTION' | 'SUBSCRIPTION_EVENT' | 'SERVICE_BROADCAST' | 'PAYMENT_ATTEMPT' | 'PAYMENT_METHOD' | 'TAG' | 'TAG_DEFINITION' | 'TENANT' | 'TENANT_KVS'
      - `objectId` string, uuid
      - `changedBy` string
      - `reasonCode` string
      - `comments` string
      - `userToken` string
      - `history` Entity
        - `id` string, uuid
        - `updatedDate` string, date-time
        - `createdDate` string, date-time
  - `priceOverrides` PhasePrice[]
    - `planName` string
    - `phaseName` string
    - `phaseType` string
    - `fixedPrice` number
    - `recurringPrice` number
    - `usagePrices` UsagePrice[]
      - `usageName` string
      - `usageType` 'CAPACITY' | 'CONSUMABLE'
      - `billingMode` 'IN_ADVANCE' | 'IN_ARREAR'
      - `tierBlockPolicy` 'ALL_TIERS' | 'TOP_TIER'
      - `tierPrices` TierPrice[]
        - `blockPrices` BlockPrice[]
          - `unitName` string
          - `size` number, double
          - `price` number
          - `max` number, double
  - `prices` PhasePrice[]
    - `planName` string
    - `phaseName` string
    - `phaseType` string
    - `fixedPrice` number
    - `recurringPrice` number
    - `usagePrices` UsagePrice[]
      - `usageName` string
      - `usageType` 'CAPACITY' | 'CONSUMABLE'
      - `billingMode` 'IN_ADVANCE' | 'IN_ARREAR'
      - `tierBlockPolicy` 'ALL_TIERS' | 'TOP_TIER'
      - `tierPrices` TierPrice[]
        - `blockPrices` BlockPrice[]
          - `unitName` string
          - `size` number, double
          - `price` number
          - `max` number, double
  - `auditLogs` AuditLog[]
    - `changeType` string
    - `changeDate` string, date-time
    - `objectType` 'ACCOUNT' | 'ACCOUNT_EMAIL' | 'BLOCKING_STATES' | 'BUNDLE' | 'CUSTOM_FIELD' | 'INVOICE' | 'PAYMENT' | 'TRANSACTION' | 'INVOICE_ITEM' | 'INVOICE_PAYMENT' | 'SUBSCRIPTION' | 'SUBSCRIPTION_EVENT' | 'SERVICE_BROADCAST' | 'PAYMENT_ATTEMPT' | 'PAYMENT_METHOD' | 'TAG' | 'TAG_DEFINITION' | 'TENANT' | 'TENANT_KVS'
    - `objectId` string, uuid
    - `changedBy` string
    - `reasonCode` string
    - `comments` string
    - `userToken` string
    - `history` Entity
      - `id` string, uuid
      - `updatedDate` string, date-time
      - `createdDate` string, date-time

## Response `201`

Subscriptions created successfully

- Bundle
  - `accountId` string, uuid, required
  - `bundleId` string, uuid
  - `externalKey` string
  - `subscriptions` Subscription[]
    - `accountId` string, uuid
    - `bundleId` string, uuid
    - `bundleExternalKey` string
    - `subscriptionId` string, uuid
    - `externalKey` string
    - `startDate` string, date
    - `productName` string, required
    - `productCategory` 'BASE' | 'ADD_ON' | 'STANDALONE'
    - `billingPeriod` 'DAILY' | 'WEEKLY' | 'BIWEEKLY' | 'THIRTY_DAYS' | 'SIXTY_DAYS' | 'NINETY_DAYS' | 'MONTHLY' | 'BIMESTRIAL' | 'QUARTERLY' | 'TRIANNUAL' | 'BIANNUAL' | 'ANNUAL' | 'BIENNIAL' | 'NO_BILLING_PERIOD', required
    - `phaseType` 'TRIAL' | 'DISCOUNT' | 'FIXEDTERM' | 'EVERGREEN'
    - `priceList` string, required
    - `planName` string, required
    - `state` 'PENDING' | 'ACTIVE' | 'BLOCKED' | 'CANCELLED' | 'EXPIRED'
    - `sourceType` 'NATIVE' | 'MIGRATED' | 'TRANSFERRED'
    - `cancelledDate` string, date
    - `chargedThroughDate` string, date
    - `billingStartDate` string, date
    - `billingEndDate` string, date
    - `billCycleDayLocal` integer
    - `events` EventSubscription[]
      - `eventId` string, uuid
      - `billingPeriod` 'DAILY' | 'WEEKLY' | 'BIWEEKLY' | 'THIRTY_DAYS' | 'SIXTY_DAYS' | 'NINETY_DAYS' | 'MONTHLY' | 'BIMESTRIAL' | 'QUARTERLY' | 'TRIANNUAL' | 'BIANNUAL' | 'ANNUAL' | 'BIENNIAL' | 'NO_BILLING_PERIOD'
      - `effectiveDate` string, date
      - `plan` string
      - `product` string
      - `priceList` string
      - `eventType` 'START_ENTITLEMENT' | 'START_BILLING' | 'PAUSE_ENTITLEMENT' | 'PAUSE_BILLING' | 'RESUME_ENTITLEMENT' | 'RESUME_BILLING' | 'PHASE' | 'CHANGE' | 'STOP_ENTITLEMENT' | 'STOP_BILLING' | 'SERVICE_STATE_CHANGE'
      - `isBlockedBilling` boolean
      - `isBlockedEntitlement` boolean
      - `serviceName` string
      - `serviceStateName` string
      - `phase` string
      - `auditLogs` AuditLog[]
        - `changeType` string
        - `changeDate` string, date-time
        - `objectType` 'ACCOUNT' | 'ACCOUNT_EMAIL' | 'BLOCKING_STATES' | 'BUNDLE' | 'CUSTOM_FIELD' | 'INVOICE' | 'PAYMENT' | 'TRANSACTION' | 'INVOICE_ITEM' | 'INVOICE_PAYMENT' | 'SUBSCRIPTION' | 'SUBSCRIPTION_EVENT' | 'SERVICE_BROADCAST' | 'PAYMENT_ATTEMPT' | 'PAYMENT_METHOD' | 'TAG' | 'TAG_DEFINITION' | 'TENANT' | 'TENANT_KVS'
        - `objectId` string, uuid
        - `changedBy` string
        - `reasonCode` string
        - `comments` string
        - `userToken` string
        - `history` Entity
          - `id` string, uuid
          - `updatedDate` string, date-time
          - `createdDate` string, date-time
    - `priceOverrides` PhasePrice[]
      - `planName` string
      - `phaseName` string
      - `phaseType` string
      - `fixedPrice` number
      - `recurringPrice` number
      - `usagePrices` UsagePrice[]
        - `usageName` string
        - `usageType` 'CAPACITY' | 'CONSUMABLE'
        - `billingMode` 'IN_ADVANCE' | 'IN_ARREAR'
        - `tierBlockPolicy` 'ALL_TIERS' | 'TOP_TIER'
        - `tierPrices` TierPrice[]
          - `blockPrices` BlockPrice[]
            - `unitName` string
            - `size` number, double
            - `price` number
            - `max` number, double
    - `prices` PhasePrice[]
      - `planName` string
      - `phaseName` string
      - `phaseType` string
      - `fixedPrice` number
      - `recurringPrice` number
      - `usagePrices` UsagePrice[]
        - `usageName` string
        - `usageType` 'CAPACITY' | 'CONSUMABLE'
        - `billingMode` 'IN_ADVANCE' | 'IN_ARREAR'
        - `tierBlockPolicy` 'ALL_TIERS' | 'TOP_TIER'
        - `tierPrices` TierPrice[]
          - `blockPrices` BlockPrice[]
            - `unitName` string
            - `size` number, double
            - `price` number
            - `max` number, double
    - `auditLogs` AuditLog[]
      - `changeType` string
      - `changeDate` string, date-time
      - `objectType` 'ACCOUNT' | 'ACCOUNT_EMAIL' | 'BLOCKING_STATES' | 'BUNDLE' | 'CUSTOM_FIELD' | 'INVOICE' | 'PAYMENT' | 'TRANSACTION' | 'INVOICE_ITEM' | 'INVOICE_PAYMENT' | 'SUBSCRIPTION' | 'SUBSCRIPTION_EVENT' | 'SERVICE_BROADCAST' | 'PAYMENT_ATTEMPT' | 'PAYMENT_METHOD' | 'TAG' | 'TAG_DEFINITION' | 'TENANT' | 'TENANT_KVS'
      - `objectId` string, uuid
      - `changedBy` string
      - `reasonCode` string
      - `comments` string
      - `userToken` string
      - `history` Entity
        - `id` string, uuid
        - `updatedDate` string, date-time
        - `createdDate` string, date-time
  - `timeline` BundleTimeline
    - `accountId` string, uuid
    - `bundleId` string, uuid
    - `externalKey` string
    - `events` EventSubscription[]
      - `eventId` string, uuid
      - `billingPeriod` 'DAILY' | 'WEEKLY' | 'BIWEEKLY' | 'THIRTY_DAYS' | 'SIXTY_DAYS' | 'NINETY_DAYS' | 'MONTHLY' | 'BIMESTRIAL' | 'QUARTERLY' | 'TRIANNUAL' | 'BIANNUAL' | 'ANNUAL' | 'BIENNIAL' | 'NO_BILLING_PERIOD'
      - `effectiveDate` string, date
      - `plan` string
      - `product` string
      - `priceList` string
      - `eventType` 'START_ENTITLEMENT' | 'START_BILLING' | 'PAUSE_ENTITLEMENT' | 'PAUSE_BILLING' | 'RESUME_ENTITLEMENT' | 'RESUME_BILLING' | 'PHASE' | 'CHANGE' | 'STOP_ENTITLEMENT' | 'STOP_BILLING' | 'SERVICE_STATE_CHANGE'
      - `isBlockedBilling` boolean
      - `isBlockedEntitlement` boolean
      - `serviceName` string
      - `serviceStateName` string
      - `phase` string
      - `auditLogs` AuditLog[]
        - `changeType` string
        - `changeDate` string, date-time
        - `objectType` 'ACCOUNT' | 'ACCOUNT_EMAIL' | 'BLOCKING_STATES' | 'BUNDLE' | 'CUSTOM_FIELD' | 'INVOICE' | 'PAYMENT' | 'TRANSACTION' | 'INVOICE_ITEM' | 'INVOICE_PAYMENT' | 'SUBSCRIPTION' | 'SUBSCRIPTION_EVENT' | 'SERVICE_BROADCAST' | 'PAYMENT_ATTEMPT' | 'PAYMENT_METHOD' | 'TAG' | 'TAG_DEFINITION' | 'TENANT' | 'TENANT_KVS'
        - `objectId` string, uuid
        - `changedBy` string
        - `reasonCode` string
        - `comments` string
        - `userToken` string
        - `history` Entity
          - `id` string, uuid
          - `updatedDate` string, date-time
          - `createdDate` string, date-time
    - `auditLogs` AuditLog[]
      - `changeType` string
      - `changeDate` string, date-time
      - `objectType` 'ACCOUNT' | 'ACCOUNT_EMAIL' | 'BLOCKING_STATES' | 'BUNDLE' | 'CUSTOM_FIELD' | 'INVOICE' | 'PAYMENT' | 'TRANSACTION' | 'INVOICE_ITEM' | 'INVOICE_PAYMENT' | 'SUBSCRIPTION' | 'SUBSCRIPTION_EVENT' | 'SERVICE_BROADCAST' | 'PAYMENT_ATTEMPT' | 'PAYMENT_METHOD' | 'TAG' | 'TAG_DEFINITION' | 'TENANT' | 'TENANT_KVS'
      - `objectId` string, uuid
      - `changedBy` string
      - `reasonCode` string
      - `comments` string
      - `userToken` string
      - `history` Entity
        - `id` string, uuid
        - `updatedDate` string, date-time
        - `createdDate` string, date-time
  - `auditLogs` AuditLog[]
    - `changeType` string
    - `changeDate` string, date-time
    - `objectType` 'ACCOUNT' | 'ACCOUNT_EMAIL' | 'BLOCKING_STATES' | 'BUNDLE' | 'CUSTOM_FIELD' | 'INVOICE' | 'PAYMENT' | 'TRANSACTION' | 'INVOICE_ITEM' | 'INVOICE_PAYMENT' | 'SUBSCRIPTION' | 'SUBSCRIPTION_EVENT' | 'SERVICE_BROADCAST' | 'PAYMENT_ATTEMPT' | 'PAYMENT_METHOD' | 'TAG' | 'TAG_DEFINITION' | 'TENANT' | 'TENANT_KVS'
    - `objectId` string, uuid
    - `changedBy` string
    - `reasonCode` string
    - `comments` string
    - `userToken` string
    - `history` Entity
      - `id` string, uuid
      - `updatedDate` string, date-time
      - `createdDate` string, date-time

---

[API](https://skmtc.net/killbill/apis/kill-bill.md) · [All operations](https://skmtc.net/killbill/apis/kill-bill/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/killbill/kill-bill/versions/0fb95d23caf5/schema)
