Lemon Squeezy Subscription Items API

The Subscription Items API from Lemon Squeezy — 3 operation(s) for subscription items.

Documentation

Specifications

Other Resources

OpenAPI Specification

lemonsqueezy-subscription-items-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Lemon Squeezy Checkouts Subscription Items API
  description: The Lemon Squeezy API is a REST API based on the JSON:API specification. It exposes the resources of a Lemon Squeezy merchant-of-record account - stores, products, variants, prices, files, orders, order items, customers, subscriptions, subscription invoices, subscription items, usage records, license keys, license key instances, checkouts, discounts, discount redemptions, and webhooks. All requests use Bearer API key authentication and must send the Accept and Content-Type headers application/vnd.api+json.
  termsOfService: https://www.lemonsqueezy.com/terms
  contact:
    name: Lemon Squeezy Support
    url: https://docs.lemonsqueezy.com
  version: v1
servers:
- url: https://api.lemonsqueezy.com/v1
security:
- api_key: []
tags:
- name: Subscription Items
paths:
  /subscription-items:
    get:
      operationId: listSubscriptionItems
      tags:
      - Subscription Items
      summary: List all subscription items
      parameters:
      - name: filter[subscription_id]
        in: query
        schema:
          type: string
      responses:
        '200':
          description: A list of subscription items.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/JsonApiCollection'
  /subscription-items/{id}:
    get:
      operationId: retrieveSubscriptionItem
      tags:
      - Subscription Items
      summary: Retrieve a subscription item
      parameters:
      - $ref: '#/components/parameters/ResourceId'
      responses:
        '200':
          description: A subscription item object.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/JsonApiResource'
    patch:
      operationId: updateSubscriptionItem
      tags:
      - Subscription Items
      summary: Update a subscription item
      description: Update the quantity of a quantity-based or usage-based subscription item.
      parameters:
      - $ref: '#/components/parameters/ResourceId'
      requestBody:
        required: true
        content:
          application/vnd.api+json:
            schema:
              $ref: '#/components/schemas/JsonApiResource'
      responses:
        '200':
          description: The updated subscription item object.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/JsonApiResource'
  /subscription-items/{id}/current-usage:
    get:
      operationId: retrieveSubscriptionItemCurrentUsage
      tags:
      - Subscription Items
      summary: Retrieve a subscription item's current usage
      parameters:
      - $ref: '#/components/parameters/ResourceId'
      responses:
        '200':
          description: The current usage for a usage-based subscription item.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/JsonApiResource'
components:
  schemas:
    JsonApiResource:
      type: object
      description: A JSON:API document containing a single resource object.
      properties:
        jsonapi:
          type: object
          properties:
            version:
              type: string
        data:
          $ref: '#/components/schemas/JsonApiResourceObject'
        links:
          type: object
          additionalProperties:
            type: string
    JsonApiResourceObject:
      type: object
      description: A single JSON:API resource object.
      properties:
        type:
          type: string
          description: The resource type, e.g. stores, products, subscriptions.
        id:
          type: string
          description: The unique resource ID.
        attributes:
          type: object
          description: The resource's attributes.
          additionalProperties: true
        relationships:
          type: object
          description: Related resources.
          additionalProperties: true
        links:
          type: object
          additionalProperties:
            type: string
    JsonApiCollection:
      type: object
      description: A JSON:API document containing a collection of resource objects.
      properties:
        jsonapi:
          type: object
          properties:
            version:
              type: string
        data:
          type: array
          items:
            $ref: '#/components/schemas/JsonApiResourceObject'
        links:
          type: object
          description: Pagination links (first, last, prev, next).
          additionalProperties:
            type: string
        meta:
          type: object
          properties:
            page:
              type: object
              properties:
                currentPage:
                  type: integer
                from:
                  type: integer
                lastPage:
                  type: integer
                perPage:
                  type: integer
                to:
                  type: integer
                total:
                  type: integer
  parameters:
    ResourceId:
      name: id
      in: path
      required: true
      description: The resource ID.
      schema:
        type: string
  securitySchemes:
    api_key:
      type: http
      scheme: bearer
      bearerFormat: apiKey
      description: Bearer authentication using a Lemon Squeezy API key. Requests must also send Accept and Content-Type headers of application/vnd.api+json.