WildApricot OnlineStore.Products API

The OnlineStore.Products API from WildApricot — 2 operation(s) for onlinestore.products.

OpenAPI Specification

wildapricot-onlinestore-products-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: WildApricot Admin Accounts OnlineStore.Products API
  description: The WildApricot Admin API provides programmatic access to membership management features including contacts, events, event registrations, membership levels, invoices, payments, donations, email campaigns, and store orders. Authentication uses OAuth2 with client credentials or authorization code flow.
  version: 7.24.0
  contact:
    name: WildApricot Support
    url: https://gethelp.wildapricot.com/
  license:
    name: Proprietary
  x-generated-from: documentation
servers:
- url: https://api.wildapricot.org/v2.2
  description: WildApricot Admin API v2.2
tags:
- name: OnlineStore.Products
paths:
  /accounts/{accountId}/store/products/{id}:
    get:
      operationId: OnlineStoreProducts_GetById
      summary: WildApricot GET /accounts/{accountId}/store/products/{id}
      description: ''
      tags:
      - OnlineStore.Products
      parameters:
      - name: ''
        in: query
        required: false
        description: ''
        schema:
          type: string
      - name: id
        in: path
        required: true
        description: ''
        schema:
          type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
        '400':
          description: ''
        '401':
          description: ''
        '429':
          description: ''
      security:
      - OAuth2:
        - auto
  /accounts/{accountId}/store/products:
    get:
      operationId: OnlineStoreProducts_GetList
      summary: WildApricot GET /accounts/{accountId}/store/products
      description: ''
      tags:
      - OnlineStore.Products
      parameters:
      - name: ''
        in: query
        required: false
        description: ''
        schema:
          type: string
      - name: $skip
        in: query
        required: false
        description: ''
        schema:
          type: integer
      - name: $top
        in: query
        required: false
        description: ''
        schema:
          type: integer
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Product'
        '400':
          description: ''
        '401':
          description: ''
        '429':
          description: ''
      security:
      - OAuth2:
        - auto
components:
  schemas:
    ProductVariant:
      type: object
      required:
      - id
      - stock
      - outOfStock
      - trackInventory
      properties:
        id:
          type: integer
          format: int32
        productVariantOptionValues:
          type: array
          items:
            $ref: '#/components/schemas/ProductVariantOptionValue'
        stock:
          type: integer
          format: int32
        outOfStock:
          type: boolean
        trackInventory:
          type: boolean
    ProductType:
      type: string
      description: ''
      x-enumNames:
      - Physical
      - Digital
      enum:
      - PHYSICAL
      - DIGITAL
    DigitalProductType:
      type: string
      description: ''
      x-enumNames:
      - File
      - Link
      enum:
      - FILE
      - LINK
    ProductStatus:
      type: string
      description: ''
      x-enumNames:
      - AdminOnly
      - Public
      enum:
      - ADMINONLY
      - PUBLIC
    ProductFile:
      type: object
      properties:
        name:
          type: string
    ProductLink:
      type: object
      properties:
        url:
          type: string
        code:
          type: string
    ProductVariantOptionValue:
      type: object
      properties:
        title:
          type: string
        value:
          type: string
    ProductOption:
      type: object
      properties:
        title:
          type: string
        values:
          type: array
          items:
            type: string
    Price:
      type: object
      required:
      - regular
      properties:
        regular:
          type: number
          format: decimal
        members:
          type: number
          format: decimal
    DigitalProduct:
      type: object
      required:
      - type
      properties:
        type:
          $ref: '#/components/schemas/DigitalProductType'
        productFile:
          $ref: '#/components/schemas/ProductFile'
        productLink:
          $ref: '#/components/schemas/ProductLink'
        emailNote:
          type: string
    Product:
      type: object
      required:
      - id
      - status
      - type
      - trackInventory
      - stock
      - outOfStock
      - totalStock
      properties:
        url:
          type: string
        id:
          type: integer
          format: int32
        title:
          type: string
        description:
          type: string
        price:
          $ref: '#/components/schemas/Price'
        status:
          $ref: '#/components/schemas/ProductStatus'
        type:
          $ref: '#/components/schemas/ProductType'
        pictures:
          type: array
          items:
            type: string
        tags:
          type: array
          items:
            type: string
        trackInventory:
          type: boolean
        stock:
          type: integer
          format: int32
        productOptions:
          type: array
          items:
            $ref: '#/components/schemas/ProductOption'
        productVariants:
          type: array
          items:
            $ref: '#/components/schemas/ProductVariant'
        outOfStock:
          type: boolean
        totalStock:
          type: integer
          format: int32
        digitalProduct:
          $ref: '#/components/schemas/DigitalProduct'
        created:
          type: string
          format: date-time
  securitySchemes:
    OAuth2:
      type: oauth2
      description: OAuth2 authentication for WildApricot API
      flows:
        clientCredentials:
          tokenUrl: https://oauth.wildapricot.org/auth/token
          scopes:
            auto: Full API access