---
title: "Update child organization licensing"
method: PATCH
path: "/v0/organizations/mine/child-organizations/{id}/licensing"
tags: ["Organizations"]
---

# Update child organization licensing

`PATCH /v0/organizations/mine/child-organizations/{id}/licensing`

## Request

- Base URL: `https://platform.sublime.security`
- URL: `https://platform.sublime.security/v0/organizations/mine/child-organizations/{id}/licensing`
- Auth: HTTP bearer

Apply a desired license to a child organization. The requested license is evaluated against the organization's current billing state and the appropriate transition is applied.

## Path parameters

- `id` string, uuid, required: ID of the child organization whose licenses to update.

## Request body

- PatchChildOrganizationLicensingInput
  - `licenses` HandlerTypesLicenseInput[], required: Desired license to apply. Exactly one license per request is supported today; the array shape is reserved for future multi-SKU support.
    - `sku` 'sublime_email_security', required: Identifies the product to license. "sublime_email_security" is the only SKU available today.
    - `status` string, required: Desired billing state for the license. Valid values: "trialing", "active", "canceled". Use "canceled" to downgrade an existing license back to free.
    - `trial_days` integer, nullable: Length of the trial in days (only used when status is trialing.) If not set, the default trial length will be used.

## Response `200`

OK

- HandlerTypesPatchChildOrganizationLicensingResponse
  - `licenses` TypesLicense[]: Licenses present on the organization after the requested transition. A license whose transition failed is omitted; see warnings for details.
    - `sku` 'sublime_email_security': Identifies the licensed product. "sublime_email_security" is the only SKU available today.
    - `status` 'trialing' | 'active' | 'no_subscription' | 'past_due' | 'canceled' | 'unpaid' | 'incomplete' | 'incomplete_expired': Current billing status of this license. This reflects the underlying billing state and may differ from a requested transition target. Common values: "trialing" (within a time-limited trial — see trial_expires_at for the end date), "active" (a paid, current subscription), and "no_subscription" (free tier — no active subscription). Stripe-derived states such as "past_due", "canceled", "unpaid", "incomplete", and "incomplete_expired" may also appear.
    - `trial_expires_at` string, date-time, nullable: When the trial period ends. Present only while status is "trialing"; omitted otherwise.
  - `warnings` string[]: Non-fatal issues encountered while applying the transition. A non-empty warnings array alongside a partial licenses array indicates partial success.

---

[API](https://skmtc.dev/sublime/apis/multi-tenancy-api-beta.md) - [All operations](https://skmtc.dev/sublime/apis/multi-tenancy-api-beta/llms.txt) - [OpenAPI document](https://skmtc.dev/sublime/apis/multi-tenancy-api-beta/revisions/28da41b55c3f?raw)
