Stay AI Subscriptions API

The Subscriptions API from Stay AI — 9 operation(s) for subscriptions.

OpenAPI Specification

stay-ai-subscriptions-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Stay AI Account Subscriptions API
  version: '2.0'
  description: Documented public REST API for Stay AI (formerly Retextion), a subscription retention and growth platform for Shopify DTC brands. All endpoints are authenticated with an API key sent in the X-RETEXTION-ACCESS-TOKEN header. Paths, methods, and query/path parameters are taken from the Stay AI developer documentation at https://docs.stay.ai; request and response body schemas are simplified representations - consult the live reference for full payload details.
  contact:
    name: Stay AI
    url: https://docs.stay.ai
servers:
- url: https://api.retextion.com/api/v2
security:
- accessToken: []
tags:
- name: Subscriptions
paths:
  /subscriptions:
    get:
      operationId: query-all-subscriptions
      summary: Query All Subscriptions
      tags:
      - Subscriptions
      parameters:
      - name: email
        in: query
        description: Customer email
        schema:
          type: string
      - name: status
        in: query
        description: Subscription status (ACTIVE or PAUSED or CANCELLED)
        schema:
          type: string
      - name: createdAtMin
        in: query
        description: Created date min timestamp
        schema:
          type: integer
          format: int64
      - name: createdAtMax
        in: query
        description: Created date max timestamp
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: A list of subscriptions
  /subscriptions/{subscriptionId}:
    get:
      operationId: query-subscription-by-id
      summary: Query Subscription by ID
      tags:
      - Subscriptions
      parameters:
      - name: subscriptionId
        in: path
        required: true
        description: Internal or external subscription ID
        schema:
          type: string
      responses:
        '200':
          description: The requested subscription
  /subscriptions/{subscriptionId}/cancel:
    post:
      operationId: cancel-subscription
      summary: Cancel Subscription
      tags:
      - Subscriptions
      parameters:
      - name: subscriptionId
        in: path
        required: true
        description: Internal or external subscription ID
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                cancellationReasons:
                  type: array
                  description: A list of reasons for cancellation of the subscription
                  items:
                    type: string
      responses:
        '200':
          description: Cancellation result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Success'
  /subscriptions/{subscriptionId}/change-frequency:
    post:
      operationId: change-frequency
      summary: Change Frequency
      tags:
      - Subscriptions
      parameters:
      - name: subscriptionId
        in: path
        required: true
        description: Internal or external subscription ID
        schema:
          type: string
      responses:
        '200':
          description: Frequency updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Success'
  /subscriptions/{subscriptionId}/lines/{lineId}:
    put:
      operationId: update-line
      summary: Update Line
      tags:
      - Subscriptions
      parameters:
      - name: subscriptionId
        in: path
        required: true
        schema:
          type: string
      - name: lineId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Line item updated
  /subscriptions/{subscriptionId}/remove-lines:
    post:
      operationId: remove-lines
      summary: Remove Lines
      tags:
      - Subscriptions
      parameters:
      - name: subscriptionId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Line items removed
  /subscriptions/{subscriptionId}/order-notes:
    put:
      operationId: update-order-notes
      summary: Update Order Notes
      tags:
      - Subscriptions
      parameters:
      - name: subscriptionId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Order notes updated
  /subscriptions/{subscriptionId}/meta-data:
    post:
      operationId: add-meta-data
      summary: Add Meta Data Field
      tags:
      - Subscriptions
      parameters:
      - name: subscriptionId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Metadata field added
  /subscriptions/{subscriptionId}/set-shipping-address:
    post:
      operationId: set-shipping-address
      summary: Set Shipping Address
      tags:
      - Subscriptions
      parameters:
      - name: subscriptionId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Shipping address updated
components:
  schemas:
    Success:
      type: object
      properties:
        success:
          type: boolean
  securitySchemes:
    accessToken:
      type: apiKey
      in: header
      name: X-RETEXTION-ACCESS-TOKEN