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

# The plans the merchant can buy

> Every sellable catalogue plan (products + size) with its monthly and annual price, trial days and session quota, in catalogue order. Read-only. Subscribe to one with POST /settings/subscription using the same products and size.



## OpenAPI

````yaml /api-reference/openapi/lite.json get /settings/subscription/plans
openapi: 3.1.0
info:
  title: Search & Merchandising API
  version: 1.0.0
  description: >-
    REST API behind Depict: Search & Merchandising, the native Shopify app:
    onboarding, collections, boost & bury, dashboards, A/B testing and
    multi-store management. Endpoints are served under the /api/lite prefix and
    are authenticated with the Shopify session token that App Bridge issues to
    the embedded app.
servers:
  - url: /api/lite
security:
  - ShopifySessionToken: []
paths:
  /settings/subscription/plans:
    get:
      summary: The plans the merchant can buy
      description: >-
        Every sellable catalogue plan (products + size) with its monthly and
        annual price, trial days and session quota, in catalogue order.
        Read-only. Subscribe to one with POST /settings/subscription using the
        same products and size.
      operationId: subscriptionPlans
      parameters:
        - schema:
            type: string
            description: Lite merchant id, e.g. `shopify-<shop id>`.
          required: true
          description: Lite merchant id, e.g. `shopify-<shop id>`.
          name: merchant_id
          in: query
      responses:
        '200':
          description: The sellable plans.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionPlans'
        '400':
          description: >-
            The query, path or body failed the schema; `detail` carries zod's
            messages.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Detail'
        '401':
          description: Not authenticated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Detail'
        '403':
          description: Authenticated, but this identity may not call the API.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Detail'
        '404':
          description: Merchant not found for this caller.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Detail'
        '500':
          description: Internal error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Detail'
        '503':
          description: The plan catalogue could not be read.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Detail'
components:
  schemas:
    SubscriptionPlans:
      type: object
      properties:
        plans:
          type: array
          items:
            $ref: '#/components/schemas/SellablePlan'
      required:
        - plans
    Detail:
      type: object
      properties:
        detail:
          type: string
      required:
        - detail
      description: 'Every 4xx/5xx body: `{detail}`.'
    SellablePlan:
      type: object
      properties:
        plan_id:
          type: string
        display_name:
          type: string
          description: The exact Shopify AppSubscription name.
        products:
          type: array
          items:
            type: string
            enum:
              - search
              - recs
              - vm
        size:
          type: string
          enum:
            - s
            - m
            - l
        session_quota:
          type:
            - integer
            - 'null'
        trial_days:
          type: integer
        prices:
          type: object
          properties:
            every_30_days:
              anyOf:
                - $ref: '#/components/schemas/SubscriptionPlanPrice'
                - type: 'null'
              description: null = not sold on that interval.
            annual:
              anyOf:
                - $ref: '#/components/schemas/SubscriptionPlanPrice'
                - type: 'null'
              description: null = not sold on that interval.
          required:
            - every_30_days
            - annual
      required:
        - plan_id
        - display_name
        - products
        - size
        - session_quota
        - trial_days
        - prices
    SubscriptionPlanPrice:
      type: object
      properties:
        price:
          type: number
        currency:
          type: string
        discount_fraction:
          type:
            - number
            - 'null'
        discount_intervals:
          type:
            - integer
            - 'null'
      required:
        - price
        - currency
        - discount_fraction
        - discount_intervals
  securitySchemes:
    ShopifySessionToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Shopify App Bridge session token of the embedded Depict: Search &
        Merchandising app. The shop in the token determines the merchant;
        merchant_id parameters must belong to that shop.

````