openapi: 3.0.3
info:
title: Scalable Press Billing Event API
description: The Scalable Press API is a REST interface to a print-on-demand and fulfillment platform for custom apparel, accessories, and promotional products. It lets developers browse a wholesale blank-and-printed product catalog, generate price quotes (product, printing, and shipping costs), place and manage print-and-ship orders, track fulfillment through order and item events, create designs and product mockups, and retrieve billing invoices. Authentication uses HTTP Basic auth - your private API key is supplied as the password (the username is left blank). The API spans two versioned surfaces - v2 for product, quote, order, design, customization, and billing, and v3 for event and mockup - both served from https://api.scalablepress.com.
version: '2.0'
contact:
name: Scalable Press
url: https://scalablepress.com/docs/
servers:
- url: https://api.scalablepress.com
description: Scalable Press API (v2 and v3 paths)
security:
- basicAuth: []
tags:
- name: Event
description: Order and item lifecycle events (v3).
paths:
/v3/event:
get:
operationId: queryEvents
tags:
- Event
summary: Query events
description: Queries order and item lifecycle events - such as order, validated, paid, unpaid, printing, shipped, cancelled, address-changed, expired, and hold - optionally filtered by order and event type.
parameters:
- name: orderId
in: query
required: false
description: Filter events for a specific order.
schema:
type: string
- name: type
in: query
required: false
description: Filter by event type.
schema:
type: string
responses:
'200':
description: A list of events.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Event'
'401':
$ref: '#/components/responses/Unauthorized'
/v3/event/{eventId}:
parameters:
- name: eventId
in: path
required: true
description: The ID of the event.
schema:
type: string
get:
operationId: getEvent
tags:
- Event
summary: Retrieve single event
description: Retrieves a single event by its ID.
responses:
'200':
description: The requested event.
content:
application/json:
schema:
$ref: '#/components/schemas/Event'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
responses:
Unauthorized:
description: Missing or invalid API key.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: The requested resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
Error:
type: object
properties:
statusCode:
type: integer
message:
type: string
issues:
type: array
items:
type: object
additionalProperties: true
Event:
type: object
properties:
eventId:
type: string
type:
type: string
description: Event type such as order, validated, paid, unpaid, printing, shipped, cancelled, address-changed, expired, or hold.
orderId:
type: string
timestamp:
type: string
format: date-time
data:
type: object
additionalProperties: true
securitySchemes:
basicAuth:
type: http
scheme: basic
description: HTTP Basic authentication. Supply your private Scalable Press API key as the password; the username is left blank.