# Start a recurring add-on (internal) **POST /admin/orgs/{orgId}/recurring-addons** Starts a recurring add-on for the organization (kit or laptop rental billed monthly, live bank every six months), optionally tied to `case`, with periods anchored on the day of `startedAt` (now by default). Repeating the same organization, SKU and `externalRef` returns the existing record instead of starting a second one; returns 400 for a SKU that is not a recurring add-on or an organization without a case-billing profile. Super admin only. ## Servers - http://api.example.com: http://api.example.com () ## Authentication methods - Access token ## Parameters ### Path parameters - **orgId** (string) Id of the organization ### Body: application/json (object) - **skuKey** (string) Must be a recurring add-on (kit rental, laptop rental, live bank). One-time charges go through the billing-item endpoint. - **externalRef** (string) Caller-supplied dedup token. Repeating it for the same org+SKU returns the existing subscription instead of starting a second one. Reactivating after a cancel needs a NEW value. - **reason** (string) Required audit reason — persisted on the BillingEvent - **case** (string) Case this add-on belongs to. Rentals are case-level; live banks may be org-level (omit). - **startedAt** (string(date-time)) When the subscription starts, ISO-8601. Defaults to now. Also the period anchor — every later period falls on this day-of-month, not the 1st. ## Responses ### 201 #### Body: application/json (object) - **data** (object) - **statusCode** (number) - **timestamp** (string(date-time)) [Powered by Bump.sh](https://bump.sh)