Paddock Cards
Send personalized greeting cards through your AI assistant. Paddock prints and mails them.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (1)
- LOWin report_feedback
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"cards": {
"url": "https://api.paddock.so/agent-commerce/mcp"
}
}
}Remote-Endpunkte
https://api.paddock.so/agent-commerce/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (5)
🟢search_cards(query, occasion, tone, humor, kind, ...)
Find currently available ordinary and artist cards by occasion, tone, format, artist or budget. Returns three concise matches by default; use next_cursor for more. Public browsing needs no account or key.
Eingabe-Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 300
},
"occasion": {
"type": "string",
"maxLength": 100
},
"tone": {
"description": "Mood such as warm, cheerful, elegant or gentle. For funny cards, use humor instead.",
"type": "string",
"maxLength": 40
},
"humor": {
"type": "string",
"enum": [
"any",
"none",
"light",
"playful",
"funny"
]
},
"kind": {
"type": "string",
"enum": [
"any",
"standard",
"artist"
]
},
"require_printed_text": {
"description": "Filter verified wording already printed in the artwork. Unknown wording does not match absent or present.",
"type": "string",
"enum": [
"any",
"absent",
"present"
]
},
"printed_text_contains": {
"description": "Required phrase in verified artwork lettering, matched without case sensitivity. This does not search the customizable message.",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"format": {
"description": "Postcard, flat card in an envelope, or folded card in an envelope. Omit to select flat_card_in_envelope.",
"type": "string",
"enum": [
"postcard",
"flat_card_in_envelope",
"folded_card_in_envelope"
]
},
"max_price_cents": {
"type": "integer",
"minimum": 0,
"maximum": 1000000
},
"artist": {
"type": "string",
"maxLength": 120
},
"limit": {
"default": 3,
"type": "integer",
"minimum": 1,
"maximum": 50
},
"cursor": {
"type": "string",
"pattern": "^(?:\\d{1,6})?$"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"const": true
},
"data": {
"type": "object",
"properties": {
"schema": {
"type": "string",
"const": "paddock.search.compact.v1"
},
"catalog_revision": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"complete": {
"type": "boolean"
},
"generated_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"total": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"next_cursor": {
"type": [
"string",
"null"
]
},
"constraints": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"detail": {
"type": "string"
}
},
"required": [
"code",
"detail"
],
"additionalProperties": false
}
},
"unmet": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"detail": {
"type": "string"
}
},
"required": [
"code",
"detail"
],
"additionalProperties": false
}
},
"occasion_resolved": {
"type": [
"string",
"null"
]
},
"artist_resolved": {
"type": [
"string",
"null"
]
},
"currency": {
"type": "string",
"const": "usd"
},
"price_includes": {
"anyOf": [
{
"type": "object",
"properties": {
"postage": {
"type": "boolean"
},
"tax": {
"type": "boolean"
}
},
"required": [
"postage",
"tax"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"policy": {
"type": "string"
},
"results": {
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"card": {
"type": "object",
"properties": {
"card_id": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"standard",
"artist"
]
},
"design": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"version": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"key",
"version"
],
"additionalProperties": false
},
"occasion_design_keys": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
"title": {
"type": "string"
},
"subtitle": {
"type": "string"
},
"primary_occasion": {
"type": "string"
},
"occasions": {
"type": "array",
"items": {
"type": "string"
}
},
"description": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"available",
"unknown"
]
},
"text": {
"type": [
"string",
"null"
]
}
},
"required": [
"status",
"text"
],
"additionalProperties": false
},
"printed_text": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"verified_absent",
"verified_present",
"unknown"
]
},
"text": {
"type": [
"string",
"null"
]
},
"note": {
"type": "string"
}
},
"required": [
"status",
"text"
],
"additionalProperties": false
},
"tone": {
"type": "array",
"items": {
"type": "string",
"enum": [
"warm",
"cheerful",
"playful",
"elegant",
"calm",
"gentle",
"romantic",
"festive",
"nostalgic",
"whimsical",
"sincere",
"celebratory",
"serene",
"bold"
]
}
},
"humor": {
"type": "string",
"enum": [
"none",
"light",
"playful",
"unknown"
]
},
"subjects": {
"type": "array",
"items": {
"type": "string"
}
},
"palette": {
"type": "array",
"items": {
"type": "string"
}
},
"contains_people": {
"type": [
"boolean",
"null"
]
},
"contains_animals": {
"type": [
"boolean",
"null"
]
},
"artist": {
"type": "object",
"properties": {
"name": {
"type": [
"string",
"null"
]
},
"slug": {
"type": [
"string",
"null"
]
},
"url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
}
},
"required": [
"name",
"slug",
"url"
],
"additionalProperties": false
},
"image": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"formats": {
"type": "array",
"items": {
"type": "object",
"properties": {
"format": {
"type": "string",
"enum": [
"postcard",
"flat_card_in_envelope",
"folded_card_in_envelope"
]
},
"cents": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"orderable": {
"type": "boolean"
},
"reason": {
"type": "string",
"enum": [
"CARD_SAMPLE_ACCEPTANCE_REQUIRED",
"CARD_ARTWORK_ACCEPTANCE_REQUIRED",
"ARTIST_PRINT_SETUP_REQUIRED",
"CATALOG_ARTWORK_UNAVAILABLE",
"OFFER_EXPIRED",
"AVAILABILITY_UNVERIFIED"
]
}
},
"required": [
"format",
"cents",
"orderable"
],
"additionalProperties": false
}
},
"from_cents": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"card_id",
"kind",
"design",
"title",
"primary_occasion",
"occasions",
"description",
"printed_text",
"tone",
"humor",
"subjects",
"palette",
"contains_people",
"contains_animals",
"image",
"formats",
"from_cents"
],
"additionalProperties": false
},
"selected_format": {
"anyOf": [
{
"type": "string",
"enum": [
"postcard",
"flat_card_in_envelope",
"folded_card_in_envelope"
]
},
{
"type": "null"
}
]
},
"total_cents": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"score": {
"type": "number"
},
"match_reasons": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"card",
"selected_format",
"total_cents",
"score",
"match_reasons"
],
"additionalProperties": false
}
}
},
"required": [
"schema",
"catalog_revision",
"complete",
"generated_at",
"total",
"next_cursor",
"constraints",
"unmet",
"occasion_resolved",
"artist_resolved",
"currency",
"price_includes",
"policy",
"results"
],
"additionalProperties": false
}
},
"required": [
"ok",
"data"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}⚪prepare_order(request_id, cards, order_access_token)
Prepare one unpaid purchase of 1–500 cards, mixed across any occasions, designs, formats, messages, recipients and dates. One card uses the same cards array. Return per-card previews, the exact sum of current per-card prices, one human review/payment URL and a private order_access_token. No charge or mailing is authorized here. The 500-card/4-MiB bounds are technical request limits. Use a caller-generated UUID request_id; for recoverable first requests, generate and privately store a fresh cryptographically random 43-character base64url order_access_token before calling. Retry that ID only with the same token and unchanged cards. If omitted, the server generates the token; losing that response requires a new ID for another unpaid purchase. Validation issues identify zero-based card indices without copying private content.
Eingabe-Schema
{
"type": "object",
"properties": {
"request_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"cards": {
"minItems": 1,
"maxItems": 500,
"type": "array",
"items": {
"type": "object",
"properties": {
"design_key": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"design_version": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483646
},
"message": {
"type": "string",
"maxLength": 4000,
"description": "Personal message, at most 2000 Unicode characters. Printed artwork wording is separate."
},
"format": {
"description": "Postcard, flat card in an envelope, or folded card in an envelope. Omit to select flat_card_in_envelope.",
"type": "string",
"enum": [
"postcard",
"flat_card_in_envelope",
"folded_card_in_envelope"
]
},
"message_font": {
"type": "string",
"enum": [
"serif",
"sans_serif",
"old_school",
"handwriting"
]
},
"include_paddock_gift": {
"type": "boolean"
},
"recipient": {
"type": "object",
"properties": {
"display_name": {
"type": "string",
"maxLength": 240
},
"greeting_name": {
"type": "string",
"maxLength": 240
},
"birthday_month": {
"default": 0,
"type": "integer",
"minimum": 0,
"maximum": 12
},
"birthday_day": {
"default": 0,
"type": "integer",
"minimum": 0,
"maximum": 31
},
"birthday_year": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 9999
},
{
"type": "null"
}
]
},
"anniversary_month": {
"type": "integer",
"minimum": 0,
"maximum": 12
},
"anniversary_day": {
"type": "integer",
"minimum": 0,
"maximum": 31
},
"mailing_address": {
"type": "object",
"properties": {
"line1": {
"type": "string",
"maxLength": 320
},
"line2": {
"type": "string",
"maxLength": 320
},
"locality": {
"type": "string",
"maxLength": 320
},
"region": {
"type": "string",
"maxLength": 160
},
"postal_code": {
"type": "string",
"maxLength": 48
},
"country_code": {
"type": "string",
"pattern": "^[A-Z]{2}$"
}
},
"required": [
"line1",
"line2",
"locality",
"region",
"postal_code",
"country_code"
],
"additionalProperties": false
},
"address_confirmed": {
"type": "boolean",
"const": true
},
"origin": {
"type": "string",
"const": "manual"
}
},
"required": [
"display_name",
"mailing_address",
"address_confirmed",
"origin"
],
"additionalProperties": false
},
"return_address": {
"type": "object",
"properties": {
"display_name": {
"type": "string",
"maxLength": 240
},
"mailing_address": {
"type": "object",
"properties": {
"line1": {
"type": "string",
"maxLength": 320
},
"line2": {
"type": "string",
"maxLength": 320
},
"locality": {
"type": "string",
"maxLength": 320
},
"region": {
"type": "string",
"maxLength": 160
},
"postal_code": {
"type": "string",
"maxLength": 48
},
"country_code": {
"type": "string",
"pattern": "^[A-Z]{2}$"
}
},
"required": [
"line1",
"line2",
"locality",
"region",
"postal_code",
"country_code"
],
"additionalProperties": false
},
"source_kind": {
"type": "string",
"const": "manual"
}
},
"required": [
"display_name",
"mailing_address",
"source_kind"
],
"additionalProperties": false
},
"occasion": {
"description": "Optional occasion and timing context, independent of the selected artwork. Omit for an ordinary just-because card.",
"type": "object",
"properties": {
"kind": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"calendar": {
"type": "string",
"const": "us-western-v1"
},
"month": {
"type": "integer",
"minimum": 1,
"maximum": 12
},
"day": {
"type": "integer",
"minimum": 1,
"maximum": 31
},
"send_on": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"kind",
"calendar"
],
"additionalProperties": false
}
},
"required": [
"design_key",
"design_version",
"message",
"recipient"
],
"additionalProperties": false,
"description": "One manual guest card. Each card may have its own artwork, format, message, recipient, optional occasion and timing. Existing destination/calendar rules apply. No member, Property, recipient, card or calendar-event IDs."
},
"description": "One purchase containing 1–500 explicit card compositions in their supplied order. Mix any supported designs, formats, messages, recipients, occasions and dates. Do not group purchases by occasion. One card uses this same array."
},
"order_access_token": {
"description": "Optionally generate and privately store 32 cryptographically random bytes encoded as 43 base64url characters before the first request. Reuse that token with the same request_id and unchanged cards to recover a lost response. If omitted, the server generates and returns the capability. Existing purchase capabilities cannot be replaced.",
"type": "string",
"pattern": "^[A-Za-z0-9_-]{43}$"
}
},
"required": [
"request_id",
"cards"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"const": true
},
"data": {
"type": "object",
"properties": {
"order": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"state": {
"type": "string",
"enum": [
"prepared",
"checkout_pending",
"paid",
"cancel_requested",
"cancelled"
]
},
"payment_state": {
"type": "string",
"enum": [
"unpaid",
"pending",
"paid",
"failed",
"expired",
"refunding",
"refunded"
]
},
"refund_state": {
"type": "string",
"enum": [
"none",
"pending",
"partial",
"succeeded",
"failed",
"unknown"
]
},
"amount_cents": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"currency": {
"type": "string",
"const": "usd"
},
"card_count": {
"type": "integer",
"minimum": 1,
"maximum": 500
},
"tax_ready_count": {
"type": "integer",
"minimum": 0,
"maximum": 500
},
"quote_expires_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"checkout_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"cards": {
"minItems": 1,
"maxItems": 500,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"state": {
"type": "string",
"enum": [
"prepared",
"checkout_pending",
"paid",
"cancel_requested",
"cancelled"
]
},
"payment_state": {
"type": "string",
"enum": [
"unpaid",
"pending",
"paid",
"failed",
"expired",
"refunding",
"refunded"
]
},
"refund_state": {
"type": "string",
"enum": [
"none",
"pending",
"processing",
"succeeded",
"failed",
"unknown"
]
},
"refund_review_reason": {
"type": [
"string",
"null"
]
},
"tax_review_reason": {
"type": [
"string",
"null"
]
},
"input": {
"type": "object",
"properties": {
"design_key": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"design_version": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483646
},
"message": {
"type": "string",
"maxLength": 4000,
"description": "Personal message, at most 2000 Unicode characters. Printed artwork wording is separate."
},
"format": {
"description": "Postcard, flat card in an envelope, or folded card in an envelope. Omit to select flat_card_in_envelope.",
"type": "string",
"enum": [
"postcard",
"flat_card_in_envelope",
"folded_card_in_envelope"
]
},
"message_font": {
"type": "string",
"enum": [
"serif",
"sans_serif",
"old_school",
"handwriting"
]
},
"include_paddock_gift": {
"type": "boolean"
},
"recipient": {
"type": "object",
"properties": {
"display_name": {
"type": "string",
"maxLength": 240
},
"greeting_name": {
"type": "string",
"maxLength": 240
},
"birthday_month": {
"type": "integer",
"minimum": 0,
"maximum": 12
},
"birthday_day": {
"type": "integer",
"minimum": 0,
"maximum": 31
},
"birthday_year": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 9999
},
{
"type": "null"
}
]
},
"anniversary_month": {
"type": "integer",
"minimum": 0,
"maximum": 12
},
"anniversary_day": {
"type": "integer",
"minimum": 0,
"maximum": 31
},
"mailing_address": {
"type": "object",
"properties": {
"line1": {
"type": "string",
"maxLength": 320
},
"line2": {
"type": "string",
"maxLength": 320
},
"locality": {
"type": "string",
"maxLength": 320
},
"region": {
"type": "string",
"maxLength": 160
},
"postal_code": {
"type": "string",
"maxLength": 48
},
"country_code": {
"type": "string",
"pattern": "^[A-Z]{2}$"
}
},
"required": [
"line1",
"line2",
"locality",
"region",
"postal_code",
"country_code"
],
"additionalProperties": false
},
"address_confirmed": {
"type": "boolean",
"const": true
},
"origin": {
"type": "string",
"const": "manual"
}
},
"required": [
"display_name",
"birthday_month",
"birthday_day",
"mailing_address",
"address_confirmed",
"origin"
],
"additionalProperties": false
},
"return_address": {
"type": "object",
"properties": {
"display_name": {
"type": "string",
"maxLength": 240
},
"mailing_address": {
"type": "object",
"properties": {
"line1": {
"type": "string",
"maxLength": 320
},
"line2": {
"type": "string",
"maxLength": 320
},
"locality": {
"type": "string",
"maxLength": 320
},
"region": {
"type": "string",
"maxLength": 160
},
"postal_code": {
"type": "string",
"maxLength": 48
},
"country_code": {
"type": "string",
"pattern": "^[A-Z]{2}$"
}
},
"required": [
"line1",
"line2",
"locality",
"region",
"postal_code",
"country_code"
],
"additionalProperties": false
},
"source_kind": {
"type": "string",
"const": "manual"
}
},
"required": [
"display_name",
"mailing_address",
"source_kind"
],
"additionalProperties": false
},
"occasion": {
"description": "Optional occasion and timing context, independent of the selected artwork. Omit for an ordinary just-because card.",
"type": "object",
"properties": {
"kind": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"calendar": {
"type": "string",
"const": "us-western-v1"
},
"month": {
"type": "integer",
"minimum": 1,
"maximum": 12
},
"day": {
"type": "integer",
"minimum": 1,
"maximum": 31
},
"send_on": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"kind",
"calendar"
],
"additionalProperties": false
}
},
"required": [
"design_key",
"design_version",
"message",
"recipient"
],
"additionalProperties": false
},
"schedule": {
"type": "object",
"properties": {
"one_off": {
"type": "boolean",
"const": true
},
"time_zone": {
"type": "string"
},
"birthday_date": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"send_date": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"collection_date": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"arrival_start": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"arrival_end": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"edit_deadline": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"post_by": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"estimate_basis": {
"type": "string"
},
"late": {
"type": "boolean"
},
"leap_day_observed": {
"type": "boolean"
},
"next_year": {
"type": "boolean"
}
},
"required": [
"time_zone",
"birthday_date",
"send_date",
"collection_date",
"arrival_start",
"arrival_end",
"edit_deadline",
"post_by",
"estimate_basis",
"late",
"leap_day_observed",
"next_year"
],
"additionalProperties": false
},
"amount_cents": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"currency": {
"type": "string",
"const": "usd"
},
"offer_version": {
"type": "string"
},
"terms_version": {
"type": "string"
},
"title": {
"type": "string"
},
"artist_name": {
"type": [
"string",
"null"
]
},
"quote_expires_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"fulfillment_status": {
"anyOf": [
{
"type": "string",
"enum": [
"scheduled",
"preparing",
"ready",
"mailed",
"cancel_requested",
"cancelled"
]
},
{
"type": "null"
}
]
},
"mailed_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
},
"cancellable": {
"type": "boolean"
}
},
"required": [
"id",
"revision",
"state",
"payment_state",
"refund_state",
"refund_review_reason",
"tax_review_reason",
"input",
"schedule",
"amount_cents",
"currency",
"offer_version",
"terms_version",
"title",
"artist_name",
"quote_expires_at",
"fulfillment_status",
"mailed_at",
"cancellable"
],
"additionalProperties": false
}
},
"customer_content": {
"type": "object",
"properties": {
"rights_required": {
"type": "boolean"
},
"rights_accepted": {
"type": "boolean"
},
"terms_version": {
"type": "string",
"const": "customer-print-v1"
}
},
"required": [
"rights_required",
"rights_accepted",
"terms_version"
],
"additionalProperties": false
}
},
"required": [
"id",
"revision",
"state",
"payment_state",
"refund_state",
"amount_cents",
"currency",
"card_count",
"tax_ready_count",
"quote_expires_at",
"checkout_url",
"cards"
],
"additionalProperties": false
},
"order_access_token": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{43}$"
},
"review_url": {
"type": "string",
"format": "uri"
},
"reused": {
"type": "boolean"
},
"payment_required": {
"type": "boolean"
}
},
"required": [
"order",
"order_access_token",
"review_url"
],
"additionalProperties": false
}
},
"required": [
"ok",
"data"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢read_order(order_id, order_access_token)
Read a private purchase and its order.cards using the parent order_id and order_access_token. Payment, per-card production and mailing are distinct states.
Eingabe-Schema
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"order_access_token": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{43}$",
"description": "Private purchase capability. Keep it secret; never put it in a public URL or log."
}
},
"required": [
"order_id",
"order_access_token"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"const": true
},
"data": {
"type": "object",
"properties": {
"order": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"state": {
"type": "string",
"enum": [
"prepared",
"checkout_pending",
"paid",
"cancel_requested",
"cancelled"
]
},
"payment_state": {
"type": "string",
"enum": [
"unpaid",
"pending",
"paid",
"failed",
"expired",
"refunding",
"refunded"
]
},
"refund_state": {
"type": "string",
"enum": [
"none",
"pending",
"partial",
"succeeded",
"failed",
"unknown"
]
},
"amount_cents": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"currency": {
"type": "string",
"const": "usd"
},
"card_count": {
"type": "integer",
"minimum": 1,
"maximum": 500
},
"tax_ready_count": {
"type": "integer",
"minimum": 0,
"maximum": 500
},
"quote_expires_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"checkout_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"cards": {
"minItems": 1,
"maxItems": 500,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"state": {
"type": "string",
"enum": [
"prepared",
"checkout_pending",
"paid",
"cancel_requested",
"cancelled"
]
},
"payment_state": {
"type": "string",
"enum": [
"unpaid",
"pending",
"paid",
"failed",
"expired",
"refunding",
"refunded"
]
},
"refund_state": {
"type": "string",
"enum": [
"none",
"pending",
"processing",
"succeeded",
"failed",
"unknown"
]
},
"refund_review_reason": {
"type": [
"string",
"null"
]
},
"tax_review_reason": {
"type": [
"string",
"null"
]
},
"input": {
"type": "object",
"properties": {
"design_key": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"design_version": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483646
},
"message": {
"type": "string",
"maxLength": 4000,
"description": "Personal message, at most 2000 Unicode characters. Printed artwork wording is separate."
},
"format": {
"description": "Postcard, flat card in an envelope, or folded card in an envelope. Omit to select flat_card_in_envelope.",
"type": "string",
"enum": [
"postcard",
"flat_card_in_envelope",
"folded_card_in_envelope"
]
},
"message_font": {
"type": "string",
"enum": [
"serif",
"sans_serif",
"old_school",
"handwriting"
]
},
"include_paddock_gift": {
"type": "boolean"
},
"recipient": {
"type": "object",
"properties": {
"display_name": {
"type": "string",
"maxLength": 240
},
"greeting_name": {
"type": "string",
"maxLength": 240
},
"birthday_month": {
"type": "integer",
"minimum": 0,
"maximum": 12
},
"birthday_day": {
"type": "integer",
"minimum": 0,
"maximum": 31
},
"birthday_year": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 9999
},
{
"type": "null"
}
]
},
"anniversary_month": {
"type": "integer",
"minimum": 0,
"maximum": 12
},
"anniversary_day": {
"type": "integer",
"minimum": 0,
"maximum": 31
},
"mailing_address": {
"type": "object",
"properties": {
"line1": {
"type": "string",
"maxLength": 320
},
"line2": {
"type": "string",
"maxLength": 320
},
"locality": {
"type": "string",
"maxLength": 320
},
"region": {
"type": "string",
"maxLength": 160
},
"postal_code": {
"type": "string",
"maxLength": 48
},
"country_code": {
"type": "string",
"pattern": "^[A-Z]{2}$"
}
},
"required": [
"line1",
"line2",
"locality",
"region",
"postal_code",
"country_code"
],
"additionalProperties": false
},
"address_confirmed": {
"type": "boolean",
"const": true
},
"origin": {
"type": "string",
"const": "manual"
}
},
"required": [
"display_name",
"birthday_month",
"birthday_day",
"mailing_address",
"address_confirmed",
"origin"
],
"additionalProperties": false
},
"return_address": {
"type": "object",
"properties": {
"display_name": {
"type": "string",
"maxLength": 240
},
"mailing_address": {
"type": "object",
"properties": {
"line1": {
"type": "string",
"maxLength": 320
},
"line2": {
"type": "string",
"maxLength": 320
},
"locality": {
"type": "string",
"maxLength": 320
},
"region": {
"type": "string",
"maxLength": 160
},
"postal_code": {
"type": "string",
"maxLength": 48
},
"country_code": {
"type": "string",
"pattern": "^[A-Z]{2}$"
}
},
"required": [
"line1",
"line2",
"locality",
"region",
"postal_code",
"country_code"
],
"additionalProperties": false
},
"source_kind": {
"type": "string",
"const": "manual"
}
},
"required": [
"display_name",
"mailing_address",
"source_kind"
],
"additionalProperties": false
},
"occasion": {
"description": "Optional occasion and timing context, independent of the selected artwork. Omit for an ordinary just-because card.",
"type": "object",
"properties": {
"kind": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"calendar": {
"type": "string",
"const": "us-western-v1"
},
"month": {
"type": "integer",
"minimum": 1,
"maximum": 12
},
"day": {
"type": "integer",
"minimum": 1,
"maximum": 31
},
"send_on": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"kind",
"calendar"
],
"additionalProperties": false
}
},
"required": [
"design_key",
"design_version",
"message",
"recipient"
],
"additionalProperties": false
},
"schedule": {
"type": "object",
"properties": {
"one_off": {
"type": "boolean",
"const": true
},
"time_zone": {
"type": "string"
},
"birthday_date": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"send_date": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"collection_date": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"arrival_start": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"arrival_end": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"edit_deadline": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"post_by": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"estimate_basis": {
"type": "string"
},
"late": {
"type": "boolean"
},
"leap_day_observed": {
"type": "boolean"
},
"next_year": {
"type": "boolean"
}
},
"required": [
"time_zone",
"birthday_date",
"send_date",
"collection_date",
"arrival_start",
"arrival_end",
"edit_deadline",
"post_by",
"estimate_basis",
"late",
"leap_day_observed",
"next_year"
],
"additionalProperties": false
},
"amount_cents": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"currency": {
"type": "string",
"const": "usd"
},
"offer_version": {
"type": "string"
},
"terms_version": {
"type": "string"
},
"title": {
"type": "string"
},
"artist_name": {
"type": [
"string",
"null"
]
},
"quote_expires_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"fulfillment_status": {
"anyOf": [
{
"type": "string",
"enum": [
"scheduled",
"preparing",
"ready",
"mailed",
"cancel_requested",
"cancelled"
]
},
{
"type": "null"
}
]
},
"mailed_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
},
"cancellable": {
"type": "boolean"
}
},
"required": [
"id",
"revision",
"state",
"payment_state",
"refund_state",
"refund_review_reason",
"tax_review_reason",
"input",
"schedule",
"amount_cents",
"currency",
"offer_version",
"terms_version",
"title",
"artist_name",
"quote_expires_at",
"fulfillment_status",
"mailed_at",
"cancellable"
],
"additionalProperties": false
}
},
"customer_content": {
"type": "object",
"properties": {
"rights_required": {
"type": "boolean"
},
"rights_accepted": {
"type": "boolean"
},
"terms_version": {
"type": "string",
"const": "customer-print-v1"
}
},
"required": [
"rights_required",
"rights_accepted",
"terms_version"
],
"additionalProperties": false
}
},
"required": [
"id",
"revision",
"state",
"payment_state",
"refund_state",
"amount_cents",
"currency",
"card_count",
"tax_ready_count",
"quote_expires_at",
"checkout_url",
"cards"
],
"additionalProperties": false
}
},
"required": [
"order"
],
"additionalProperties": false
}
},
"required": [
"ok",
"data"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🔴cancel_order(order_id, order_access_token, expected_revision, card_ids)
Cancel an eligible purchase at its current revision. Before payment, only whole-purchase cancellation is supported: omit card_ids. After payment, supply returned card_ids to cancel only eligible items, or omit them for the whole eligible purchase. The service verifies ownership and each fulfillment cutoff, and returns actual refund state. Requires the parent order_id and private order_access_token.
Eingabe-Schema
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"order_access_token": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{43}$",
"description": "Private purchase capability. Keep it secret; never put it in a public URL or log."
},
"expected_revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483646
},
"card_ids": {
"description": "Omit to cancel the whole eligible purchase. For a paid purchase, list the returned card IDs to cancel only those eligible items. The service verifies every ID belongs to this order.",
"minItems": 1,
"maxItems": 500,
"type": "array",
"items": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
}
}
},
"required": [
"order_id",
"order_access_token",
"expected_revision"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"const": true
},
"data": {
"type": "object",
"properties": {
"order": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"state": {
"type": "string",
"enum": [
"prepared",
"checkout_pending",
"paid",
"cancel_requested",
"cancelled"
]
},
"payment_state": {
"type": "string",
"enum": [
"unpaid",
"pending",
"paid",
"failed",
"expired",
"refunding",
"refunded"
]
},
"refund_state": {
"type": "string",
"enum": [
"none",
"pending",
"partial",
"succeeded",
"failed",
"unknown"
]
},
"amount_cents": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"currency": {
"type": "string",
"const": "usd"
},
"card_count": {
"type": "integer",
"minimum": 1,
"maximum": 500
},
"tax_ready_count": {
"type": "integer",
"minimum": 0,
"maximum": 500
},
"quote_expires_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"checkout_url": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "null"
}
]
},
"cards": {
"minItems": 1,
"maxItems": 500,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"revision": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"state": {
"type": "string",
"enum": [
"prepared",
"checkout_pending",
"paid",
"cancel_requested",
"cancelled"
]
},
"payment_state": {
"type": "string",
"enum": [
"unpaid",
"pending",
"paid",
"failed",
"expired",
"refunding",
"refunded"
]
},
"refund_state": {
"type": "string",
"enum": [
"none",
"pending",
"processing",
"succeeded",
"failed",
"unknown"
]
},
"refund_review_reason": {
"type": [
"string",
"null"
]
},
"tax_review_reason": {
"type": [
"string",
"null"
]
},
"input": {
"type": "object",
"properties": {
"design_key": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"design_version": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 2147483646
},
"message": {
"type": "string",
"maxLength": 4000,
"description": "Personal message, at most 2000 Unicode characters. Printed artwork wording is separate."
},
"format": {
"description": "Postcard, flat card in an envelope, or folded card in an envelope. Omit to select flat_card_in_envelope.",
"type": "string",
"enum": [
"postcard",
"flat_card_in_envelope",
"folded_card_in_envelope"
]
},
"message_font": {
"type": "string",
"enum": [
"serif",
"sans_serif",
"old_school",
"handwriting"
]
},
"include_paddock_gift": {
"type": "boolean"
},
"recipient": {
"type": "object",
"properties": {
"display_name": {
"type": "string",
"maxLength": 240
},
"greeting_name": {
"type": "string",
"maxLength": 240
},
"birthday_month": {
"type": "integer",
"minimum": 0,
"maximum": 12
},
"birthday_day": {
"type": "integer",
"minimum": 0,
"maximum": 31
},
"birthday_year": {
"anyOf": [
{
"type": "integer",
"minimum": 1,
"maximum": 9999
},
{
"type": "null"
}
]
},
"anniversary_month": {
"type": "integer",
"minimum": 0,
"maximum": 12
},
"anniversary_day": {
"type": "integer",
"minimum": 0,
"maximum": 31
},
"mailing_address": {
"type": "object",
"properties": {
"line1": {
"type": "string",
"maxLength": 320
},
"line2": {
"type": "string",
"maxLength": 320
},
"locality": {
"type": "string",
"maxLength": 320
},
"region": {
"type": "string",
"maxLength": 160
},
"postal_code": {
"type": "string",
"maxLength": 48
},
"country_code": {
"type": "string",
"pattern": "^[A-Z]{2}$"
}
},
"required": [
"line1",
"line2",
"locality",
"region",
"postal_code",
"country_code"
],
"additionalProperties": false
},
"address_confirmed": {
"type": "boolean",
"const": true
},
"origin": {
"type": "string",
"const": "manual"
}
},
"required": [
"display_name",
"birthday_month",
"birthday_day",
"mailing_address",
"address_confirmed",
"origin"
],
"additionalProperties": false
},
"return_address": {
"type": "object",
"properties": {
"display_name": {
"type": "string",
"maxLength": 240
},
"mailing_address": {
"type": "object",
"properties": {
"line1": {
"type": "string",
"maxLength": 320
},
"line2": {
"type": "string",
"maxLength": 320
},
"locality": {
"type": "string",
"maxLength": 320
},
"region": {
"type": "string",
"maxLength": 160
},
"postal_code": {
"type": "string",
"maxLength": 48
},
"country_code": {
"type": "string",
"pattern": "^[A-Z]{2}$"
}
},
"required": [
"line1",
"line2",
"locality",
"region",
"postal_code",
"country_code"
],
"additionalProperties": false
},
"source_kind": {
"type": "string",
"const": "manual"
}
},
"required": [
"display_name",
"mailing_address",
"source_kind"
],
"additionalProperties": false
},
"occasion": {
"description": "Optional occasion and timing context, independent of the selected artwork. Omit for an ordinary just-because card.",
"type": "object",
"properties": {
"kind": {
"type": "string",
"minLength": 1,
"maxLength": 100
},
"calendar": {
"type": "string",
"const": "us-western-v1"
},
"month": {
"type": "integer",
"minimum": 1,
"maximum": 12
},
"day": {
"type": "integer",
"minimum": 1,
"maximum": 31
},
"send_on": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"kind",
"calendar"
],
"additionalProperties": false
}
},
"required": [
"design_key",
"design_version",
"message",
"recipient"
],
"additionalProperties": false
},
"schedule": {
"type": "object",
"properties": {
"one_off": {
"type": "boolean",
"const": true
},
"time_zone": {
"type": "string"
},
"birthday_date": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"send_date": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"collection_date": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"arrival_start": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"arrival_end": {
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
"edit_deadline": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"post_by": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"estimate_basis": {
"type": "string"
},
"late": {
"type": "boolean"
},
"leap_day_observed": {
"type": "boolean"
},
"next_year": {
"type": "boolean"
}
},
"required": [
"time_zone",
"birthday_date",
"send_date",
"collection_date",
"arrival_start",
"arrival_end",
"edit_deadline",
"post_by",
"estimate_basis",
"late",
"leap_day_observed",
"next_year"
],
"additionalProperties": false
},
"amount_cents": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"currency": {
"type": "string",
"const": "usd"
},
"offer_version": {
"type": "string"
},
"terms_version": {
"type": "string"
},
"title": {
"type": "string"
},
"artist_name": {
"type": [
"string",
"null"
]
},
"quote_expires_at": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
"fulfillment_status": {
"anyOf": [
{
"type": "string",
"enum": [
"scheduled",
"preparing",
"ready",
"mailed",
"cancel_requested",
"cancelled"
]
},
{
"type": "null"
}
]
},
"mailed_at": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
},
{
"type": "null"
}
]
},
"cancellable": {
"type": "boolean"
}
},
"required": [
"id",
"revision",
"state",
"payment_state",
"refund_state",
"refund_review_reason",
"tax_review_reason",
"input",
"schedule",
"amount_cents",
"currency",
"offer_version",
"terms_version",
"title",
"artist_name",
"quote_expires_at",
"fulfillment_status",
"mailed_at",
"cancellable"
],
"additionalProperties": false
}
},
"customer_content": {
"type": "object",
"properties": {
"rights_required": {
"type": "boolean"
},
"rights_accepted": {
"type": "boolean"
},
"terms_version": {
"type": "string",
"const": "customer-print-v1"
}
},
"required": [
"rights_required",
"rights_accepted",
"terms_version"
],
"additionalProperties": false
}
},
"required": [
"id",
"revision",
"state",
"payment_state",
"refund_state",
"amount_cents",
"currency",
"card_count",
"tax_ready_count",
"quote_expires_at",
"checkout_url",
"cards"
],
"additionalProperties": false
}
},
"required": [
"order"
],
"additionalProperties": false
}
},
"required": [
"ok",
"data"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}⚪report_feedback(kind, operation, category, severity, code, ...)
Optionally report a technical problem, suggestion category or neutral successful outcome using fixed choices. Never required to buy a card. Do not include personal content, credentials, links, conversations or hidden reasoning. Reports are unverified feedback, not proof of payment or mailing.
Eingabe-Schema
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"problem",
"suggestion",
"success"
]
},
"operation": {
"type": "string",
"enum": [
"search_cards",
"prepare_order",
"read_order",
"cancel_order",
"checkout",
"connection",
"documentation"
]
},
"category": {
"type": "string",
"enum": [
"no_suitable_card",
"irrelevant_results",
"unclear_result",
"preview_unavailable",
"request_rejected",
"slow_response",
"unexpected_error",
"recovery_failed",
"broader_selection",
"clearer_results",
"better_recovery",
"simpler_checkout",
"faster_responses",
"better_documentation",
"completed_as_expected"
]
},
"severity": {
"type": "string",
"enum": [
"none",
"minor",
"major",
"blocked"
]
},
"code": {
"default": "none",
"description": "Reported public error code only; no provider error text.",
"type": "string",
"enum": [
"none",
"INVALID_REQUEST",
"CARD_VALIDATION_FAILED",
"NOT_FOUND",
"CONFLICT",
"GONE",
"CATALOG_ARTWORK_UNAVAILABLE",
"CARD_SAMPLE_ACCEPTANCE_REQUIRED",
"CARD_ARTWORK_ACCEPTANCE_REQUIRED",
"ARTIST_PRINT_SETUP_REQUIRED",
"DESTINATION_INVALID",
"DESTINATION_SUSPENDED",
"DESTINATION_REVIEW_REQUIRED",
"MESSAGE_DOES_NOT_FIT",
"RETURN_ADDRESS_REQUIRED",
"PRICE_CHANGED",
"QUOTE_EXPIRED",
"PAYMENT_UNAVAILABLE",
"CHECKOUT_UNAVAILABLE",
"CANCELLATION_NOT_ALLOWED",
"REFUND_NOT_ELIGIBLE",
"SERVICE_PAUSED",
"TRY_LATER",
"UNAVAILABLE"
]
},
"field": {
"default": "none",
"description": "Reported field name only; never its value.",
"type": "string",
"enum": [
"none",
"design_key",
"design_version",
"format",
"message",
"recipient.mailing_address",
"return_address",
"occasion",
"price",
"printed_text",
"availability",
"preview"
]
}
},
"required": [
"kind",
"operation",
"category",
"severity"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"ok": {
"type": "boolean",
"const": true
},
"data": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"recorded",
"duplicate"
]
},
"verification": {
"type": "string",
"const": "unverified_report"
}
},
"required": [
"status",
"verification"
],
"additionalProperties": false
}
},
"required": [
"ok",
"data"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Community
Nachweis