openapi: 3.0.3
info:
title: SPOD (Spreadconnect) Fulfillment REST Articles Orders API
version: '1.0'
description: REST API for SPOD (Spreadshirt Print-On-Demand), now branded Spreadconnect. Create customizable articles from designs, place and manage print-on-demand orders, choose shipping types and track shipments, browse the catalog of product types, check stock, and subscribe to webhook notifications for article, order, and shipment events. All requests are authenticated with a per-account API access token sent in the X-SPOD-ACCESS-TOKEN header. This document is an API Evangelist reference grounded in SPOD's published OpenAPI and developer documentation; verify request/response schemas against the live docs before production use.
contact:
name: SPOD
url: https://www.spod.com
email: business@spod.com
termsOfService: https://faq.spod.com/hc/en-us/articles/360020630280
servers:
- url: https://rest.spod.com
description: Production
- url: https://rest.spreadconnect-staging.app
description: Staging / test environment
security:
- access_token: []
tags:
- name: Orders
paths:
/orders:
post:
tags:
- Orders
operationId: createOrder
summary: Create an order
description: Create a new order. In the simple flow you send a preferred shipping type and state CONFIRMED in one request; in the controlled flow you create the order with mandatory fields, then set the shipping type and confirm it in later requests.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OrderRequest'
responses:
'201':
description: The created order.
/orders/{orderId}:
get:
tags:
- Orders
operationId: getOrder
summary: Get an order
parameters:
- $ref: '#/components/parameters/OrderId'
responses:
'200':
description: The requested order.
'404':
description: Order not found.
put:
tags:
- Orders
operationId: updateOrder
summary: Update an order
parameters:
- $ref: '#/components/parameters/OrderId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OrderRequest'
responses:
'200':
description: The updated order.
/orders/{orderId}/confirm:
post:
tags:
- Orders
operationId: confirmOrder
summary: Confirm an order
description: Confirm an order so it enters production. A confirmed order can no longer be edited.
parameters:
- $ref: '#/components/parameters/OrderId'
responses:
'200':
description: The confirmed order.
/orders/{orderId}/cancel:
post:
tags:
- Orders
operationId: cancelOrder
summary: Cancel an order
description: Attempt to cancel an order. Cancellation only succeeds while the order has not yet entered production.
parameters:
- $ref: '#/components/parameters/OrderId'
responses:
'200':
description: Cancellation result.
components:
schemas:
OrderRequest:
type: object
description: Order payload. Refer to the live SPOD docs for the full schema.
properties:
orderItems:
type: array
items:
type: object
shipping:
type: object
billingAddress:
type: object
state:
type: string
enum:
- NEW
- CONFIRMED
parameters:
OrderId:
name: orderId
in: path
required: true
schema:
type: integer
securitySchemes:
access_token:
type: apiKey
in: header
name: X-SPOD-ACCESS-TOKEN
description: Per-account API access token generated in the SPOD / Spreadconnect web application. Send it as a header on every request.