> ## Documentation Index
> Fetch the complete documentation index at: https://docs.outseta.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Preview the invoice that a subscription change would create, without making the

> Preview the invoice that a subscription change would create, without making the
change. The request body is the same as for the change. Pass asOf in the query string
to preview the change at a later date (default: now). A user token can only preview
a change on its own account, and only as the account's primary contact.



## OpenAPI

````yaml /api-reference/openapi.json post /api/v1/billing/stripe/subscriptions/{subscriptionUid}/change-preview
openapi: 3.0.0
info:
  title: Outseta API
  description: >-
    # Outseta REST API


    The Outseta REST API lets you manage people, accounts, subscriptions,
    invoices, email, and support resources over HTTPS. Responses are JSON unless
    an endpoint documents another format, such as an invoice PDF.


    **Base URL:** `https://{your-domain}.outseta.com/api/v1/`


    ## Contents


    - [Quick start](#quick-start)

    - [Authentication](#authentication)
      - [Server-side API keys](#server-side-api-keys)
      - [Client-side bearer tokens](#client-side-bearer-tokens)
      - [Two-factor authentication](#two-factor-authentication-2fa-during-login)
      - [Forced 2FA enrollment](#forced-2fa-enrollment-during-login)
    - [Working with collections](#working-with-collections)
      - [Field selection](#field-selection)
      - [Pagination](#pagination)
      - [Sorting](#sorting)
      - [Filtering](#filtering)
      - [Sorting and filtering metadata](#sorting-and-filtering-metadata)
    - [Account billing stages](#account-billing-stages)

    - [Error responses](#error-responses)

    - [Rate limits](#rate-limits)

    - [Support](#support)

    - [Webhooks](#webhooks)

    - [Endpoint index](#endpoint-index)


    ## Quick start


    Authenticate every request with either a server-side API key or a user
    bearer token. For example:


    ```http

    GET /api/v1/crm/accounts?limit=20&fields=Uid,Name HTTP/1.1

    Host: example.outseta.com

    Authorization: Outseta {api_key}:{api_secret}

    ```


    List endpoints return a consistent envelope:


    ```json

    {
      "metadata": {
        "limit": 20,
        "offset": 0,
        "total": 142
      },
      "items": []
    }

    ```


    Use `limit` and `offset` for [pagination](#pagination), `fields` to control
    the response shape, `orderBy` for sorting, and entity properties for
    filtering.


    General request behavior:


    - Use HTTPS. HTTP requests are redirected to HTTPS with `301`.

    - `GET` retrieves, `POST` creates or invokes an action, `PUT` updates, and
    `DELETE` removes.

    - The API returns standard HTTP status codes. Error details are returned as
    JSON.

    - Add `donotlog=1` to a request that should not appear in the activity log.


    ## Authentication


    All API requests require authentication via one of two methods:


    ### Server-Side (API Keys)


    Use API keys for server-to-server integrations. Create keys at **Settings >
    Integrations > API Keys**. Make sure to record the secret key when you
    create it.


    ```

    Authorization: Outseta {api_key}:{api_secret}

    ```


    **Example:**

    ```

    Authorization: Outseta
    ce08fd5a-e1ee-4472-9c5f-b7575d8369b2:74fc1d2242a4eb7336d34b0e40cfbc5f

    ```


    > **Warning:** Never expose API keys in client-side code. The API key and
    secret combined give full access to all data in your account.


    ### Client-Side (Bearer Token)


    Do **not** use API keys on the client side — they can be easily copied.
    Instead, obtain a JWT access token by calling the `POST /tokens` endpoint
    from the server side with your credentials, then use it on the client:


    ```

    Authorization: bearer {access_token}

    ```


    Tokens are JWTs containing claims such as `PersonUid`, `AccountUid`, and
    subscription details. Tokens expire after approximately one year.


    Verify tokens server-side using Outseta's [JWKS
    endpoint](https://{your-domain}.outseta.com/.well-known/jwks.json).


    ### Two-Factor Authentication (2FA) During Login


    When a user has enabled two-factor authentication, a username and password
    are

    no longer sufficient to obtain a token — the login becomes a two-step
    exchange.

    You do not need to call any endpoint up front to discover whether 2FA is on;
    the

    response to `POST /tokens` tells you.


    **Step 1 — Attempt login as usual.**


    ```

    POST /api/v1/tokens

    Content-Type: application/json


    { "username": "user@example.com", "password": "their-password" }

    ```


    If the user has no 2FA enabled, you get the normal `200` token response and

    you're done:


    ```json

    { "access_token": "eyJ...", "token_type": "Bearer", "expires_in": 31536000 }

    ```


    If the user **does** have 2FA enabled, the password is verified and the
    response

    is `202 Accepted` with a challenge instead of a token:


    ```json

    {
      "two_factor_required": true,
      "challenge_token": "eyJ...",
      "mechanism": "Totp",
      "masked_destination": "",
      "expires_in": 600,
      "available_mechanisms": ["Totp", "Email"],
      "recovery_codes_available": true
    }

    ```


    This single response answers everything you need to know about the user's
    2FA:


    | Field | Meaning |

    |-------|---------|

    | `mechanism` | The method this challenge targets: `Email` or `Totp`
    (authenticator app). **If `Email`, a one-time code has already been emailed
    to the user.** If `Totp`, nothing is sent — the user reads the current code
    from their authenticator app. |

    | `masked_destination` | Where an emailed code was sent, masked for display
    (e.g. `b***@outseta.com`). Empty when `mechanism` is `Totp`. |

    | `available_mechanisms` | Every method the user has enrolled. Use this to
    show the user their options (and to enable "use a different method"). |

    | `recovery_codes_available` | Whether the user has recovery codes they can
    fall back to. |

    | `challenge_token` | Opaque, short-lived token (valid for `expires_in`
    seconds, 600 = 10 minutes) that ties the next request to this challenge.
    Echo it back verbatim. |


    > When both an authenticator app and email are enrolled, Outseta picks the

    > authenticator app (`Totp`) as the default `mechanism` because it requires
    no

    > "check your inbox" step. The user can switch to email — see below.


    **Step 2 — Submit the code to get the token.**


    Collect the 6-digit code from the user (from their email or authenticator
    app)

    and post it along with the `challenge_token`:


    ```

    POST /api/v1/tokens/two-factor

    Content-Type: application/json


    { "challenge_token": "eyJ...", "code": "123456" }

    ```


    On success you receive the final JWT — the same shape as a normal login, and
    the

    token you use as the `Authorization: bearer {access_token}` for subsequent
    calls:


    ```json

    { "access_token": "eyJ...", "token_type": "Bearer", "expires_in": 31536000 }

    ```


    Error responses:


    | Status | Body | Meaning |

    |--------|------|---------|

    | `400` | `invalid_grant` | The code was wrong or missing. The challenge
    allows up to 5 attempts before it locks. |

    | `410` | `challenge_expired` | The challenge token expired (older than 10
    minutes). Start over at `POST /tokens`. |

    | `429` | — | Too many attempts; retry after a minute. |


    **Optional helper endpoints** (all take the `challenge_token` from Step 1):


    - **Resend an emailed code** — `POST /api/v1/tokens/two-factor/resend` with
      `{ "challenge_token": "..." }`. Returns a fresh challenge (same shape as the
      `202` above). Only valid for `Email` challenges; a `Totp` challenge returns
      `400` `not_supported`.
    - **Switch to a different method** — `POST
    /api/v1/tokens/two-factor/switch-mechanism`
      with `{ "challenge_token": "...", "mechanism": "Email" }`. Use this when the
      user picks one of the other `available_mechanisms` (e.g. they can't reach their
      authenticator). Returns a fresh challenge for the chosen mechanism (and sends a
      code when switching to `Email`).
    - **Use a recovery code** — `POST /api/v1/tokens/two-factor/recovery` with
      `{ "challenge_token": "...", "recovery_code": "abcd-efgh-ijkl" }`. Returns the
      final JWT, exactly like Step 2. Each recovery code is single-use.

    ### Forced 2FA Enrollment During Login


    Accounts can be configured to *require* 2FA. When a user who has not yet set
    it

    up tries to log in, they must enroll a method before they can get a token —

    all in the same login flow.


    **Step 1 — Attempt login.** Exactly as above. If the account forces 2FA and
    the

    user has no method enrolled, `POST /api/v1/tokens` verifies the password and

    returns `202 Accepted` with `two_factor_enrollment_required` (instead of

    `two_factor_required`):


    ```json

    {
      "two_factor_enrollment_required": true,
      "challenge_token": "eyJ...",
      "expires_in": 600
    }

    ```


    That `challenge_token` is the **enrollment token** — it proves the user's

    identity for the rest of the flow. Pass it as `enrollment_token` in every
    call

    below. Let the user pick a method (email or an authenticator app) and run
    the

    matching two-step *begin → confirm* sequence.


    **Option A — Enroll an authenticator app (recommended).**


    1. Begin — exchange the enrollment token for a shared secret:

       ```
       POST /api/v1/tokens/two-factor/enroll/totp/begin
       { "enrollment_token": "eyJ..." }
       ```
       ```json
       {
         "challenge_token": "eyJ...",
         "secret": "JBSWY3DPEHPK3PXP",
         "otpauth_uri": "otpauth://totp/Acme:user@example.com?secret=...&issuer=Acme",
         "qr_code_png_base64": "iVBORw0KGgo...",
         "expires_in": 600
       }
       ```
       Have the user add the secret to their authenticator app — scan
       `qr_code_png_base64` (render it as an image), open `otpauth_uri`, or type the
       `secret` manually.

    2. Confirm — submit the first code the app generates:

       ```
       POST /api/v1/tokens/two-factor/enroll/totp/confirm
       { "enrollment_token": "eyJ...", "challenge_token": "eyJ...", "code": "123456" }
       ```

    **Option B — Enroll email.**


    1. Begin — a code is emailed to the user:

       ```
       POST /api/v1/tokens/two-factor/enroll/email/begin
       { "enrollment_token": "eyJ..." }
       ```
       ```json
       { "challenge_token": "eyJ...", "mechanism": "Email", "masked_destination": "b***@outseta.com", "expires_in": 600 }
       ```

    2. Confirm — submit the emailed code:

       ```
       POST /api/v1/tokens/two-factor/enroll/email/confirm
       { "enrollment_token": "eyJ...", "challenge_token": "eyJ...", "code": "123456" }
       ```

    **Confirm response (both options).** A successful confirm enables the method

    *and* completes the login in one shot — it returns the final JWT plus the
    user's

    recovery codes:


    ```json

    {
      "confirmed": true,
      "recovery_codes": ["abcd-efgh-ijkl", "mnop-qrst-uvwx", "..."],
      "access_token": "eyJ...",
      "token_type": "Bearer",
      "expires_in": 31536000
    }

    ```


    > Show `recovery_codes` to the user **once** and prompt them to save the
    codes —

    > they are generated as part of first-time enrollment and are never returned

    > again. Each is single-use at `POST /api/v1/tokens/two-factor/recovery`.


    Notes:


    - Both `begin` calls pass only the `enrollment_token`; both `confirm` calls
    pass
      the `enrollment_token`, the `challenge_token` from the matching `begin`, and the
      `code`.
    - `401` means the enrollment token is missing/invalid/expired (restart at
    Step 1);
      `403` means forced enrollment does not apply to the user; `400` (`invalid_grant`)
      means a wrong code; `410` (`challenge_expired`) means the challenge timed out.
    - Each token/challenge is valid for 10 minutes (`expires_in` = 600). If the
    user
      takes too long, restart at `POST /api/v1/tokens`.
    - After enrollment, the user is a normal 2FA user — subsequent logins follow
    the
      standard challenge flow described above, not this enrollment flow.

    ## Working with collections


    Collection endpoints support field selection, pagination, sorting, and
    filtering. Unless an endpoint says otherwise, these options can be combined
    in the same request.


    ### Field selection


    When you make an API request, you'll automatically get all the basic
    information from the main object and its immediate child objects. Referenced
    objects beyond the first level are returned as `null`.


    Change this behavior using the `fields` query parameter:


    - **Go deeper** — Request fields lower down in the object tree:
    `?fields=CurrentSubscription.Plan.*`

    - **Go lighter** — Request only the essentials for faster performance:
    `?fields=Uid,Name`

    - **Combination** — `?fields=Uid,Name,CurrentSubscription.Plan.Uid`

    - **Wildcard** — Use `*` to get all fields in an object: `?fields=*` or
    `?fields=CurrentSubscription.Plan.*`


    > **Tip:** When expanding nested paths, include `*` and intermediate path
    segments (e.g., `PersonAccount.*`) to preserve root-level and intermediate
    fields.


    **Examples:**


    ```

    # Get the current subscription plan UID for an account

    GET /crm/accounts/{uid}?fields=CurrentSubscription.Plan.Uid


    # Get the account UID and plan UID for a list of accounts

    GET /crm/accounts?fields=Uid,CurrentSubscription.Plan.Uid


    # Get the full plan object for an account's current subscription

    GET /crm/accounts/{uid}?fields=CurrentSubscription.Plan.*


    # Get a person with their account and subscription info

    GET
    /crm/people/{uid}?fields=Uid,PersonAccount.Account.CurrentSubscription.Plan.Uid

    ```


    > **Unknown paths are ignored, not rejected.** A `fields` path that does not
    match a property on the object is dropped from the request. The response is
    still `200`, still well-formed, and simply has no such property — the same
    shape you would get if the value were legitimately `null`. Nothing in the
    response distinguishes "you asked for a property that does not exist" from
    "that property is null". Confirm that what you requested came back before
    relying on it, and check spelling against the endpoint's response schema
    rather than a similarly named property on another object.


    If your request includes fields from a child object you will be limited to
    retrieving **25 items** per page. The maximum for requests not expanding
    child object fields is **100 items**.


    ### Pagination


    List endpoints return paginated results with a `metadata` object and an
    `items` array:


    ```json

    {
      "metadata": {
        "limit": 25,
        "offset": 0,
        "total": 142
      },
      "items": [ ... ]
    }

    ```


    | Parameter | Type | Default | Description |

    |-----------|------|---------|-------------|

    | `offset` | integer | `0` | Zero-based page number, not a record offset |

    | `limit` | integer | `25` | Requested page size. Capped at `100`, or `25`
    when requested fields expand child objects or require additional queries;
    `metadata.limit` reports the applied value |


    **Examples:**

    ```

    ?offset=0&limit=20     # page 1 (index 0) — results 1-20

    ?offset=1&limit=20     # page 2 (index 1) — results 21-40

    ?offset=20&limit=20    # page index 20 — results 401-420, NOT results 21-40

    ```


    ### Sorting


    Sort results using the `orderBy` parameter with a property name and
    direction:


    ```

    ?orderBy=PropertyName+DESC

    ```


    `orderBy` generally supports database-backed scalar properties. Support for
    nested paths is endpoint-specific, especially when a path traverses a
    collection and does not identify a single ordering value. Important known
    unsupported paths, including calculated properties, are listed in the
    endpoint's `x-outseta-sort-denylist`; this list is curated rather than
    exhaustive.


    ### Filtering


    Filter results by passing entity properties as query parameters.


    #### Basic filtering


    Filter on any field using the field name as a query parameter:


    ```

    GET /crm/people?Email=john@example.com

    GET /crm/accounts?AccountStage=2

    ```


    #### Wildcard matching


    | Pattern | Match Type | Example |

    |---------|-----------|---------|

    | `*value` | Ends with | `?Email=*@example.com` |

    | `value*` | Starts with | `?Name=Acme*` |

    | `*value*` | Contains | `?Name=*corp*` |


    #### Comparison operators


    For advanced filtering, append comparison operators to field names:


    | Operator | Description | Example |

    |----------|-------------|---------|

    | `__gt` | Greater than | `Created__gt=2024-01-01` |

    | `__gte` | Greater than or equal | `Amount__gte=100` |

    | `__lt` | Less than | `Created__lt=2024-12-31` |

    | `__lte` | Less than or equal | `Amount__lte=500` |

    | `__ne` | Not equal | `Status__ne=Active` |

    | `__isnull` | Is null (true/false) | `ProfileImageS3Url__isnull=true` |


    **Examples:**


    ```

    # Date filtering

    GET /crm/accounts?Created__gt=2024-01-01

    GET /billing/subscriptions?EndDate__lt=2024-08-01


    # Numeric filtering

    GET /billing/invoices?Amount__gte=1000


    # Null value filtering

    GET /crm/people?ProfileImageS3Url__isnull=true


    # Multiple filters combined with field selection

    GET
    /billing/subscriptions?StartDate__gte=2024-01-01&EndDate__isnull=true&fields=Uid,StartDate,EndDate,Plan.Name

    ```


    ### Sorting and filtering metadata


    Collection operations in the OpenAPI document can include
    `x-outseta-sort-denylist` and `x-outseta-filter-denylist`. Each extension is
    an array of property paths, relative to an item in that operation's response
    collection, that the operation does not support for sorting or filtering.
    Paths can be nested.


    ```yaml

    x-outseta-sort-denylist:
      - CurrentSubscription.Rate
    x-outseta-filter-denylist:
      - CurrentSubscription.Rate
    ```


    These lists currently prioritize high-value financial and CRM properties
    that API consumers frequently attempt to query. They are curated rather than
    exhaustive, so the absence of a property is not by itself a guarantee that
    every query shape is supported.


    ## Account Billing Stages


    Account stages reflect the financial standing of each account and are not
    directly editable — they change automatically based on subscription
    activity.


    | Value | Stage | Description |

    |-------|-------|-------------|

    | `2` | Trialing | Currently on a free trial or free plan |

    | `3` | Subscribing | Active paid subscription (contributes to MRR) |

    | `4` | Canceling | Customer has indicated intent to cancel |

    | `5` | Expired | Subscription has ended after cancellation |

    | `6` | Trial Expired | Free trial ended without conversion to paid |


    Filter by stage: `GET /crm/accounts?AccountStage=3` returns all actively
    subscribing accounts.


    ## Error Responses


    | Status Code | Description |

    |-------------|-------------|

    | `200` | Success |

    | `301` | Redirect — HTTP requests are redirected to HTTPS |

    | `400` | Bad request — invalid parameters or Uid format |

    | `401` | Unauthorized — missing or invalid authentication |

    | `404` | Entity not found |

    | `4XX` / `5XX` | Client or server error |


    Validation errors return a JSON body with `ErrorMessage` and `PropertyName`
    fields:


    ```json

    {
      "ErrorMessage": "Invalid company email",
      "PropertyName": "Email"
    }

    ```


    ## Rate Limits


    Requests authorized by an API Key should not exceed **4 requests/second**.


    ## Support


    For help regarding the Outseta API please email
    [support@outseta.com](mailto:support@outseta.com).


    ## Webhooks


    Use **Activity Notifications** to receive real-time callbacks when events
    occur in Outseta. Configure webhook URLs and their SHA256 signing secrets at
    **Settings > Notifications**. Always verify the signature before processing
    a request.


    Outseta sends an HTTP `POST` to each registered callback URL. The payload is
    the activity's entity restricted to a subset of fields, with an
    `ActivityEventData` property carrying activity-specific data.


    On accounts that bill through Stripe, account payloads carry
    `CurrentStripeProductInstances`: the Stripe products the account owns right
    now, each with the owned `Quantity`. The `AccountProductsChanged` event
    fires when that list changes and names the added and removed product UIDs in
    `ActivityEventData`.




    | Activity | Entity | Payload schema |

    | --- | --- | --- |

    | `AccountCreated` | `Account` | `AccountCreatedWebhookPayload` |

    | `AccountUpdated` | `Account` | `AccountUpdatedWebhookPayload` |

    | `AccountAddPerson` | `Account` | `AccountAddPersonWebhookPayload` |

    | `AccountStageUpdated` | `Account` | `AccountStageUpdatedWebhookPayload` |

    | `AccountDeleted` | `Account` | `AccountDeletedWebhookPayload` |

    | `AccountBillingInformationUpdated` | `Account` |
    `AccountBillingInformationUpdatedWebhookPayload` |

    | `AccountSubscriptionPlanUpdated` | `Account` |
    `AccountSubscriptionPlanUpdatedWebhookPayload` |

    | `AccountSubscriptionPaymentCollected` | `Account` |
    `AccountSubscriptionPaymentCollectedWebhookPayload` |

    | `AccountSubscriptionPaymentDeclined` | `Account` |
    `AccountSubscriptionPaymentDeclinedWebhookPayload` |

    | `AccountBillingInformationRequested` | `Account` |
    `AccountBillingInformationRequestedWebhookPayload` |

    | `AccountBillingInvoiceEmailSent` | `Invoice` |
    `AccountBillingInvoiceEmailSentWebhookPayload` |

    | `AccountRemovePerson` | `Account` | `AccountRemovePersonWebhookPayload` |

    | `AccountPaidSubscriptionCreated` | `Account` |
    `AccountPaidSubscriptionCreatedWebhookPayload` |

    | `AccountBillingInformationRemoved` | `Account` |
    `AccountBillingInformationRemovedWebhookPayload` |

    | `AccountPrimaryPersonUpdated` | `Account` |
    `AccountPrimaryPersonUpdatedWebhookPayload` |

    | `AccountBillingInvoiceCreated` | `Invoice` |
    `AccountBillingInvoiceCreatedWebhookPayload` |

    | `AccountSubscriptionStarted` | `Account` |
    `AccountSubscriptionStartedWebhookPayload` |

    | `AccountSubscriptionRenewalExtended` | `Account` |
    `AccountSubscriptionRenewalExtendedWebhookPayload` |

    | `AccountSubscriptionAddOnsChanged` | `Account` |
    `AccountSubscriptionAddOnsChangedWebhookPayload` |

    | `AccountSubscriptionCancellationRequested` | `Account` |
    `AccountSubscriptionCancellationRequestedWebhookPayload` |

    | `AccountBillingInvoiceDeleted` | `Invoice` |
    `AccountBillingInvoiceDeletedWebhookPayload` |

    | `AccountPersonRoleUpdated` | `Account` |
    `AccountPersonRoleUpdatedWebhookPayload` |

    | `AccountProductsChanged` | `Account` |
    `AccountProductsChangedWebhookPayload` |

    | `PersonCreated` | `Person` | `PersonCreatedWebhookPayload` |

    | `PersonUpdated` | `Person` | `PersonUpdatedWebhookPayload` |

    | `PersonDeleted` | `Person` | `PersonDeletedWebhookPayload` |

    | `PersonLogin` | `Account` | `PersonLoginWebhookPayload` |

    | `PersonListSubscribed` | `Person` | `PersonListSubscribedWebhookPayload` |

    | `PersonListUnsubscribed` | `Person` |
    `PersonListUnsubscribedWebhookPayload` |

    | `PersonSegmentAdded` | `Person` | `PersonSegmentAddedWebhookPayload` |

    | `PersonSegmentRemoved` | `Person` | `PersonSegmentRemovedWebhookPayload` |

    | `PersonEmailOpened` | `Person` | `PersonEmailOpenedWebhookPayload` |

    | `PersonEmailClicked` | `Person` | `PersonEmailClickedWebhookPayload` |

    | `PersonEmailBounce` | `Person` | `PersonEmailBounceWebhookPayload` |

    | `PersonEmailSpam` | `Person` | `PersonEmailSpamWebhookPayload` |

    | `PersonSupportTicketCreated` | `Person` |
    `PersonSupportTicketCreatedWebhookPayload` |

    | `PersonSupportTicketUpdated` | `Person` |
    `PersonSupportTicketUpdatedWebhookPayload` |

    | `PersonLeadFormSubmitted` | `Person` |
    `PersonLeadFormSubmittedWebhookPayload` |

    | `PersonListConfirmed` | `Person` | `PersonListConfirmedWebhookPayload` |

    | `PersonEmailSubscribed` | `Person` | `PersonEmailSubscribedWebhookPayload`
    |

    | `PersonEmailUnsubscribed` | `Person` |
    `PersonEmailUnsubscribedWebhookPayload` |

    | `PersonTemporaryPasswordSet` | `Person` |
    `PersonTemporaryPasswordSetWebhookPayload` |

    | `PersonSupportTicketClosed` | `Person` |
    `PersonSupportTicketClosedWebhookPayload` |

    | `PersonTwoFactorRecoveryCodesRegenerated` | `Person` |
    `PersonTwoFactorRecoveryCodesRegeneratedWebhookPayload` |

    | `DealCreated` | `Deal` | `DealCreatedWebhookPayload` |

    | `DealUpdated` | `Deal` | `DealUpdatedWebhookPayload` |

    | `DealDeleted` | `Deal` | `DealDeletedWebhookPayload` |

    | `DealDueDate` | `Deal` | `DealDueDateWebhookPayload` |

    | `TaskCreated` | `Deal` or `Person` or `Account` |
    `TaskCreatedWebhookPayload` |

    | `TaskUpdated` | `Deal` or `Person` or `Account` |
    `TaskUpdatedWebhookPayload` |

    | `PlanCreated` | `Plan` | `PlanCreatedWebhookPayload` |

    | `PlanUpdated` | `Plan` | `PlanUpdatedWebhookPayload` |

    | `AddOnCreated` | `AddOn` | `AddOnCreatedWebhookPayload` |

    | `AddOnUpdated` | `AddOn` | `AddOnUpdatedWebhookPayload` |

    | `DiscordUserLinked` | `Person` | `DiscordUserLinkedWebhookPayload` |

    | `DiscordUserAddedToServer` | `Person` |
    `DiscordUserAddedToServerWebhookPayload` |

    | `DiscordUserRolesUpdated` | `Person` |
    `DiscordUserRolesUpdatedWebhookPayload` |

    | `DiscordUserRemovedFromServer` | `Person` |
    `DiscordUserRemovedFromServerWebhookPayload` |


    An activity that lists more than one entity is rooted on whichever of those
    entities it fires on, so its payload schema is a `oneOf` of them.
    `TaskCreated` and `TaskUpdated` work this way: the webhook is rooted on the
    deal, person or account the task belongs to, and the task itself is carried
    in the `ActivityEventData` property.
  version: v1
servers:
  - url: https://{subdomain}.outseta.com
    description: Your Outseta account
    variables:
      subdomain:
        default: your-subdomain
        description: >-
          Your Outseta account subdomain — the part before ".outseta.com" in
          your admin URL.
security: []
paths:
  /api/v1/billing/stripe/subscriptions/{subscriptionUid}/change-preview:
    post:
      tags:
        - Billing (v3)
      summary: >-
        Preview the invoice that a subscription change would create, without
        making the
      description: >-
        Preview the invoice that a subscription change would create, without
        making the

        change. The request body is the same as for the change. Pass asOf in the
        query string

        to preview the change at a later date (default: now). A user token can
        only preview

        a change on its own account, and only as the account's primary contact.
      operationId: StripeSubscriptions_PreviewChange
      parameters:
        - name: subscriptionUid
          in: path
          required: true
          description: The subscription's unique identifier
          schema:
            type: string
            nullable: true
          x-position: 1
      requestBody:
        x-name: toSubscription
        description: The subscription as it should be after the change
        content:
          application/json:
            schema:
              nullable: true
              oneOf:
                - example:
                    Uid: string
                    _objectType: string
                    Created: string
                    Updated: string
                    ActivityEventData: {}
                    SchemaLessData: {}
                    StripeId: string
                    IsLivemode: false
                    ApplicationFeePercent: 0
                    CancelAt: string
                    CancelAtPeriodEnd: false
                    StripeSubscriptionCancellation:
                      Uid: string
                      _objectType: string
                      Created: string
                      Updated: string
                      ActivityEventData: {}
                      Comment: string
                      Feedback: string
                      Reason: string
                      Account: {}
                      CancelationReason: string
                      LastProduct: {}
                      SubmittedDateTime: string
                      SubscribingStartDate: string
                    Currency: string
                    EndedAt: string
                    PauseCollection_Behavior: string
                    PauseCollection_ResumesAt: string
                    StartDate: string
                    Status: string
                    TrialEnd: string
                    StripeDiscounts:
                      - Uid: string
                        _objectType: string
                        Created: string
                        Updated: string
                        ActivityEventData: {}
                        SchemaLessData: {}
                        StripeId: string
                        IsLivemode: false
                        Account: {}
                        CheckoutSessionId: string
                        End: string
                        InvoiceId: string
                        InvoiceItemId: string
                        IsDeleted: false
                        Start: string
                        StripeCoupon: {}
                        StripePromotionCode: {}
                        SubscriptionId: string
                        SubscriptionItemId: string
                        CouponId: string
                        CustomerId: string
                        StripeInvoice: {}
                        StripeSubscription: {}
                        PromotionCodeId: string
                    StripeSubscriptionItems:
                      - Uid: string
                        _objectType: string
                        Created: string
                        Updated: string
                        ActivityEventData: {}
                        SchemaLessData: {}
                        StripeId: string
                        IsLivemode: false
                        CurrentPeriodStart: string
                        CurrentPeriodEnd: string
                        StripeSubscription: {}
                        StripeDiscounts: []
                        StripePrice: {}
                        Quantity: 0
                        PriceId: string
                    StripeSubscriptionSchedules:
                      - Uid: string
                        _objectType: string
                        Created: string
                        Updated: string
                        ActivityEventData: {}
                        SchemaLessData: {}
                        StripeId: string
                        IsLivemode: false
                        CompletedAt: string
                        CurrentPhase_EndDate: string
                        CurrentPhase_StartDate: string
                        EndBehavior: string
                        StripeSubscriptionSchedulePhases: []
                        ReleasedAt: string
                        Status: string
                        StripeSubscription: {}
                        SubscriptionId: string
                        ReleasedSubscriptionId: string
                    Account:
                      Uid: string
                      _objectType: string
                      Created: string
                      Updated: string
                      ActivityEventData: {}
                      SchemaLessData: {}
                      StripeId: string
                      IsLivemode: false
                      Name: string
                      ClientIdentifier: string
                      Currency: string
                      InvoiceNotes: string
                      IsDemo: false
                      BillingAddress: {}
                      MailingAddress: {}
                      AccountStage: 2
                      PaymentInformation: {}
                      PersonAccount: []
                      StripeDefaultPaymentMethodId: string
                      StripeInvoices: []
                      StripePaymentMethods: []
                      StripeSubscriptions: []
                      Subscriptions: []
                      Deals: []
                      LastLoginDateTime: string
                      AccountSpecificPageUrl1: string
                      AccountSpecificPageUrl2: string
                      AccountSpecificPageUrl3: string
                      AccountSpecificPageUrl4: string
                      AccountSpecificPageUrl5: string
                      AccountSpecificPageUrl6: string
                      AccountSpecificPageUrl7: string
                      AccountSpecificPageUrl8: string
                      AccountSpecificPageUrl9: string
                      AccountSpecificPageUrl10: string
                      RewardFulReferralId: string
                      ToltReferralId: string
                      TaxIds: []
                      TaxStatus: string
                      AccountStageLabel: string
                      CurrentStripeProducts: string
                      CurrentStripeProductInstances: []
                      CurrentSubscription: {}
                      DomainName: string
                      TenantBillingSystem: 1
                      HasLoggedIn: false
                      LatestSubscription: {}
                      LifetimeRevenue: 0
                      NextStripeInvoiceDate: string
                      Nonce: string
                      PrimaryContact: {}
                      PrimarySubscription: {}
                      PrimaryStripeSubscription: {}
                      RecaptchaToken: string
                      StripeCheckoutMetadata: {}
                      StripeNextInvoiceSequence: 0
                      StripePrice: []
                      StripePriceIds: string
                      StripePromotionCode: string
                      TaxId: string
                      TaxIdIsInvalid: false
                      TaxIdType: string
                      WebflowSlug: string
                    AccountUid: string
                    BillingCycleAnchor: string
                    CollectionMethod: string
                    CustomerId: string
                    DaysUntilDue: 0
                    ScheduleId: string
                    StripeDiscountIds:
                      - string
                    StripePriceIds: string
                    TrialPeriodDays: 0
                    CurrentStripeSubscriptionSchedule:
                      Uid: string
                      _objectType: string
                      Created: string
                      Updated: string
                      ActivityEventData: {}
                      SchemaLessData: {}
                      StripeId: string
                      IsLivemode: false
                      CompletedAt: string
                      CurrentPhase_EndDate: string
                      CurrentPhase_StartDate: string
                      EndBehavior: string
                      StripeSubscriptionSchedulePhases: []
                      ReleasedAt: string
                      Status: string
                      StripeSubscription: {}
                      SubscriptionId: string
                      ReleasedSubscriptionId: string
                  title: StripeSubscription
                  type: object
                  properties:
                    Uid:
                      type: string
                      maxLength: 10
                      nullable: true
                    _objectType:
                      type: string
                      nullable: true
                    Created:
                      type: string
                      readOnly: true
                      format: date-time
                      minLength: 1
                    Updated:
                      type: string
                      readOnly: true
                      format: date-time
                      minLength: 1
                    ActivityEventData:
                      nullable: true
                    SchemaLessData:
                      type: object
                      nullable: true
                      additionalProperties: {}
                    StripeId:
                      type: string
                      maxLength: 255
                      nullable: true
                    IsLivemode:
                      type: boolean
                    ApplicationFeePercent:
                      type: number
                      format: decimal
                      nullable: true
                    CancelAt:
                      type: string
                      format: date-time
                      nullable: true
                    CancelAtPeriodEnd:
                      type: boolean
                    StripeSubscriptionCancellation:
                      nullable: true
                      oneOf:
                        - title: StripeSubscriptionCancellation
                          type: object
                          properties:
                            Uid:
                              type: string
                              maxLength: 10
                              nullable: true
                            _objectType:
                              type: string
                              nullable: true
                            Created:
                              type: string
                              readOnly: true
                              format: date-time
                              minLength: 1
                            Updated:
                              type: string
                              readOnly: true
                              format: date-time
                              minLength: 1
                            ActivityEventData:
                              nullable: true
                            Comment:
                              type: string
                              maxLength: 1024
                              nullable: true
                            Feedback:
                              type: string
                              maxLength: 30
                              nullable: true
                            Reason:
                              type: string
                              maxLength: 30
                              nullable: true
                            Account:
                              nullable: true
                              oneOf:
                                - type: object
                                  title: Account
                                  description: Related Account (not expanded here).
                            CancelationReason:
                              type: string
                              nullable: true
                            LastProduct:
                              nullable: true
                              oneOf:
                                - type: object
                                  title: StripeProduct
                                  description: Related StripeProduct (not expanded here).
                            SubmittedDateTime:
                              type: string
                              format: date-time
                            SubscribingStartDate:
                              type: string
                              format: date-time
                          required:
                            - Id
                            - Created
                            - CreatedByUser_Id
                            - Updated
                            - UpdatedByUser_Id
                            - Qcount_Id
                    Currency:
                      type: string
                      maxLength: 3
                      nullable: true
                    EndedAt:
                      type: string
                      format: date-time
                      nullable: true
                    PauseCollection_Behavior:
                      type: string
                      maxLength: 30
                      nullable: true
                    PauseCollection_ResumesAt:
                      type: string
                      format: date-time
                      nullable: true
                    StartDate:
                      type: string
                      format: date-time
                    Status:
                      type: string
                      maxLength: 30
                      nullable: true
                    TrialEnd:
                      type: string
                      format: date-time
                      nullable: true
                    StripeDiscounts:
                      type: array
                      nullable: true
                      items:
                        title: StripeDiscount
                        type: object
                        properties:
                          Uid:
                            type: string
                            maxLength: 10
                            nullable: true
                          _objectType:
                            type: string
                            nullable: true
                          Created:
                            type: string
                            readOnly: true
                            format: date-time
                            minLength: 1
                          Updated:
                            type: string
                            readOnly: true
                            format: date-time
                            minLength: 1
                          ActivityEventData:
                            nullable: true
                          SchemaLessData:
                            type: object
                            nullable: true
                            additionalProperties: {}
                          StripeId:
                            type: string
                            maxLength: 255
                            nullable: true
                          IsLivemode:
                            type: boolean
                          Account:
                            nullable: true
                            oneOf:
                              - type: object
                                title: Account
                                description: Related Account (not expanded here).
                          CheckoutSessionId:
                            type: string
                            maxLength: 255
                            nullable: true
                          End:
                            type: string
                            format: date-time
                            nullable: true
                          InvoiceId:
                            type: string
                            maxLength: 255
                            nullable: true
                          InvoiceItemId:
                            type: string
                            maxLength: 255
                            nullable: true
                          IsDeleted:
                            type: boolean
                          Start:
                            type: string
                            format: date-time
                          StripeCoupon:
                            nullable: true
                            oneOf:
                              - type: object
                                title: StripeCoupon
                                description: Related StripeCoupon (not expanded here).
                          StripePromotionCode:
                            nullable: true
                            oneOf:
                              - type: object
                                title: StripePromotionCode
                                description: >-
                                  Related StripePromotionCode (not expanded
                                  here).
                          SubscriptionId:
                            type: string
                            maxLength: 255
                            nullable: true
                          SubscriptionItemId:
                            type: string
                            maxLength: 255
                            nullable: true
                          CouponId:
                            type: string
                            nullable: true
                          CustomerId:
                            type: string
                            nullable: true
                          StripeInvoice:
                            nullable: true
                            oneOf:
                              - type: object
                                title: StripeInvoice
                                description: Related StripeInvoice (not expanded here).
                          StripeSubscription:
                            nullable: true
                            oneOf:
                              - type: object
                                title: StripeSubscription
                                description: >-
                                  Related StripeSubscription (not expanded
                                  here).
                          PromotionCodeId:
                            type: string
                            nullable: true
                        required:
                          - Id
                          - Created
                          - CreatedByUser_Id
                          - Updated
                          - UpdatedByUser_Id
                          - Qcount_Id
                    StripeSubscriptionItems:
                      type: array
                      nullable: true
                      items:
                        title: StripeSubscriptionItem
                        type: object
                        properties:
                          Uid:
                            type: string
                            maxLength: 10
                            nullable: true
                          _objectType:
                            type: string
                            nullable: true
                          Created:
                            type: string
                            readOnly: true
                            format: date-time
                            minLength: 1
                          Updated:
                            type: string
                            readOnly: true
                            format: date-time
                            minLength: 1
                          ActivityEventData:
                            nullable: true
                          SchemaLessData:
                            type: object
                            nullable: true
                            additionalProperties: {}
                          StripeId:
                            type: string
                            maxLength: 255
                            nullable: true
                          IsLivemode:
                            type: boolean
                          CurrentPeriodStart:
                            type: string
                            format: date-time
                          CurrentPeriodEnd:
                            type: string
                            format: date-time
                          StripeSubscription:
                            nullable: true
                            oneOf:
                              - type: object
                                title: StripeSubscription
                                description: >-
                                  Related StripeSubscription (not expanded
                                  here).
                          StripeDiscounts:
                            type: array
                            nullable: true
                            items:
                              type: object
                              title: StripeDiscount
                              description: Related StripeDiscount (not expanded here).
                          StripePrice:
                            nullable: true
                            oneOf:
                              - type: object
                                title: StripePrice
                                description: Related StripePrice (not expanded here).
                          Quantity:
                            type: integer
                            format: int64
                          PriceId:
                            type: string
                            nullable: true
                        required:
                          - Id
                          - Created
                          - CreatedByUser_Id
                          - Updated
                          - UpdatedByUser_Id
                          - Qcount_Id
                    StripeSubscriptionSchedules:
                      type: array
                      nullable: true
                      items:
                        title: StripeSubscriptionSchedule
                        type: object
                        properties:
                          Uid:
                            type: string
                            maxLength: 10
                            nullable: true
                          _objectType:
                            type: string
                            nullable: true
                          Created:
                            type: string
                            readOnly: true
                            format: date-time
                            minLength: 1
                          Updated:
                            type: string
                            readOnly: true
                            format: date-time
                            minLength: 1
                          ActivityEventData:
                            nullable: true
                          SchemaLessData:
                            type: object
                            nullable: true
                            additionalProperties: {}
                          StripeId:
                            type: string
                            maxLength: 255
                            nullable: true
                          IsLivemode:
                            type: boolean
                          CompletedAt:
                            type: string
                            format: date-time
                            nullable: true
                          CurrentPhase_EndDate:
                            type: string
                            format: date-time
                            nullable: true
                          CurrentPhase_StartDate:
                            type: string
                            format: date-time
                            nullable: true
                          EndBehavior:
                            type: string
                            nullable: true
                          StripeSubscriptionSchedulePhases:
                            type: array
                            nullable: true
                            items:
                              type: object
                              title: StripeSubscriptionSchedulePhase
                              description: >-
                                Related StripeSubscriptionSchedulePhase (not
                                expanded here).
                          ReleasedAt:
                            type: string
                            format: date-time
                            nullable: true
                          Status:
                            type: string
                            nullable: true
                          StripeSubscription:
                            nullable: true
                            oneOf:
                              - type: object
                                title: StripeSubscription
                                description: >-
                                  Related StripeSubscription (not expanded
                                  here).
                          SubscriptionId:
                            type: string
                            nullable: true
                          ReleasedSubscriptionId:
                            type: string
                            nullable: true
                        required:
                          - Id
                          - Created
                          - CreatedByUser_Id
                          - Updated
                          - UpdatedByUser_Id
                          - Qcount_Id
                    Account:
                      nullable: true
                      oneOf:
                        - title: Account
                          type: object
                          properties:
                            Uid:
                              type: string
                              maxLength: 10
                              nullable: true
                            _objectType:
                              type: string
                              nullable: true
                            Created:
                              type: string
                              readOnly: true
                              format: date-time
                              minLength: 1
                            Updated:
                              type: string
                              readOnly: true
                              format: date-time
                              minLength: 1
                            ActivityEventData:
                              nullable: true
                            SchemaLessData:
                              type: object
                              nullable: true
                              additionalProperties: {}
                            StripeId:
                              type: string
                              maxLength: 255
                              nullable: true
                            IsLivemode:
                              type: boolean
                            Name:
                              type: string
                              maxLength: 250
                              minLength: 1
                            ClientIdentifier:
                              type: string
                              maxLength: 250
                              nullable: true
                            Currency:
                              type: string
                              maxLength: 3
                              nullable: true
                            InvoiceNotes:
                              type: string
                              nullable: true
                            IsDemo:
                              type: boolean
                            BillingAddress:
                              nullable: true
                              oneOf:
                                - $ref: '#/components/schemas/Address'
                            MailingAddress:
                              nullable: true
                              oneOf:
                                - $ref: '#/components/schemas/Address'
                            AccountStage:
                              $ref: '#/components/schemas/AccountStage'
                            PaymentInformation:
                              nullable: true
                              oneOf:
                                - type: object
                                  title: PaymentInformation
                                  description: >-
                                    Related PaymentInformation (not expanded
                                    here).
                            PersonAccount:
                              type: array
                              nullable: true
                              items:
                                type: object
                                title: PersonAccount
                                description: Related PersonAccount (not expanded here).
                            StripeDefaultPaymentMethodId:
                              type: string
                              maxLength: 50
                              nullable: true
                            StripeInvoices:
                              type: array
                              nullable: true
                              items:
                                type: object
                                title: StripeInvoice
                                description: Related StripeInvoice (not expanded here).
                            StripePaymentMethods:
                              type: array
                              nullable: true
                              items:
                                type: object
                                title: StripePaymentMethod
                                description: >-
                                  Related StripePaymentMethod (not expanded
                                  here).
                            StripeSubscriptions:
                              type: array
                              nullable: true
                              items:
                                type: object
                                title: StripeSubscription
                                description: >-
                                  Related StripeSubscription (not expanded
                                  here).
                            Subscriptions:
                              type: array
                              nullable: true
                              items:
                                type: object
                                title: Subscription
                                description: Related Subscription (not expanded here).
                            Deals:
                              type: array
                              nullable: true
                              items:
                                type: object
                                title: Deal
                                description: Related Deal (not expanded here).
                            LastLoginDateTime:
                              type: string
                              format: date-time
                              nullable: true
                            AccountSpecificPageUrl1:
                              type: string
                              maxLength: 255
                              nullable: true
                            AccountSpecificPageUrl2:
                              type: string
                              maxLength: 255
                              nullable: true
                            AccountSpecificPageUrl3:
                              type: string
                              maxLength: 255
                              nullable: true
                            AccountSpecificPageUrl4:
                              type: string
                              maxLength: 255
                              nullable: true
                            AccountSpecificPageUrl5:
                              type: string
                              maxLength: 255
                              nullable: true
                            AccountSpecificPageUrl6:
                              type: string
                              maxLength: 255
                              nullable: true
                            AccountSpecificPageUrl7:
                              type: string
                              maxLength: 255
                              nullable: true
                            AccountSpecificPageUrl8:
                              type: string
                              maxLength: 255
                              nullable: true
                            AccountSpecificPageUrl9:
                              type: string
                              maxLength: 255
                              nullable: true
                            AccountSpecificPageUrl10:
                              type: string
                              maxLength: 255
                              nullable: true
                            RewardFulReferralId:
                              type: string
                              nullable: true
                            ToltReferralId:
                              type: string
                              maxLength: 36
                              nullable: true
                            TaxIds:
                              type: array
                              nullable: true
                              items:
                                type: object
                                title: AccountTaxId
                                description: Related AccountTaxId (not expanded here).
                            TaxStatus:
                              type: string
                              maxLength: 20
                              nullable: true
                            AccountStageLabel:
                              type: string
                              nullable: true
                            CurrentStripeProducts:
                              type: string
                              nullable: true
                            CurrentStripeProductInstances:
                              type: array
                              nullable: true
                              items:
                                type: object
                                title: StripeProduct
                                description: Related StripeProduct (not expanded here).
                            CurrentSubscription:
                              nullable: true
                              oneOf:
                                - type: object
                                  title: Subscription
                                  description: Related Subscription (not expanded here).
                            DomainName:
                              type: string
                              nullable: true
                            TenantBillingSystem:
                              nullable: true
                              oneOf:
                                - $ref: '#/components/schemas/BillingSystem'
                            HasLoggedIn:
                              type: boolean
                            LatestSubscription:
                              nullable: true
                              oneOf:
                                - type: object
                                  title: Subscription
                                  description: Related Subscription (not expanded here).
                            LifetimeRevenue:
                              type: number
                              format: decimal
                            NextStripeInvoiceDate:
                              type: string
                              format: date-time
                              nullable: true
                            Nonce:
                              type: string
                              nullable: true
                            PrimaryContact:
                              nullable: true
                              oneOf:
                                - type: object
                                  title: Person
                                  description: Related Person (not expanded here).
                            PrimarySubscription:
                              nullable: true
                              oneOf:
                                - type: object
                                  title: Subscription
                                  description: Related Subscription (not expanded here).
                            PrimaryStripeSubscription:
                              nullable: true
                              oneOf:
                                - type: object
                                  title: StripeSubscription
                                  description: >-
                                    Related StripeSubscription (not expanded
                                    here).
                            RecaptchaToken:
                              type: string
                              nullable: true
                            StripeCheckoutMetadata:
                              type: object
                              nullable: true
                              additionalProperties:
                                type: string
                            StripeNextInvoiceSequence:
                              type: integer
                              format: int64
                              nullable: true
                            StripePrice:
                              type: array
                              nullable: true
                              items:
                                type: string
                            StripePriceIds:
                              type: string
                              nullable: true
                            StripePromotionCode:
                              type: string
                              nullable: true
                            TaxId:
                              type: string
                              nullable: true
                            TaxIdIsInvalid:
                              type: boolean
                            TaxIdType:
                              type: string
                              nullable: true
                            WebflowSlug:
                              type: string
                              nullable: true
                          required:
                            - Id
                            - Created
                            - CreatedByUser_Id
                            - Updated
                            - UpdatedByUser_Id
                            - Qcount_Id
                            - Name
                    AccountUid:
                      type: string
                      nullable: true
                    BillingCycleAnchor:
                      type: string
                      format: date-time
                      nullable: true
                    CollectionMethod:
                      type: string
                      nullable: true
                    CustomerId:
                      type: string
                      nullable: true
                    DaysUntilDue:
                      type: integer
                      format: int64
                      nullable: true
                    ScheduleId:
                      type: string
                      nullable: true
                    StripeDiscountIds:
                      type: array
                      nullable: true
                      items:
                        type: string
                    StripePriceIds:
                      type: string
                      nullable: true
                    TrialPeriodDays:
                      type: integer
                      format: int32
                    CurrentStripeSubscriptionSchedule:
                      nullable: true
                      oneOf:
                        - title: StripeSubscriptionSchedule
                          type: object
                          properties:
                            Uid:
                              type: string
                              maxLength: 10
                              nullable: true
                            _objectType:
                              type: string
                              nullable: true
                            Created:
                              type: string
                              readOnly: true
                              format: date-time
                              minLength: 1
                            Updated:
                              type: string
                              readOnly: true
                              format: date-time
                              minLength: 1
                            ActivityEventData:
                              nullable: true
                            SchemaLessData:
                              type: object
                              nullable: true
                              additionalProperties: {}
                            StripeId:
                              type: string
                              maxLength: 255
                              nullable: true
                            IsLivemode:
                              type: boolean
                            CompletedAt:
                              type: string
                              format: date-time
                              nullable: true
                            CurrentPhase_EndDate:
                              type: string
                              format: date-time
                              nullable: true
                            CurrentPhase_StartDate:
                              type: string
                              format: date-time
                              nullable: true
                            EndBehavior:
                              type: string
                              nullable: true
                            StripeSubscriptionSchedulePhases:
                              type: array
                              nullable: true
                              items:
                                type: object
                                title: StripeSubscriptionSchedulePhase
                                description: >-
                                  Related StripeSubscriptionSchedulePhase (not
                                  expanded here).
                            ReleasedAt:
                              type: string
                              format: date-time
                              nullable: true
                            Status:
                              type: string
                              nullable: true
                            StripeSubscription:
                              nullable: true
                              oneOf:
                                - type: object
                                  title: StripeSubscription
                                  description: >-
                                    Related StripeSubscription (not expanded
                                    here).
                            SubscriptionId:
                              type: string
                              nullable: true
                            ReleasedSubscriptionId:
                              type: string
                              nullable: true
                          required:
                            - Id
                            - Created
                            - CreatedByUser_Id
                            - Updated
                            - UpdatedByUser_Id
                            - Qcount_Id
                  required:
                    - Id
                    - Created
                    - CreatedByUser_Id
                    - Updated
                    - UpdatedByUser_Id
                    - Qcount_Id
        x-position: 2
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                example:
                  Uid: string
                  _objectType: string
                  Created: string
                  Updated: string
                  ActivityEventData: {}
                  SchemaLessData: {}
                  StripeId: string
                  IsLivemode: false
                  AmountDue: 0
                  AmountPaid: 0
                  AmountShipping: 0
                  AttemptCount: 0
                  Attempted: false
                  Currency: string
                  Description: string
                  FinalizedAt: string
                  HostedInvoiceUrl: string
                  InvoicePdf: string
                  NextPaymentAttempt: string
                  Number: string
                  PeriodEnd: string
                  PeriodStart: string
                  Status: string
                  StripeDiscounts:
                    - Uid: string
                      _objectType: string
                      Created: string
                      Updated: string
                      ActivityEventData: {}
                      SchemaLessData: {}
                      StripeId: string
                      IsLivemode: false
                      Account: {}
                      CheckoutSessionId: string
                      End: string
                      InvoiceId: string
                      InvoiceItemId: string
                      IsDeleted: false
                      Start: string
                      StripeCoupon: {}
                      StripePromotionCode: {}
                      SubscriptionId: string
                      SubscriptionItemId: string
                      CouponId: string
                      CustomerId: string
                      StripeInvoice: {}
                      StripeSubscription: {}
                      PromotionCodeId: string
                  StripeInvoiceDiscountAmounts:
                    - Uid: string
                      _objectType: string
                      Created: string
                      Updated: string
                      ActivityEventData: {}
                      Amount: 0
                      DiscountId: string
                      StripeInvoice: {}
                      CurrencyAmount: 0
                      StripeDiscount: {}
                  StripeInvoiceLineItems:
                    - Uid: string
                      _objectType: string
                      Created: string
                      Updated: string
                      ActivityEventData: {}
                      SchemaLessData: {}
                      StripeId: string
                      IsLivemode: false
                      StripeInvoice: {}
                      Amount: 0
                      Currency: string
                      PeriodStart: string
                      PeriodEnd: string
                      Quantity: 0
                      StripeDiscounts: []
                      StripePrice: {}
                      EndDate: string
                      CurrencyAmount: 0
                      PriceId: string
                      Proration: false
                  StripeInvoicePayments:
                    - Uid: string
                      _objectType: string
                      Created: string
                      Updated: string
                      ActivityEventData: {}
                      SchemaLessData: {}
                      StripeId: string
                      IsLivemode: false
                      AmountPaid: 0
                      AmountRequested: 0
                      Currency: string
                      Payment_ChargeId: string
                      Payment_PaymentIntentId: string
                      Payment_Type: string
                      StripeInvoice: {}
                      Status: string
                      InvoiceId: string
                      StripeCharges: []
                  SubTotal: 0
                  SubTotalExcludingTax: 0
                  SubscriptionId: string
                  Tax: 0
                  Total: 0
                  TotalExcludingTax: 0
                  Account:
                    Uid: string
                    _objectType: string
                    Created: string
                    Updated: string
                    ActivityEventData: {}
                    SchemaLessData: {}
                    StripeId: string
                    IsLivemode: false
                    Name: string
                    ClientIdentifier: string
                    Currency: string
                    InvoiceNotes: string
                    IsDemo: false
                    BillingAddress: {}
                    MailingAddress: {}
                    AccountStage: 2
                    PaymentInformation: {}
                    PersonAccount: []
                    StripeDefaultPaymentMethodId: string
                    StripeInvoices: []
                    StripePaymentMethods: []
                    StripeSubscriptions: []
                    Subscriptions: []
                    Deals: []
                    LastLoginDateTime: string
                    AccountSpecificPageUrl1: string
                    AccountSpecificPageUrl2: string
                    AccountSpecificPageUrl3: string
                    AccountSpecificPageUrl4: string
                    AccountSpecificPageUrl5: string
                    AccountSpecificPageUrl6: string
                    AccountSpecificPageUrl7: string
                    AccountSpecificPageUrl8: string
                    AccountSpecificPageUrl9: string
                    AccountSpecificPageUrl10: string
                    RewardFulReferralId: string
                    ToltReferralId: string
                    TaxIds: []
                    TaxStatus: string
                    AccountStageLabel: string
                    CurrentStripeProducts: string
                    CurrentStripeProductInstances: []
                    CurrentSubscription: {}
                    DomainName: string
                    TenantBillingSystem: 1
                    HasLoggedIn: false
                    LatestSubscription: {}
                    LifetimeRevenue: 0
                    NextStripeInvoiceDate: string
                    Nonce: string
                    PrimaryContact: {}
                    PrimarySubscription: {}
                    PrimaryStripeSubscription: {}
                    RecaptchaToken: string
                    StripeCheckoutMetadata: {}
                    StripeNextInvoiceSequence: 0
                    StripePrice: []
                    StripePriceIds: string
                    StripePromotionCode: string
                    TaxId: string
                    TaxIdIsInvalid: false
                    TaxIdType: string
                    WebflowSlug: string
                  IsImported: false
                  IsRefunded: false
                  CurrencyAmountCreditedPostPayment: 0
                  CurrencyAmountCreditedPrePayment: 0
                  CurrencyAmountDue: 0
                  CurrencyAmountPaid: 0
                  CurrencySymbol: string
                  CurrencyTotal: 0
                  CurrencyTotalExcludingTax: 0
                  CurrencySubTotal: 0
                  CurrencySubTotalExcludingTax: 0
                  CurrencyTax: 0
                  DaysUntilDue: 0
                  CustomerId: string
                  PaymentStatus: string
                  StripeCreditNotes:
                    - Uid: string
                      _objectType: string
                      Created: string
                      Updated: string
                      ActivityEventData: {}
                      SchemaLessData: {}
                      StripeId: string
                      IsLivemode: false
                      Currency: string
                      CustomerId: string
                      InvoiceId: string
                      OutOfBandAmount: 0
                      PostPaymentAmount: 0
                      PrePaymentAmount: 0
                      Reason: string
                      Status: string
                      Total: 0
                      Type: string
                      CurrencySymbol: string
                      CurrencyTotal: 0
                  StripePaymentMethodId: string
                title: StripeInvoice
                type: object
                properties:
                  Uid:
                    type: string
                    maxLength: 10
                    nullable: true
                  _objectType:
                    type: string
                    nullable: true
                  Created:
                    type: string
                    readOnly: true
                    format: date-time
                    minLength: 1
                  Updated:
                    type: string
                    readOnly: true
                    format: date-time
                    minLength: 1
                  ActivityEventData:
                    nullable: true
                  SchemaLessData:
                    type: object
                    nullable: true
                    additionalProperties: {}
                  StripeId:
                    type: string
                    maxLength: 255
                    nullable: true
                  IsLivemode:
                    type: boolean
                  AmountDue:
                    type: integer
                    format: int64
                  AmountPaid:
                    type: integer
                    format: int64
                  AmountShipping:
                    type: integer
                    format: int64
                  AttemptCount:
                    type: integer
                    format: int64
                  Attempted:
                    type: boolean
                  Currency:
                    type: string
                    maxLength: 3
                    nullable: true
                  Description:
                    type: string
                    nullable: true
                  FinalizedAt:
                    type: string
                    format: date-time
                    nullable: true
                  HostedInvoiceUrl:
                    type: string
                    maxLength: 500
                    nullable: true
                  InvoicePdf:
                    type: string
                    maxLength: 500
                    nullable: true
                  NextPaymentAttempt:
                    type: string
                    format: date-time
                    nullable: true
                  Number:
                    type: string
                    maxLength: 50
                    nullable: true
                  PeriodEnd:
                    type: string
                    format: date-time
                  PeriodStart:
                    type: string
                    format: date-time
                  Status:
                    type: string
                    maxLength: 30
                    nullable: true
                  StripeDiscounts:
                    type: array
                    nullable: true
                    items:
                      title: StripeDiscount
                      type: object
                      properties:
                        Uid:
                          type: string
                          maxLength: 10
                          nullable: true
                        _objectType:
                          type: string
                          nullable: true
                        Created:
                          type: string
                          readOnly: true
                          format: date-time
                          minLength: 1
                        Updated:
                          type: string
                          readOnly: true
                          format: date-time
                          minLength: 1
                        ActivityEventData:
                          nullable: true
                        SchemaLessData:
                          type: object
                          nullable: true
                          additionalProperties: {}
                        StripeId:
                          type: string
                          maxLength: 255
                          nullable: true
                        IsLivemode:
                          type: boolean
                        Account:
                          nullable: true
                          oneOf:
                            - type: object
                              title: Account
                              description: >-
                                Related Account. Not included by default;
                                request its fields with the fields parameter,
                                e.g. fields=*,StripeDiscounts.Account.*
                        CheckoutSessionId:
                          type: string
                          maxLength: 255
                          nullable: true
                        End:
                          type: string
                          format: date-time
                          nullable: true
                        InvoiceId:
                          type: string
                          maxLength: 255
                          nullable: true
                        InvoiceItemId:
                          type: string
                          maxLength: 255
                          nullable: true
                        IsDeleted:
                          type: boolean
                        Start:
                          type: string
                          format: date-time
                        StripeCoupon:
                          nullable: true
                          oneOf:
                            - type: object
                              title: StripeCoupon
                              description: >-
                                Related StripeCoupon. Not included by default;
                                request its fields with the fields parameter,
                                e.g. fields=*,StripeDiscounts.StripeCoupon.*
                        StripePromotionCode:
                          nullable: true
                          oneOf:
                            - type: object
                              title: StripePromotionCode
                              description: >-
                                Related StripePromotionCode. Not included by
                                default; request its fields with the fields
                                parameter, e.g.
                                fields=*,StripeDiscounts.StripePromotionCode.*
                        SubscriptionId:
                          type: string
                          maxLength: 255
                          nullable: true
                        SubscriptionItemId:
                          type: string
                          maxLength: 255
                          nullable: true
                        CouponId:
                          type: string
                          nullable: true
                        CustomerId:
                          type: string
                          nullable: true
                        StripeInvoice:
                          nullable: true
                          oneOf:
                            - type: object
                              title: StripeInvoice
                              description: >-
                                Related StripeInvoice. Not included by default;
                                request its fields with the fields parameter,
                                e.g. fields=*,StripeDiscounts.StripeInvoice.*
                        StripeSubscription:
                          nullable: true
                          oneOf:
                            - type: object
                              title: StripeSubscription
                              description: >-
                                Related StripeSubscription. Not included by
                                default; request its fields with the fields
                                parameter, e.g.
                                fields=*,StripeDiscounts.StripeSubscription.*
                        PromotionCodeId:
                          type: string
                          nullable: true
                      required:
                        - Id
                        - Created
                        - CreatedByUser_Id
                        - Updated
                        - UpdatedByUser_Id
                        - Qcount_Id
                  StripeInvoiceDiscountAmounts:
                    type: array
                    nullable: true
                    items:
                      title: StripeInvoiceDiscountAmount
                      type: object
                      properties:
                        Uid:
                          type: string
                          maxLength: 10
                          nullable: true
                        _objectType:
                          type: string
                          nullable: true
                        Created:
                          type: string
                          readOnly: true
                          format: date-time
                          minLength: 1
                        Updated:
                          type: string
                          readOnly: true
                          format: date-time
                          minLength: 1
                        ActivityEventData:
                          nullable: true
                        Amount:
                          type: integer
                          format: int64
                        DiscountId:
                          type: string
                          maxLength: 36
                          nullable: true
                        StripeInvoice:
                          nullable: true
                          oneOf:
                            - type: object
                              title: StripeInvoice
                              description: >-
                                Related StripeInvoice. Not included by default;
                                request its fields with the fields parameter,
                                e.g.
                                fields=*,StripeInvoiceDiscountAmounts.StripeInvoice.*
                        CurrencyAmount:
                          type: number
                          format: decimal
                        StripeDiscount:
                          nullable: true
                          oneOf:
                            - type: object
                              title: StripeDiscount
                              description: >-
                                Related StripeDiscount. Not included by default;
                                request its fields with the fields parameter,
                                e.g.
                                fields=*,StripeInvoiceDiscountAmounts.StripeDiscount.*
                      required:
                        - Id
                        - Created
                        - CreatedByUser_Id
                        - Updated
                        - UpdatedByUser_Id
                        - Qcount_Id
                  StripeInvoiceLineItems:
                    type: array
                    nullable: true
                    items:
                      title: StripeInvoiceLineItem
                      type: object
                      properties:
                        Uid:
                          type: string
                          maxLength: 10
                          nullable: true
                        _objectType:
                          type: string
                          nullable: true
                        Created:
                          type: string
                          readOnly: true
                          format: date-time
                          minLength: 1
                        Updated:
                          type: string
                          readOnly: true
                          format: date-time
                          minLength: 1
                        ActivityEventData:
                          nullable: true
                        SchemaLessData:
                          type: object
                          nullable: true
                          additionalProperties: {}
                        StripeId:
                          type: string
                          maxLength: 255
                          nullable: true
                        IsLivemode:
                          type: boolean
                        StripeInvoice:
                          nullable: true
                          oneOf:
                            - type: object
                              title: StripeInvoice
                              description: >-
                                Related StripeInvoice. Not included by default;
                                request its fields with the fields parameter,
                                e.g.
                                fields=*,StripeInvoiceLineItems.StripeInvoice.*
                        Amount:
                          type: integer
                          format: int64
                        Currency:
                          type: string
                          maxLength: 3
                          nullable: true
                        PeriodStart:
                          type: string
                          format: date-time
                        PeriodEnd:
                          type: string
                          format: date-time
                        Quantity:
                          type: integer
                          format: int64
                          nullable: true
                        StripeDiscounts:
                          type: array
                          nullable: true
                          items:
                            type: object
                            title: StripeDiscount
                            description: >-
                              Related StripeDiscount. Not included by default;
                              request its fields with the fields parameter, e.g.
                              fields=*,StripeInvoiceLineItems.StripeDiscounts.*
                        StripePrice:
                          nullable: true
                          oneOf:
                            - type: object
                              title: StripePrice
                              description: >-
                                Related StripePrice. Not included by default;
                                request its fields with the fields parameter,
                                e.g.
                                fields=*,StripeInvoiceLineItems.StripePrice.*
                        EndDate:
                          type: string
                          format: date-time
                          nullable: true
                        CurrencyAmount:
                          type: number
                          format: decimal
                          nullable: true
                        PriceId:
                          type: string
                          nullable: true
                        Proration:
                          type: boolean
                      required:
                        - Id
                        - Created
                        - CreatedByUser_Id
                        - Updated
                        - UpdatedByUser_Id
                        - Qcount_Id
                  StripeInvoicePayments:
                    type: array
                    nullable: true
                    items:
                      title: StripeInvoicePayment
                      type: object
                      properties:
                        Uid:
                          type: string
                          maxLength: 10
                          nullable: true
                        _objectType:
                          type: string
                          nullable: true
                        Created:
                          type: string
                          readOnly: true
                          format: date-time
                          minLength: 1
                        Updated:
                          type: string
                          readOnly: true
                          format: date-time
                          minLength: 1
                        ActivityEventData:
                          nullable: true
                        SchemaLessData:
                          type: object
                          nullable: true
                          additionalProperties: {}
                        StripeId:
                          type: string
                          maxLength: 255
                          nullable: true
                        IsLivemode:
                          type: boolean
                        AmountPaid:
                          type: integer
                          format: int64
                          nullable: true
                        AmountRequested:
                          type: integer
                          format: int64
                        Currency:
                          type: string
                          maxLength: 3
                          nullable: true
                        Payment_ChargeId:
                          type: string
                          maxLength: 50
                          nullable: true
                        Payment_PaymentIntentId:
                          type: string
                          maxLength: 50
                          nullable: true
                        Payment_Type:
                          type: string
                          maxLength: 20
                          nullable: true
                        StripeInvoice:
                          nullable: true
                          oneOf:
                            - type: object
                              title: StripeInvoice
                              description: >-
                                Related StripeInvoice. Not included by default;
                                request its fields with the fields parameter,
                                e.g.
                                fields=*,StripeInvoicePayments.StripeInvoice.*
                        Status:
                          type: string
                          nullable: true
                        InvoiceId:
                          type: string
                          nullable: true
                        StripeCharges:
                          type: array
                          nullable: true
                          items:
                            type: object
                            title: StripeCharge
                            description: >-
                              Related StripeCharge. Not included by default;
                              request its fields with the fields parameter, e.g.
                              fields=*,StripeInvoicePayments.StripeCharges.*
                      required:
                        - Id
                        - Created
                        - CreatedByUser_Id
                        - Updated
                        - UpdatedByUser_Id
                        - Qcount_Id
                  SubTotal:
                    type: integer
                    format: int64
                  SubTotalExcludingTax:
                    type: integer
                    format: int64
                    nullable: true
                  SubscriptionId:
                    type: string
                    maxLength: 255
                    nullable: true
                  Tax:
                    type: integer
                    format: int64
                    nullable: true
                  Total:
                    type: integer
                    format: int64
                  TotalExcludingTax:
                    type: integer
                    format: int64
                    nullable: true
                  Account:
                    nullable: true
                    oneOf:
                      - title: Account
                        type: object
                        properties:
                          Uid:
                            type: string
                            maxLength: 10
                            nullable: true
                          _objectType:
                            type: string
                            nullable: true
                          Created:
                            type: string
                            readOnly: true
                            format: date-time
                            minLength: 1
                          Updated:
                            type: string
                            readOnly: true
                            format: date-time
                            minLength: 1
                          ActivityEventData:
                            nullable: true
                          SchemaLessData:
                            type: object
                            nullable: true
                            additionalProperties: {}
                          StripeId:
                            type: string
                            maxLength: 255
                            nullable: true
                          IsLivemode:
                            type: boolean
                          Name:
                            type: string
                            maxLength: 250
                            minLength: 1
                          ClientIdentifier:
                            type: string
                            maxLength: 250
                            nullable: true
                          Currency:
                            type: string
                            maxLength: 3
                            nullable: true
                          InvoiceNotes:
                            type: string
                            nullable: true
                          IsDemo:
                            type: boolean
                          BillingAddress:
                            nullable: true
                            oneOf:
                              - $ref: '#/components/schemas/Address'
                          MailingAddress:
                            nullable: true
                            oneOf:
                              - $ref: '#/components/schemas/Address'
                          AccountStage:
                            $ref: '#/components/schemas/AccountStage'
                          PaymentInformation:
                            nullable: true
                            oneOf:
                              - type: object
                                title: PaymentInformation
                                description: >-
                                  Related PaymentInformation. Not included by
                                  default; request its fields with the fields
                                  parameter, e.g.
                                  fields=*,Account.PaymentInformation.*
                          PersonAccount:
                            type: array
                            nullable: true
                            items:
                              type: object
                              title: PersonAccount
                              description: >-
                                Related PersonAccount. Not included by default;
                                request its fields with the fields parameter,
                                e.g. fields=*,Account.PersonAccount.*
                          StripeDefaultPaymentMethodId:
                            type: string
                            maxLength: 50
                            nullable: true
                          StripeInvoices:
                            type: array
                            nullable: true
                            items:
                              type: object
                              title: StripeInvoice
                              description: >-
                                Related StripeInvoice. Not included by default;
                                request its fields with the fields parameter,
                                e.g. fields=*,Account.StripeInvoices.*
                          StripePaymentMethods:
                            type: array
                            nullable: true
                            items:
                              type: object
                              title: StripePaymentMethod
                              description: >-
                                Related StripePaymentMethod. Not included by
                                default; request its fields with the fields
                                parameter, e.g.
                                fields=*,Account.StripePaymentMethods.*
                          StripeSubscriptions:
                            type: array
                            nullable: true
                            items:
                              type: object
                              title: StripeSubscription
                              description: >-
                                Related StripeSubscription. Not included by
                                default; request its fields with the fields
                                parameter, e.g.
                                fields=*,Account.StripeSubscriptions.*
                          Subscriptions:
                            type: array
                            nullable: true
                            items:
                              type: object
                              title: Subscription
                              description: >-
                                Related Subscription. Not included by default;
                                request its fields with the fields parameter,
                                e.g. fields=*,Account.Subscriptions.*
                          Deals:
                            type: array
                            nullable: true
                            items:
                              type: object
                              title: Deal
                              description: >-
                                Related Deal. Not included by default; request
                                its fields with the fields parameter, e.g.
                                fields=*,Account.Deals.*
                          LastLoginDateTime:
                            type: string
                            format: date-time
                            nullable: true
                          AccountSpecificPageUrl1:
                            type: string
                            maxLength: 255
                            nullable: true
                          AccountSpecificPageUrl2:
                            type: string
                            maxLength: 255
                            nullable: true
                          AccountSpecificPageUrl3:
                            type: string
                            maxLength: 255
                            nullable: true
                          AccountSpecificPageUrl4:
                            type: string
                            maxLength: 255
                            nullable: true
                          AccountSpecificPageUrl5:
                            type: string
                            maxLength: 255
                            nullable: true
                          AccountSpecificPageUrl6:
                            type: string
                            maxLength: 255
                            nullable: true
                          AccountSpecificPageUrl7:
                            type: string
                            maxLength: 255
                            nullable: true
                          AccountSpecificPageUrl8:
                            type: string
                            maxLength: 255
                            nullable: true
                          AccountSpecificPageUrl9:
                            type: string
                            maxLength: 255
                            nullable: true
                          AccountSpecificPageUrl10:
                            type: string
                            maxLength: 255
                            nullable: true
                          RewardFulReferralId:
                            type: string
                            nullable: true
                          ToltReferralId:
                            type: string
                            maxLength: 36
                            nullable: true
                          TaxIds:
                            type: array
                            nullable: true
                            items:
                              type: object
                              title: AccountTaxId
                              description: >-
                                Related AccountTaxId. Not included by default;
                                request its fields with the fields parameter,
                                e.g. fields=*,Account.TaxIds.*
                          TaxStatus:
                            type: string
                            maxLength: 20
                            nullable: true
                          AccountStageLabel:
                            type: string
                            nullable: true
                          CurrentStripeProducts:
                            type: string
                            nullable: true
                          CurrentStripeProductInstances:
                            type: array
                            nullable: true
                            items:
                              type: object
                              title: StripeProduct
                              description: >-
                                Related StripeProduct. Not included by default;
                                request its fields with the fields parameter,
                                e.g.
                                fields=*,Account.CurrentStripeProductInstances.*
                          CurrentSubscription:
                            nullable: true
                            oneOf:
                              - type: object
                                title: Subscription
                                description: >-
                                  Related Subscription. Not included by default;
                                  request its fields with the fields parameter,
                                  e.g. fields=*,Account.CurrentSubscription.*
                          DomainName:
                            type: string
                            nullable: true
                          TenantBillingSystem:
                            nullable: true
                            oneOf:
                              - $ref: '#/components/schemas/BillingSystem'
                          HasLoggedIn:
                            type: boolean
                          LatestSubscription:
                            nullable: true
                            oneOf:
                              - type: object
                                title: Subscription
                                description: >-
                                  Related Subscription. Not included by default;
                                  request its fields with the fields parameter,
                                  e.g. fields=*,Account.LatestSubscription.*
                          LifetimeRevenue:
                            type: number
                            format: decimal
                          NextStripeInvoiceDate:
                            type: string
                            format: date-time
                            nullable: true
                          Nonce:
                            type: string
                            nullable: true
                          PrimaryContact:
                            nullable: true
                            oneOf:
                              - type: object
                                title: Person
                                description: >-
                                  Related Person. Not included by default;
                                  request its fields with the fields parameter,
                                  e.g. fields=*,Account.PrimaryContact.*
                          PrimarySubscription:
                            nullable: true
                            oneOf:
                              - type: object
                                title: Subscription
                                description: >-
                                  Related Subscription. Not included by default;
                                  request its fields with the fields parameter,
                                  e.g. fields=*,Account.PrimarySubscription.*
                          PrimaryStripeSubscription:
                            nullable: true
                            oneOf:
                              - type: object
                                title: StripeSubscription
                                description: >-
                                  Related StripeSubscription. Not included by
                                  default; request its fields with the fields
                                  parameter, e.g.
                                  fields=*,Account.PrimaryStripeSubscription.*
                          RecaptchaToken:
                            type: string
                            nullable: true
                          StripeCheckoutMetadata:
                            type: object
                            nullable: true
                            additionalProperties:
                              type: string
                          StripeNextInvoiceSequence:
                            type: integer
                            format: int64
                            nullable: true
                          StripePrice:
                            type: array
                            nullable: true
                            items:
                              type: string
                          StripePriceIds:
                            type: string
                            nullable: true
                          StripePromotionCode:
                            type: string
                            nullable: true
                          TaxId:
                            type: string
                            nullable: true
                          TaxIdIsInvalid:
                            type: boolean
                          TaxIdType:
                            type: string
                            nullable: true
                          WebflowSlug:
                            type: string
                            nullable: true
                        required:
                          - Id
                          - Created
                          - CreatedByUser_Id
                          - Updated
                          - UpdatedByUser_Id
                          - Qcount_Id
                          - Name
                  IsImported:
                    type: boolean
                  IsRefunded:
                    type: boolean
                  CurrencyAmountCreditedPostPayment:
                    type: number
                    format: decimal
                  CurrencyAmountCreditedPrePayment:
                    type: number
                    format: decimal
                  CurrencyAmountDue:
                    type: number
                    format: decimal
                  CurrencyAmountPaid:
                    type: number
                    format: decimal
                  CurrencySymbol:
                    type: string
                    nullable: true
                  CurrencyTotal:
                    type: number
                    format: decimal
                  CurrencyTotalExcludingTax:
                    type: number
                    format: decimal
                  CurrencySubTotal:
                    type: number
                    format: decimal
                  CurrencySubTotalExcludingTax:
                    type: number
                    format: decimal
                  CurrencyTax:
                    type: number
                    format: decimal
                  DaysUntilDue:
                    type: integer
                    format: int64
                    nullable: true
                  CustomerId:
                    type: string
                    nullable: true
                  PaymentStatus:
                    type: string
                    nullable: true
                  StripeCreditNotes:
                    type: array
                    nullable: true
                    items:
                      $ref: '#/components/schemas/StripeCreditNote'
                  StripePaymentMethodId:
                    type: string
                    nullable: true
                required:
                  - Id
                  - Created
                  - CreatedByUser_Id
                  - Updated
                  - UpdatedByUser_Id
                  - Qcount_Id
        '400':
          description: Invalid Uid format
        '401':
          description: Unauthorized
        '404':
          description: StripeInvoice not found
      security:
        - Bearer: []
        - ApiKey: []
components:
  schemas:
    Address:
      allOf:
        - $ref: '#/components/schemas/AbstractQcountBean'
        - type: object
          additionalProperties: false
          properties:
            AddressLine1:
              type: string
              maxLength: 250
              nullable: true
            AddressLine2:
              type: string
              maxLength: 250
              nullable: true
            AddressLine3:
              type: string
              maxLength: 250
              nullable: true
            City:
              type: string
              maxLength: 250
              nullable: true
            State:
              type: string
              maxLength: 250
              nullable: true
            PostalCode:
              type: string
              maxLength: 250
              nullable: true
            Country:
              type: string
              maxLength: 250
              nullable: true
            GeoLocation:
              type: string
              maxLength: 250
              nullable: true
    AccountStage:
      type: integer
      description: >-
        `2` - Trialing, `3` - Subscribing, `4` - Cancelling, `5` - Expired, `6`
        - Trial Expired, `7` - Past Due, `8` - Cancelling Trial, `9` - Paused,
        `10` - Created
      x-enumNames:
        - Trialing
        - Subscribing
        - Cancelling
        - Expired
        - TrialExpired
        - PastDue
        - CancellingTrial
        - Paused
        - Created
      x-enum-descriptions:
        - ''
        - ''
        - ''
        - ''
        - Trial Expired
        - Past Due
        - Cancelling Trial
        - ''
        - ''
      enum:
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
        - 9
        - 10
    BillingSystem:
      type: integer
      description: '`1` - Outseta, `2` - Stripe'
      x-enumNames:
        - Outseta
        - Stripe
      x-enum-descriptions:
        - ''
        - ''
      enum:
        - 1
        - 2
    StripeCreditNote:
      allOf:
        - $ref: '#/components/schemas/AbstractStripeBeanOfCreditNote'
        - type: object
          additionalProperties:
            nullable: true
          properties:
            Currency:
              type: string
              maxLength: 3
              nullable: true
            CustomerId:
              type: string
              maxLength: 50
              nullable: true
            InvoiceId:
              type: string
              maxLength: 50
              nullable: true
            OutOfBandAmount:
              type: integer
              format: int64
              nullable: true
            PostPaymentAmount:
              type: integer
              format: int64
            PrePaymentAmount:
              type: integer
              format: int64
            Reason:
              type: string
              maxLength: 30
              nullable: true
            Status:
              type: string
              maxLength: 30
              nullable: true
            Total:
              type: integer
              format: int64
            Type:
              type: string
              maxLength: 30
              nullable: true
            CurrencySymbol:
              type: string
              nullable: true
            CurrencyTotal:
              type: number
              format: decimal
    AbstractQcountBean:
      allOf:
        - $ref: '#/components/schemas/AbstractBean'
        - type: object
          additionalProperties: false
          required:
            - Qcount_Id
          properties:
            ActivityEventData:
              nullable: true
    AbstractStripeBeanOfCreditNote:
      allOf:
        - $ref: '#/components/schemas/AbstractSchemaLessBean'
        - type: object
          additionalProperties:
            nullable: true
          properties:
            StripeId:
              type: string
              maxLength: 255
              nullable: true
            IsLivemode:
              type: boolean
    AbstractBean:
      type: object
      x-abstract: true
      additionalProperties: false
      required:
        - Id
        - Created
        - CreatedByUser_Id
        - Updated
        - UpdatedByUser_Id
      properties:
        Uid:
          type: string
          maxLength: 10
          nullable: true
        _objectType:
          type: string
          nullable: true
        Created:
          type: string
          readOnly: true
          format: date-time
          minLength: 1
        Updated:
          type: string
          readOnly: true
          format: date-time
          minLength: 1
    AbstractSchemaLessBean:
      allOf:
        - $ref: '#/components/schemas/AbstractQcountBean'
        - type: object
          x-abstract: true
          additionalProperties:
            nullable: true
          properties:
            SchemaLessData:
              type: object
              nullable: true
              additionalProperties: {}
  securitySchemes:
    Bearer:
      type: http
      description: Enter your access token (OAuth / JWT).
      scheme: bearer
      bearerFormat: JWT
    ApiKey:
      type: apiKey
      description: 'Enter: Outseta {api_key}:{api_secret}'
      name: Authorization
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.