openapi: 3.0.3 info: title: Admin Account / Address Checkout / Payments API contact: name: Spree Commerce url: https://spreecommerce.org email: hello@spreecommerce.org description: "Spree Admin API v3 - Administrative API for managing products, orders, and store settings.\n\n## Authentication\n\nThe Admin API requires a secret API key passed in the `x-spree-api-key` header.\nSecret API keys can be generated in the Spree admin dashboard.\n\n## Response Format\n\nAll responses are JSON. List endpoints return paginated responses with `data` and `meta` keys.\nSingle resource endpoints return a flat JSON object.\n\n## Resource IDs\n\nEvery resource is identified by an opaque string ID (e.g. `prod_86Rf07xd4z`,\n`variant_k5nR8xLq`, `or_UkLWZg9DAJ`). Use these IDs everywhere — URL paths,\nrequest bodies, and Ransack filters all accept them directly.\n\n## Error Handling\n\nErrors return a consistent format:\n```json\n{\n \"error\": {\n \"code\": \"validation_error\",\n \"message\": \"Validation failed\",\n \"details\": { \"name\": [\"can't be blank\"] }\n }\n}\n```\n" version: v3 servers: - url: http://{defaultHost} variables: defaultHost: default: localhost:3000 tags: - name: Checkout / Payments paths: /api/v2/storefront/checkout/create_payment: post: description: 'Creates new Payment for the current checkout. You can either create new payment source (eg. a Credit Card) or use an existing (for signed in users only). Newly created payment source will be associated to the current signed in user. System will automatically invalidate previous (non-finalized) payments (excluding store credit / gift card payments). [More details on payment system](/developer/core-concepts/payments)' operationId: create-payment responses: '200': $ref: '#/components/responses/Cart' '404': $ref: '#/components/responses/404NotFound' '422': $ref: '#/components/responses/422UnprocessableEntity' security: - orderToken: [] - bearerAuth: [] requestBody: content: application/vnd.api+json: schema: type: object properties: payment_method_id: type: string description: ID of the selected Payment Method source_id: type: string description: ID of the selected Payment Source (eg. Credit Card, only for signed in users) amount: type: number description: Amount for the newly created payment, when left blank will use the entire Order Total (reduced by used Store Credits / Gift Cards) source_attributes: type: object properties: gateway_payment_profile_id: type: string description: Payment source authorization token, more details for [Stripe implementation](https://stripe.com/docs/payments/accept-a-payment-charges#web-create-token) cc_type: type: string enum: - visa - mastercard - amex last_digits: type: string description: Last 4 digits of CC number month: type: number description: Expiration date month year: type: number description: Expiration date year name: type: string description: Card holder name required: - gateway_payment_profile_id - name required: - payment_method_id examples: Create new Credit Card: value: payment_method_id: '1' source_attributes: gateway_payment_profile_id: card_1JqvNB2eZvKYlo2C5OlqLV7S cc_type: visa last_digits: '1111' month: 10 year: 2026 name: John Snow Use existing Credit Card: value: payment_method_id: '1' source_id: '1' description: '' parameters: - $ref: '#/components/parameters/CartIncludeParam' - $ref: '#/components/parameters/SparseFieldsCart' summary: Create new Payment tags: - Checkout / Payments /api/v2/storefront/checkout/payment_methods: get: description: Returns a list of available payment methods for this checkout. tags: - Checkout / Payments operationId: payment-methods responses: '200': $ref: '#/components/responses/PaymentMethodList' '404': $ref: '#/components/responses/404NotFound' security: - orderToken: [] - bearerAuth: [] summary: List Payment Methods components: schemas: LineItem: title: Line Item type: object x-internal: false properties: id: type: string example: '1' type: type: string default: line_item attributes: type: object properties: name: type: string example: Sample product quantity: type: integer example: 1 slug: type: string example: sample-product options_text: type: string example: 'Size: small, Color: red' price: type: string example: '125.0' description: Price of Product per quantity currency: type: string example: USD display_price: type: string example: $125.00 description: Price of Product per quantity total: type: string example: '250.0' description: Total price of Line Item including adjastments, promotions and taxes display_total: type: string example: $250.00 description: Total price of Line Item including adjastments, promotions and taxes adjustment_total: type: string example: '10.0' description: TBD display_adjustment_total: type: string example: $10.00 description: TBD additional_tax_total: type: string example: '5.0' display_additional_tax_total: type: string example: $5.00 discounted_amount: type: string example: '125.0' display_discounted_amount: type: string example: $125.00 pre_tax_amount: type: string example: '125.0' display_pre_tax_amount: type: string example: $125.00 promo_total: type: string example: '-5.0' display_promo_total: type: string included_tax_total: type: string example: '0.0' description: Taxes included in the price, eg. VAT display_inluded_tax_total: type: string example: $0.00 compare_at_amount: type: string example: '290.99' description: Compare at price of the Line Item display_compare_at_amount: type: string example: $290.99 description: Display compare at price of the Line Item public_metadata: type: object example: recommended_by_us: true description: The public metadata for the Line Item. relationships: type: object properties: variant: type: object properties: data: $ref: '#/components/schemas/Relation' digital_links: type: object properties: data: type: array items: $ref: '#/components/schemas/Relation' required: - id - type - attributes - relationships description: '' Timestamp: type: string format: date-time example: '2020-02-16T07:14:54.617Z' x-internal: false title: Time Stamp x-examples: example-1: '2020-02-16T07:14:54.617Z' Error: x-internal: false title: Error type: object properties: error: type: string Promotion: type: object title: Promotion properties: id: type: string example: '1' type: type: string default: promotion attributes: type: object properties: name: type: string example: 10% Discount description: type: string example: Super discount for you amount: type: string example: '-10.0' display_amount: type: string example: -$10.00 code: type: string example: BLK-FRI required: - id - type - attributes x-internal: false Cart: description: The Cart provides a central place to collect information about an order, including line items, adjustments, payments, addresses, and shipments. [Read more in Spree docs](/developer/core-concepts/orders) type: object title: Cart x-internal: false properties: id: type: string example: '1' type: type: string default: cart attributes: type: object properties: number: type: string example: R123456789 description: Used as the **{order_number}** value in the URI to identify a completed order. token: type: string example: eL0nVxe1Aum-Qr9-UkryPA1633360128076 description: Used for authorizing actions through the `X-Spree-Order-Token` API Key. item_total: type: string example: '19.99' subtotal_cents: type: integer example: 1999 store_credit_total_cents: type: integer example: 0 total: type: string example: '29.99' total_cents: type: integer example: 2999 total_minus_store_credits: type: string example: '29.99' total_minus_store_credits_cents: type: integer example: 2999 ship_total: type: string example: '5.0' ship_total_cents: type: integer example: 500 adjustment_total: type: string example: '10.0' created_at: $ref: '#/components/schemas/Timestamp' updated_at: $ref: '#/components/schemas/Timestamp' completed_at: type: string format: date-time nullable: true included_tax_total: type: string example: '5.00' additional_tax_total: type: string example: '5.0' display_additional_tax_total: type: string example: $5.00 tax_total: type: string example: '10.0' tax_total_cents: type: integer example: 1000 currency: type: string example: USD state: type: string example: cart enum: - cart - address - delivery - payment - confirm - complete description: "State of the Cart in the Checkout flow. Please see \n The Order State machine\n for a full list with description." email: type: string format: email example: spree@example.com nullable: true display_item_total: type: string example: $19.99 display_ship_total: type: string example: $19.99 display_adjustment_total: type: string example: $10.00 display_included_tax_total: type: string example: $5.00 promo_total: type: string example: '-10.0' promo_total_cents: type: integer example: -1000 display_promo_total: type: string example: -$10.00 item_count: type: number description: Total quantity number of all items added to the Cart example: 2 minimum: 0 special_instructions: type: string example: Please wrap it as a gift description: Message added by the Customer nullable: true display_total: type: string example: $29.99 display_total_minus_store_credits: type: string example: $29.99 pre_tax_item_amount: type: string example: '17.00' display_pre_tax_item_amount: type: string example: $17.00 pre_tax_total: type: string example: '20.00' display_tax_total: type: string example: $10.00 display_pre_tax_total: type: string example: $20.00 shipment_state: type: string enum: - pending - backorder - canceled - partial - ready - shipped - null description: "Overall state of the Shipments. Please see \n Order Shipments states\n for a full list with description." nullable: true payment_state: type: string enum: - balance_due - credit_owed - failed - paid - void - null description: "Overall state of the Payments. Please see \n Order Payments states\n for a full list with description." nullable: true relationships: type: object properties: line_items: type: object description: '' properties: data: type: array items: $ref: '#/components/schemas/Relation' variants: type: object properties: data: type: array items: $ref: '#/components/schemas/Relation' promotions: type: object properties: data: type: array items: $ref: '#/components/schemas/Relation' payments: type: object properties: data: type: array items: $ref: '#/components/schemas/Relation' shipments: type: object properties: data: type: array items: $ref: '#/components/schemas/Relation' user: type: object properties: data: $ref: '#/components/schemas/Relation' billing_address: type: object properties: data: $ref: '#/components/schemas/Relation' shipping_address: type: object properties: data: $ref: '#/components/schemas/Relation' required: - id - type - attributes - relationships DigitalLink: title: Digital Link type: object x-internal: false properties: id: type: string example: '1' type: type: string default: digital_link attributes: type: object properties: token: type: string example: Gn6srBmmR4KrWy73LRtrBKYw relationships: type: object properties: line_item: type: object properties: data: $ref: '#/components/schemas/Relation' description: Digital links are accessible in the order includes line_items.digital_links CartIncludes: x-internal: false title: Cart Includes anyOf: - $ref: '#/components/schemas/LineItem' - $ref: '#/components/schemas/Promotion' - $ref: '#/components/schemas/Variant' - $ref: '#/components/schemas/Payment' - $ref: '#/components/schemas/User' - $ref: '#/components/schemas/Shipment' - $ref: '#/components/schemas/DigitalLink' - $ref: '#/components/schemas/Product' description: '' Relation: type: object nullable: true properties: id: type: string type: type: string required: - id - type x-internal: false description: '' Shipment: type: object title: Shipment x-internal: false properties: id: type: string example: '1' type: type: string default: shipment attributes: type: object properties: number: type: string example: H121354 description: Unique Shipment identifier free: type: boolean description: Indicates if the Shipping Rate is free, eg. when Free shipping promo applied to Cart final_price: type: string example: '10.0' description: Price to be presented for the Customer display_final_price: type: string example: $10.00 tracking_url: type: string example: https://tools.usps.com/go/TrackConfirmAction?tRef=fullpage&tLc=2&text28777=&tLabels=4123412434%2C description: Tracking URL to the service provider website nullable: true state: type: string example: shipped enum: - pending - ready - shipped - canceled description: "Status of the Shipment. For a list of all available statuses please refer: \n Shipment section in Spree Guides\n" shipped_at: type: string format: date-time example: '2021-01-02 13:42:12' description: Date when Shipment was being sent from the warehouse nullable: true relationships: type: object properties: stock_location: type: object properties: data: $ref: '#/components/schemas/Relation' shipping_rates: type: object properties: data: type: array items: allOf: - $ref: '#/components/schemas/Relation' required: - id - type - attributes - relationships PaymentMethod: title: Payment Method description: '' type: object x-internal: false properties: id: type: string example: '1' type: type: string default: payment_method attributes: type: object properties: type: type: string example: Spree::Gateway::StripeGateway name: type: string example: Stripe description: type: string example: Stripe Payments nullable: true preferences: type: object required: - id - type - attributes User: type: object title: User description: ' ' x-internal: false properties: id: type: string example: '1' type: type: string default: user attributes: type: object properties: email: type: string example: spree@example.com first_name: type: string example: John last_name: type: string example: Doe selected_locale: type: string example: fr store_credits: type: number example: 150.75 completed_orders: type: number example: 3 description: Number of placed Orders by this User tags: type: array items: type: string description: List of tags associated with the user public_metadata: type: object example: user_segment: supplier description: The public metadata for this User relationships: type: object properties: default_billing_address: type: object description: Default billing address associated with this Account properties: data: $ref: '#/components/schemas/Relation' default_shipping_address: type: object description: Default shipping address associated with this Account properties: data: $ref: '#/components/schemas/Relation' required: - id - type - attributes - relationships Product: type: object title: Product x-internal: false properties: id: type: string example: '1' type: type: string default: product attributes: type: object properties: name: type: string example: Example product description: type: string example: Example description nullable: true available_on: type: string example: '2012-10-17T03:43:57Z' nullable: true slug: type: string example: example-product price: type: string example: '15.99' nullable: true currency: type: string example: USD display_price: type: string example: $15.99 nullable: true purchasable: type: boolean description: Indicates if any of Variants are in stock or backorderable in_stock: type: boolean description: Indicates if any of Variants are in stock backorderable: type: boolean description: Indicates if any of Variants are backeorderable meta_description: type: string example: Example product nullable: true meta_keywords: type: string example: example, product nullable: true updated_at: $ref: '#/components/schemas/Timestamp' sku: type: string example: 9238-WS available: type: boolean compare_at_price: type: string example: '49.99' nullable: true display_compare_at_price: type: string example: $49.99 nullable: true localized_slugs: type: object description: Provides product's slugs in other locales tags: type: array items: type: string description: List of tags associated with the product labels: type: array items: type: string description: List of labels associated with the product relationships: type: object properties: variants: type: object description: List of Product Variants, excluding Master Variant properties: data: type: array items: $ref: '#/components/schemas/Relation' option_types: type: object description: List of Product Option Types properties: data: type: array items: $ref: '#/components/schemas/Relation' product_properties: type: object description: List of Product Properties properties: data: type: array items: $ref: '#/components/schemas/Relation' taxons: type: object description: List of Taxons associated with this Product properties: data: type: array items: $ref: '#/components/schemas/Relation' images: type: object description: List of Images associated with this Product properties: data: type: array items: $ref: '#/components/schemas/Relation' default_variant: type: object description: The default Variant for this product properties: data: $ref: '#/components/schemas/Relation' primary_variant: type: object description: The Primary Variant for this product properties: data: $ref: '#/components/schemas/Relation' required: - id - type - attributes - relationships Variant: title: Variant description: 'Variant records track the individual variants of a Product. Variants are of two types: master variants and normal variants.' x-examples: {} type: object x-internal: false properties: id: type: string example: '1' type: type: string default: variant attributes: type: object properties: sku: type: string example: SKU-1001 price: type: string example: '15.99' currency: type: string example: USD display_price: type: string example: $15.99 weight: type: string example: '10' nullable: true height: type: string example: '10' nullable: true width: type: string example: '10' nullable: true depth: type: string example: '10' nullable: true is_master: type: boolean description: Indicates if Variant is the master Variant options_text: type: string example: 'Size: small, Color: red' options: type: array items: type: object properties: name: type: string value: type: string presentation: type: string purchasable: type: boolean description: Indicates if Variant is in stock or backorderable in_stock: type: boolean description: Indicates if Variant is in stock backorderable: type: boolean relationships: type: object properties: product: type: object properties: data: $ref: '#/components/schemas/Relation' images: type: object properties: data: type: array items: $ref: '#/components/schemas/Relation' option_values: type: object properties: data: type: array items: $ref: '#/components/schemas/Relation' required: - id - type - attributes - relationships Payment: title: Payment type: object description: '' x-internal: false properties: id: type: string type: type: string default: payment attributes: type: object properties: amount: type: string default: '200.57' response_code: type: integer default: 192 number: type: string default: PV7B4YH0 cvv_response_code: type: integer default: 200 cvv_response_message: type: string default: authorized payment_method_id: type: integer default: 1 payment_method_name: type: string default: Credit Card state: type: string default: paid relationships: type: object properties: source: type: object properties: data: $ref: '#/components/schemas/Relation' payment_method: type: object properties: data: $ref: '#/components/schemas/Relation' required: - id - type - attributes - relationships responses: 404NotFound: description: 404 Not Found - Resource not found. content: application/vnd.api+json: schema: properties: error: type: string example: The resource you were looking for could not be found. default: The resource you were looking for could not be found. examples: 404 Example: value: error: The resource you were looking for could not be found. PaymentMethodList: description: 200 Success - Returns an array of `payment_method` objects. content: application/vnd.api+json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/PaymentMethod' required: - data examples: List of Payment Methods: value: data: - id: '1' type: payment_method attributes: type: Spree::Gateway::Bogus name: Credit Card description: Bogus payment gateway. preferences: dummy_key: PUBLICKEY123 - id: '2' type: payment_method attributes: type: Spree::PaymentMethod::Check name: Check description: Pay by check. preferences: {} Cart: description: 200 Success - Returns the `cart` object. content: application/vnd.api+json: schema: type: object properties: data: $ref: '#/components/schemas/Cart' included: type: array items: $ref: '#/components/schemas/CartIncludes' required: - data examples: Empty Cart: value: data: id: '17' type: cart attributes: number: R233871560 item_total: '0.0' total: '0.0' subtotal_cents: 0 store_credit_total_cents: 0 total_cents: 0 total_minus_store_credits: '0.0' total_minus_store_credits_cents: 0 ship_total: '0.0' ship_total_cents: 0 adjustment_total: '0.0' created_at: '2021-09-28T22:15:07.471Z' updated_at: '2021-09-28T22:15:07.471Z' completed_at: null included_tax_total: '0.0' additional_tax_total: '0.0' display_additional_tax_total: $0.00 display_included_tax_total: $0.00 tax_total: '0.0' tax_total_cents: 0 currency: USD state: cart token: zTEpsukRq_yEUcXVCSv0uw1632867307450 email: null display_item_total: $0.00 display_ship_total: $0.00 display_adjustment_total: $0.00 display_tax_total: $0.00 promo_total: '0.0' display_promo_total: $0.00 promo_total_cents: 0 item_count: 0 special_instructions: null display_total: $0.00 display_total_minus_store_credits: $0.00 pre_tax_item_amount: '0.0' display_pre_tax_item_amount: $0.00 pre_tax_total: '0.0' display_pre_tax_total: $0.00 shipment_state: null payment_state: null relationships: line_items: data: [] variants: data: [] promotions: data: [] payments: data: [] shipments: data: [] user: data: null billing_address: data: null shipping_address: data: null Populated Cart: value: data: id: '11' type: cart attributes: number: R823511564 item_total: '287.97' subtotal_cents: 28797 total: '316.0' store_credit_total_cents: 0 total_cents: 31600 total_minus_store_credits: '316.0' total_minus_store_credits_cents: 31600 ship_total: '5.0' ship_total_cents: 500 adjustment_total: '23.03' created_at: '2021-09-28T12:57:15.148Z' updated_at: '2021-09-28T13:06:02.689Z' completed_at: null included_tax_total: '26.18' additional_tax_total: '51.83' display_additional_tax_total: $51.83 display_included_tax_total: $26.18 tax_total: '78.01' tax_total_cents: 7801 currency: USD state: payment token: VDK_6q_NNdWFc81VZRpUfQ1632833835148 email: spree@example.com display_item_total: $287.97 display_ship_total: $5.00 display_adjustment_total: $23.03 display_tax_total: $78.01 promo_total: '-28.8' display_promo_total: -$28.80 promo_total_cents: -2880 item_count: 3 special_instructions: null display_total: $316.00 display_total_minus_store_credits: 31600 pre_tax_item_amount: '261.7909' display_pre_tax_item_amount: $261.79 pre_tax_total: '266.7909' display_pre_tax_total: $266.79 shipment_state: null payment_state: null relationships: line_items: data: - id: '6' type: line_item variants: data: - id: '130' type: variant promotions: data: - id: '2' type: promotion payments: data: [] shipments: data: - id: '7' type: shipment user: data: id: '1' type: user billing_address: data: id: '25' type: address shipping_address: data: id: '25' type: address Completed Cart: value: data: id: '18' type: cart attributes: number: R177608027 item_total: '474.95' subtotal_cents: 47495 total: '527.45' store_credit_total_cents: 0 total_cents: 52745 total_minus_store_credits: '527.45' total_minus_store_credits_cents: 52745 ship_total: '5.0' ship_total_cents: 500 adjustment_total: '47.5' created_at: '2021-09-28T22:31:47.401Z' updated_at: '2021-09-28T22:33:20.257Z' completed_at: '2021-09-28T22:33:18.372Z' included_tax_total: '0.0' additional_tax_total: '47.5' display_additional_tax_total: $47.50 display_included_tax_total: $0.00 tax_total: '47.5' currency: USD state: complete token: 5DUe7Jg40Lu-SoEvAKRKcQ1632868307387 email: spree@example.com display_item_total: $474.95 display_ship_total: $5.00 display_adjustment_total: $47.50 display_tax_total: $47.50 promo_total: '0.0' promo_total_cents: 0 display_promo_total: $0.00 item_count: 5 special_instructions: null display_total: $527.45 display_total_minus_store_credits: 52745 pre_tax_item_amount: '474.95' display_pre_tax_item_amount: $474.95 pre_tax_total: '479.95' display_pre_tax_total: $479.95 shipment_state: ready payment_state: paid relationships: line_items: data: - id: '1' type: line_item variants: data: - id: '131' type: variant promotions: data: - id: '2' type: promotion payments: data: - id: '1' type: payment shipments: data: - id: '1' type: shipment user: data: id: '1' type: user billing_address: data: id: '5' type: address shipping_address: data: id: '5' type: address Completed Cart with all included objects: value: data: id: '18' type: cart attributes: number: R177608027 item_total: '474.95' total: '527.45' ship_total: '5.0' adjustment_total: '47.5' created_at: '2021-09-28T22:31:47.401Z' updated_at: '2021-09-28T22:57:22.132Z' completed_at: '2021-09-28T22:33:18.372Z' included_tax_total: '0.0' additional_tax_total: '47.5' display_additional_tax_total: $47.50 display_included_tax_total: $0.00 tax_total: '47.5' currency: USD state: complete token: 5DUe7Jg40Lu-SoEvAKRKcQ1632868307387 email: spree@example.com display_item_total: $474.95 display_ship_total: $5.00 display_adjustment_total: $47.50 display_tax_total: $47.50 promo_total: '0.0' display_promo_total: $0.00 item_count: 5 special_instructions: null display_total: $527.45 pre_tax_item_amount: '474.95' display_pre_tax_item_amount: $474.95 pre_tax_total: '479.95' display_pre_tax_total: $479.95 shipment_state: shipped payment_state: paid relationships: line_items: data: - id: '1' type: line_item variants: data: - id: '131' type: variant promotions: data: - id: '2' type: promotion payments: data: - id: '1' type: payment shipments: data: - id: '1' type: shipment user: data: id: '1' type: user billing_address: data: id: '5' type: address shipping_address: data: id: '5' type: address included: - id: '1' type: line_item attributes: name: 3 4 Sleeve T Shirt quantity: 5 price: '94.99' slug: 3-4-sleeve-t-shirt options_text: 'Color: white, Size: XS' currency: USD display_price: $94.99 total: '522.45' display_total: $522.45 adjustment_total: '47.5' display_adjustment_total: $47.50 additional_tax_total: '47.5' discounted_amount: '474.95' display_discounted_amount: $474.95 display_additional_tax_total: $47.50 promo_total: '0.0' display_promo_total: $0.00 included_tax_total: '0.0' display_included_tax_total: $0.00 pre_tax_amount: '474.95' display_pre_tax_amount: $474.95 compare_at_amount: '599.99' display_compare_at_amount: $599.99 relationships: variant: data: id: '131' type: variant - id: '2' type: image attributes: transformed_url: null styles: - url: /rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ac481084a722edc7b7da2d96a29c3c4f4081c234/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDem9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2REdkeVlYWnBkSGxKSWd0alpXNTBaWElHT3daVU9ndHlaWE5wZW1WSklnczBPSGcwT0Q0R093WlVPZ3RsZUhSbGJuUkFDRG9QWW1GamEyZHliM1Z1WkVraUNYTm9iM2NHT3daVU9neHhkV0ZzYVhSNWFWVT0iLCJleHAiOm51bGwsInB1ciI6InZhcmlhdGlvbiJ9fQ==--d0a7a0441914cd12bba3deaa22e75ad707bbe414/Screenshot%202021-09-22%20at%2011.49.05.png size: 48x48> width: '48' height: '48' - url: /rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ac481084a722edc7b7da2d96a29c3c4f4081c234/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDem9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2REdkeVlYWnBkSGxKSWd0alpXNTBaWElHT3daVU9ndHlaWE5wZW1WSklnMHhNREI0TVRBd1BnWTdCbFE2QzJWNGRHVnVkRUFJT2c5aVlXTnJaM0p2ZFc1a1NTSUpjMmh2ZHdZN0JsUTZESEYxWVd4cGRIbHBWUT09IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--d762ce7883e0795601c092269daa49688aa534a2/Screenshot%202021-09-22%20at%2011.49.05.png size: 100x100> width: '100' height: '100' - url: /rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ac481084a722edc7b7da2d96a29c3c4f4081c234/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDem9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2REdkeVlYWnBkSGxKSWd0alpXNTBaWElHT3daVU9ndHlaWE5wZW1WSklnMHlOREI0TWpRd1BnWTdCbFE2QzJWNGRHVnVkRUFJT2c5aVlXTnJaM0p2ZFc1a1NTSUpjMmh2ZHdZN0JsUTZESEYxWVd4cGRIbHBWUT09IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--a2fea1e7c9a6d545cfb8bbe33a5c79fc7f8ec39f/Screenshot%202021-09-22%20at%2011.49.05.png size: 240x240> width: '240' height: '240' - url: /rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ac481084a722edc7b7da2d96a29c3c4f4081c234/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDem9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2REdkeVlYWnBkSGxKSWd0alpXNTBaWElHT3daVU9ndHlaWE5wZW1WSklnMHhOakI0TWpBd1BnWTdCbFE2QzJWNGRHVnVkRUFJT2c5aVlXTnJaM0p2ZFc1a1NTSUpjMmh2ZHdZN0JsUTZESEYxWVd4cGRIbHBWUT09IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--325e7fb25376c8fd2db0ca1da35518354db00b11/Screenshot%202021-09-22%20at%2011.49.05.png size: 160x200> width: '160' height: '200' - url: /rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ac481084a722edc7b7da2d96a29c3c4f4081c234/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDem9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2REdkeVlYWnBkSGxKSWd0alpXNTBaWElHT3daVU9ndHlaWE5wZW1WSklnMDBORGg0TmpBd1BnWTdCbFE2QzJWNGRHVnVkRUFJT2c5aVlXTnJaM0p2ZFc1a1NTSUpjMmh2ZHdZN0JsUTZESEYxWVd4cGRIbHBWUT09IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--3a7df15bde83cebd64c00bfea26fd006c7f25ab2/Screenshot%202021-09-22%20at%2011.49.05.png size: 448x600> width: '448' height: '600' - url: /rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ac481084a722edc7b7da2d96a29c3c4f4081c234/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDem9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2REdkeVlYWnBkSGxKSWd0alpXNTBaWElHT3daVU9ndHlaWE5wZW1WSklnMHlOVFI0TXpRd1BnWTdCbFE2QzJWNGRHVnVkRUFJT2c5aVlXTnJaM0p2ZFc1a1NTSUpjMmh2ZHdZN0JsUTZESEYxWVd4cGRIbHBWUT09IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--438f3bed4c80d9865e1344c03f456aaccd2a9f57/Screenshot%202021-09-22%20at%2011.49.05.png size: 254x340> width: '254' height: '340' - url: /rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ac481084a722edc7b7da2d96a29c3c4f4081c234/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDem9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2REdkeVlYWnBkSGxKSWd0alpXNTBaWElHT3daVU9ndHlaWE5wZW1WSklnMHpOVEI0TkRZNFBnWTdCbFE2QzJWNGRHVnVkRUFJT2c5aVlXTnJaM0p2ZFc1a1NTSUpjMmh2ZHdZN0JsUTZESEYxWVd4cGRIbHBWUT09IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--941f9ccf86ad66e34328dc82c0bef4655208ee17/Screenshot%202021-09-22%20at%2011.49.05.png size: 350x468> width: '350' height: '468' - url: /rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ac481084a722edc7b7da2d96a29c3c4f4081c234/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDem9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2REdkeVlYWnBkSGxKSWd0alpXNTBaWElHT3daVU9ndHlaWE5wZW1WSklnMHlNako0TWprM1BnWTdCbFE2QzJWNGRHVnVkRUFJT2c5aVlXTnJaM0p2ZFc1a1NTSUpjMmh2ZHdZN0JsUTZESEYxWVd4cGRIbHBWUT09IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--87e51af0bc0da167f5be35ba227a2c207dcac76a/Screenshot%202021-09-22%20at%2011.49.05.png size: 222x297> width: '222' height: '297' - url: /rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ac481084a722edc7b7da2d96a29c3c4f4081c234/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDem9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2REdkeVlYWnBkSGxKSWd0alpXNTBaWElHT3daVU9ndHlaWE5wZW1WSklnMHlOemg0TXpjeFBnWTdCbFE2QzJWNGRHVnVkRUFJT2c5aVlXTnJaM0p2ZFc1a1NTSUpjMmh2ZHdZN0JsUTZESEYxWVd4cGRIbHBWUT09IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--af798399e91d3d2d727103129483c0c59acdaa64/Screenshot%202021-09-22%20at%2011.49.05.png size: 278x371> width: '278' height: '371' - url: /rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ac481084a722edc7b7da2d96a29c3c4f4081c234/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDem9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2REdkeVlYWnBkSGxKSWd0alpXNTBaWElHT3daVU9ndHlaWE5wZW1WSklnMDJNREI0TmpBd1BnWTdCbFE2QzJWNGRHVnVkRUFJT2c5aVlXTnJaM0p2ZFc1a1NTSUpjMmh2ZHdZN0JsUTZESEYxWVd4cGRIbHBWUT09IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--8bb21c9fc5f9a942fa9374de8860186465d99f8e/Screenshot%202021-09-22%20at%2011.49.05.png size: 600x600> width: '600' height: '600' - url: /rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ac481084a722edc7b7da2d96a29c3c4f4081c234/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDem9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2REdkeVlYWnBkSGxKSWd0alpXNTBaWElHT3daVU9ndHlaWE5wZW1WSklnMHlOemg0TXpjeFBnWTdCbFE2QzJWNGRHVnVkRUFJT2c5aVlXTnJaM0p2ZFc1a1NTSUpjMmh2ZHdZN0JsUTZESEYxWVd4cGRIbHBWUT09IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--af798399e91d3d2d727103129483c0c59acdaa64/Screenshot%202021-09-22%20at%2011.49.05.png size: 278x371> width: '278' height: '371' - url: /rails/active_storage/representations/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ac481084a722edc7b7da2d96a29c3c4f4081c234/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaDdDem9MWm05eWJXRjBTU0lJY0c1bkJqb0dSVlE2REdkeVlYWnBkSGxKSWd0alpXNTBaWElHT3daVU9ndHlaWE5wZW1WSklnMDJOVEI0T0Rjd1BnWTdCbFE2QzJWNGRHVnVkRUFJT2c5aVlXTnJaM0p2ZFc1a1NTSUpjMmh2ZHdZN0JsUTZESEYxWVd4cGRIbHBWUT09IiwiZXhwIjpudWxsLCJwdXIiOiJ2YXJpYXRpb24ifX0=--5546099d5e7c15cd4ea705d244dddd64f0e47fbc/Screenshot%202021-09-22%20at%2011.49.05.png size: 650x870> width: '650' height: '870' position: 1 alt: '' original_url: /rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBDUT09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ac481084a722edc7b7da2d96a29c3c4f4081c234/Screenshot%202021-09-22%20at%2011.49.05.png - id: '131' type: variant attributes: sku: T-shirts_3_4sleevet-shirt_94.99_white_xs weight: '0.0' height: null width: null depth: null is_master: false options_text: 'Color: white, Size: XS' options: - name: color value: white presentation: White - name: size value: XS presentation: XS purchasable: true in_stock: true backorderable: false currency: USD price: '94.99' display_price: $94.99 compare_at_price: null display_compare_at_price: null relationships: product: data: id: '15' type: product images: data: - id: '2' type: image option_values: data: - id: '1' type: option_value - id: '23' type: option_value - id: '5' type: address attributes: firstname: ' Tyler' lastname: Durden address1: 3029 Street Way Drive address2: Basement Entrance city: LA zipcode: '90210' phone: 09128386372 state_name: California company: Paper Street Soap Co. country_name: United States country_iso3: USA country_iso: US label: null state_code: CA - id: '1' type: user attributes: email: spree@example.com store_credits: 0 completed_orders: 1 relationships: default_billing_address: data: null default_shipping_address: data: null - id: '2' type: promotion attributes: name: Black Friday description: '' amount: '-9.6' display_amount: -$9.60 code: BLKFRI - id: '1' type: payment attributes: amount: '527.45' response_code: null number: PN43O2GK cvv_response_code: null cvv_response_message: null payment_method_id: '2' payment_method_name: Check state: completed relationships: source: data: null payment_method: data: id: '2' type: payment_method - id: '1' type: shipment attributes: number: H77361385341 final_price: '5.0' display_final_price: $5.00 state: shipped shipped_at: '2021-09-28T22:57:22.108Z' tracking_url: null free: false relationships: shipping_rates: data: - id: '10' type: shipping_rate - id: '11' type: shipping_rate - id: '12' type: shipping_rate stock_location: data: id: '1' type: stock_location 422UnprocessableEntity: description: 422 Unprocessable Entity content: application/vnd.api+json: schema: $ref: '#/components/schemas/Error' examples: 422 Example: value: error: Example is invalid errors: example: - Example is invalid parameters: CartIncludeParam: name: include in: query schema: type: string description: Specify the related resources you would like to receive in the response body. [More Information](https://jsonapi.org/format/#fetching-includes). example: line_items,variants,variants.images,billing_address,shipping_address,user,payments,shipments,promotions,gift_card SparseFieldsCart: name: fields[cart] in: query description: Specify the fields you would like returned in the response body. [More information](https://jsonapi.org/format/#fetching-sparse-fieldsets). schema: type: string example: token,currency,number securitySchemes: api_key: type: apiKey name: x-spree-api-key in: header description: Secret API key for admin access bearer_auth: type: http scheme: bearer bearerFormat: JWT description: JWT token for admin user authentication x-tagGroups: - name: Authentication tags: - Authentication - name: Products & Catalog tags: - Products - Variants - Option Types - Custom Fields - Channels - name: Pricing tags: - Pricing - Markets - name: Orders & Fulfillment tags: - Orders - Payments - Fulfillments - Refunds - name: Customers tags: - Customers - Customer Groups - name: Promotions & Gift Cards tags: - Promotions - Gift Cards - name: Data tags: - Exports - name: Configuration tags: - Settings - Stock Locations - Payment Methods - Staff - API Keys - Allowed Origins - Webhooks