---
title: "Checkout internal"
method: POST
path: "/checkout-internal"
tags: ["checkout"]
---

# Checkout internal

`POST /checkout-internal`

## Request body

- ChangeSubscriptionInternalRequestBody
  - `add_on_ids` UpdateAddOnRequestBody[], required
    - `add_on_id` string, required
    - `price_id` string, required
  - `auto_topup_overrides` UpdateAutoTopupOverrideRequestBody[], required
    - `auto_topup_amount` integer, nullable
    - `auto_topup_enabled` boolean, nullable
    - `auto_topup_threshold_credits` integer, nullable
    - `plan_credit_grant_id` string, required
  - `billing_entity_id` string, nullable
  - `company_id` string, required
  - `coupon_external_id` string, nullable
  - `credit_bundles` UpdateCreditBundleRequestBody[], required
    - `bundle_id` string, required
    - `quantity` integer, required
  - `custom_field_values` CheckoutFieldValue[], required
    - `id` string, required
    - `value` string, required
  - `new_plan_id` string, required
  - `new_price_id` string, required
  - `opt_in_accepted` boolean, nullable
  - `pay_in_advance` UpdatePayInAdvanceRequestBody[], required
    - `price_id` string, required
    - `quantity` integer, required
  - `payment_method_id` string, nullable
  - `promo_code` string, nullable
  - `skip_trial` boolean, required

## Response `201`

Created

- object
  - `data` CheckoutSubscription, required
    - `application_id` string, nullable
    - `cancel_at` integer, nullable
    - `cancel_at_period_end` boolean, required
    - `company_id` string, nullable
    - `confirm_payment_intent_client_secret` string, nullable
    - `confirm_payment_intent_id` string, nullable
    - `created_at` string, date-time, required
    - `currency` string, required
    - `customer_external_id` string, required
    - `default_payment_method_id` string, nullable
    - `expired_at` string, date-time, nullable
    - `id` string, required
    - `interval` string, required
    - `invoice_id` string, nullable
    - `invoice_url` string, nullable
    - `metadata` object
    - `period_end` integer, required
    - `period_start` integer, required
    - `provider_type` 'metronome' | 'orb' | 'schematic' | 'stripe', required
    - `status` string, required
    - `subscription_external_id` string, required
    - `total_price` integer, required
    - `trial_end` integer, nullable
    - `trial_end_setting` 'cancel' | 'subscribe'
  - `params` object, required — Input parameters

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `500` — Server error

---

[API](https://skmtc.net/schematichq/apis/schematic-api.md) · [All operations](https://skmtc.net/schematichq/apis/schematic-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/schematichq/schematic-api/revisions/419cb5147b52/schema)
