ezoic Purchases API

The Purchases API from ezoic — 1 operation(s) for purchases.

OpenAPI Specification

ezoic-purchases-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Ezoic Subscriptions Server-to-Server REST Access Purchases API
  version: v1
  description: Server-to-server REST API for Ezoic Subscriptions. Lets a publisher verify a reader's paid access and read a reader's subscriptions/purchases from their own backend, authenticated through the Ezoic API gateway. Faithfully modeled from the public documentation at https://docs.ezoic.com/docs/subscriptions/rest-api/.
  x-apievangelist-method: searched
  x-apievangelist-source: https://docs.ezoic.com/docs/subscriptions/rest-api/
  contact:
    name: Ezoic Support
    url: https://support.ezoic.com/
servers:
- url: https://api-gateway.ezoic.com/subscriptions/v1
  description: Ezoic API gateway (production)
security:
- developerKey: []
tags:
- name: Purchases
paths:
  /purchases:
    get:
      operationId: listPurchases
      summary: List a reader's purchases
      description: Returns the identified reader's subscriptions and one-time purchases for the domain. Exactly one reader identity header must be supplied.
      tags:
      - Purchases
      parameters:
      - $ref: '#/components/parameters/developerKey'
      - $ref: '#/components/parameters/domain'
      - $ref: '#/components/parameters/readerEmail'
      - $ref: '#/components/parameters/readerToken'
      responses:
        '200':
          description: Reader purchases
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        productKey:
                          type: string
                        item:
                          type: string
                        status:
                          type: string
                          example: active
                        expiresAt:
                          type: string
                          format: date-time
        '400':
          $ref: '#/components/responses/BadRequest'
        '403':
          $ref: '#/components/responses/Forbidden'
components:
  parameters:
    readerEmail:
      name: X-Ezoic-Reader-Email
      in: header
      required: false
      description: Reader's email address. Supply exactly one reader identity header.
      schema:
        type: string
        format: email
    developerKey:
      name: developerKey
      in: query
      required: true
      description: Your Ezoic API key.
      schema:
        type: string
    domain:
      name: domain
      in: query
      required: true
      description: The domain being queried (must belong to your account).
      schema:
        type: string
    readerToken:
      name: X-Ezoic-Reader-Token
      in: header
      required: false
      description: Reader's Ezoic Subscriptions session JWT (visitor-account sites). Supply exactly one reader identity header.
      schema:
        type: string
  responses:
    BadRequest:
      description: Missing required parameters or duplicate identity headers.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: Subscriptions disabled for domain or invalid reader token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Error:
      type: object
      properties:
        success:
          type: boolean
          example: false
        message:
          type: string
  securitySchemes:
    developerKey:
      type: apiKey
      in: query
      name: developerKey
      description: Your Ezoic API (developer) key, passed as a query parameter.