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

# List subscription templates

> Returns a paginated list of the portal's subscription templates.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/subscription-templates
openapi: 3.0.0
info:
  contact: {}
  title: Assembly API
  version: 0.0.1
servers:
  - url: https://api.assembly.com
security: []
paths:
  /v1/subscription-templates:
    get:
      tags:
        - Subscription Templates
      summary: List subscription templates
      description: Returns a paginated list of the portal's subscription templates.
      operationId: list-subscription-templates
      parameters:
        - description: Maximum number of records to return.
          in: query
          name: limit
          schema:
            type: integer
        - description: Pagination cursor returned by a previous request.
          in: query
          name: nextToken
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/billing.GetSubscriptionTemplatesResponse'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dispatcher.Error'
          description: Invalid pagination parameters
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dispatcher.Error'
          description: Missing or invalid API key
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/dispatcher.Error'
          description: Unexpected server error
      security:
        - APIKeyHeader: []
components:
  schemas:
    billing.GetSubscriptionTemplatesResponse:
      properties:
        data:
          items:
            $ref: '#/components/schemas/billing.Template'
          nullable: true
          type: array
        nextToken:
          description: base64 encoded JSON representing a NextToken
          type: string
      type: object
    dispatcher.Error:
      properties:
        code:
          type: string
        data: {}
        message:
          type: string
      type: object
    billing.Template:
      properties:
        additionalFields:
          $ref: '#/components/schemas/billing.TemplateAdditionalFields'
        createdAt:
          type: string
        creatorId:
          type: string
        currency:
          description: >-
            Currency is the three-letter ISO 4217 currency code the subscription
            is billed in.
          example: usd
          type: string
        data:
          type: string
        fields:
          $ref: '#/components/schemas/billing.BillingFieldsModel'
        filteredListIndexPkey:
          type: string
        id:
          type: string
        identityId:
          type: string
        interval:
          allOf:
            - $ref: '#/components/schemas/billingutils.BillingPeriodType'
          description: Interval is the billing cadence of the subscription.
          enum:
            - day
            - week
            - month
            - quarterly
            - biannually
            - year
            - semiannually
          example: month
        intervalCount:
          description: IntervalCount is the number of intervals between each billing cycle.
          example: 1
          type: integer
        lineItems:
          description: >-
            LineItems are the products and one-off charges billed by this
            subscription template.
          items:
            $ref: '#/components/schemas/line_item.LineItem'
          type: array
        memo:
          description: >-
            Memo is the note shown to the client on invoices generated from this
            template.
          example: Thank you for your business
          type: string
        name:
          description: Name is the display name of the subscription template.
          example: Monthly Retainer
          type: string
        object:
          type: string
        previousAttributes:
          additionalProperties: true
          type: object
        ref:
          type: string
        taxPercentage:
          description: >-
            TaxPercentage is the tax rate applied to the subscription, expressed
            as a percentage; absent when no tax is configured.
          example: 8.25
          nullable: true
          type: number
        updatedAt:
          type: string
      type: object
    billing.TemplateAdditionalFields:
      properties:
        templateName:
          type: string
      type: object
    billing.BillingFieldsModel:
      properties:
        absorbTransactionFees:
          type: boolean
        allowPaymentViaACH:
          type: boolean
        allowPaymentViaCC:
          type: boolean
        attachment:
          type: string
        attachmentIdentityId:
          type: string
        cancelledAt:
          type: string
        clientUserId:
          type: string
        collectionMethod:
          type: string
        companyId:
          type: string
        createDraft:
          type: boolean
        createdBy:
          type: string
        currency:
          type: string
        dateOfIssue:
          type: string
        daysUntilDue:
          type: integer
        dueDate:
          type: string
        fileKey:
          type: string
        ignoreStripe:
          type: boolean
        interval:
          type: string
        intervalCount:
          description: only for subscription invoices
          type: integer
        lineItems:
          items:
            $ref: '#/components/schemas/fields_models.LineItem'
          type: array
        memo:
          type: string
        paidManually:
          type: boolean
        prorate:
          type: boolean
        quickbooksId:
          type: string
        reactivatedBy:
          description: not set by the front-end
          type: string
        resetBillingCycle:
          type: boolean
        scheduleEndDate:
          type: integer
        scheduleIterations:
          type: integer
        scheduleStartDate:
          type: integer
        taxPercentage:
          type: number
      type: object
    billingutils.BillingPeriodType:
      enum:
        - day
        - week
        - month
        - quarterly
        - biannually
        - year
        - semiannually
      type: string
      x-enum-varnames:
        - BillingPeriodTypeDay
        - BillingPeriodTypeWeek
        - BillingPeriodTypeMonth
        - BillingPeriodTypeQuarter
        - BillingPeriodTypeBiannual
        - BillingPeriodTypeYear
        - BillingPeriodTypeSemiAnnually
    line_item.LineItem:
      properties:
        amount:
          description: >-
            Amount is the per-unit charge in the smallest currency unit (e.g.
            cents) for a one-off line item. Required, together with description,
            when priceId is absent.
          example: 5000
          type: integer
        description:
          description: >-
            Description is the human-readable description of a one-off line
            item. Required, together with amount, when priceId is absent.
          example: Onboarding setup fee
          type: string
        id:
          type: string
        priceId:
          description: >-
            PriceId is the ID of the price this line item bills for. Either
            priceId or amount with description must be provided.
          example: price_1a2b3c
          type: string
        priceInterval:
          description: >-
            PriceInterval is the recurring interval of the referenced price,
            when the line item bills a recurring price.
          example: month
          type: string
        productId:
          description: >-
            ProductId is the ID of the product this line item bills for; absent
            for one-off charges.
          example: prod_1a2b3c
          type: string
        quantity:
          description: Quantity is the number of units billed for this line item. Required.
          example: 2
          maximum: 1000000
          minimum: 1
          type: number
        type:
          type: string
      type: object
    fields_models.LineItem:
      properties:
        description:
          type: string
        id:
          type: string
        priceId:
          type: string
        productId:
          type: string
        quantity:
          type: number
        rate:
          type: number
      type: object
  securitySchemes:
    APIKeyHeader:
      in: header
      name: X-API-KEY
      type: apiKey

````