Nacelle · Schema

OrderCheckout represents the details of an order/order-checkout.

CommerceHeadless CommerceComposable CommerceGraphQLContentData Indexing

Properties

Name Type Description
applied_discounts array Applied discounts.
billing_address object
client_data object
comment string Any additional comments about the order.
currency string Currency code.
customer object
destination_reference_id string External id of the order in destination service.
discounts string Total discounts.
email string Email of the order.
error object
id string Unique identifier for the order.
metadata object Additional map-like data for any custom extra data.
order_items array Order items.
payments array Payments.
phone string Phone number of the order.
price string Price.
promotion object
shipping_address object
shipping_rate object
shipping_rates array Shipping rates (Order-Checkout).
source_reference_id string External id of the order in source service.
status string Optional merchant status of the order.
subtotal_price string Subtotal price.
tax string Tax amount.
tax_data object
tax_rate string Tax rate.
View JSON Schema on GitHub

JSON Schema

nacelle-order-checkout-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/nacelle/main/json-schema/nacelle-order-checkout-schema.json",
  "title": "OrderCheckout represents the details of an order/order-checkout.",
  "x-generated": "2026-10-14",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/nacelle-order-management-api-experimental-openapi.yml#/components/schemas/OrderCheckout",
  "properties": {
    "applied_discounts": {
      "description": "Applied discounts.",
      "items": {
        "$ref": "#/$defs/DiscountCheckout"
      },
      "type": "array",
      "x-go-name": "AppliedDiscounts"
    },
    "billing_address": {
      "$ref": "#/$defs/AddressCheckout"
    },
    "client_data": {
      "$ref": "#/$defs/ClientData"
    },
    "comment": {
      "description": "Any additional comments about the order.",
      "maximum": 1000,
      "minimum": 1,
      "type": "string",
      "x-go-name": "Comment"
    },
    "currency": {
      "description": "Currency code.",
      "type": "string",
      "x-go-name": "Currency"
    },
    "customer": {
      "$ref": "#/$defs/CustomerCheckout"
    },
    "destination_reference_id": {
      "description": "External id of the order in destination service.",
      "maximum": 100,
      "minimum": 1,
      "type": "string",
      "x-go-name": "DestinationReferenceID"
    },
    "discounts": {
      "description": "Total discounts.",
      "type": "string",
      "x-go-name": "Discounts"
    },
    "email": {
      "description": "Email of the order.",
      "format": "email",
      "type": "string",
      "x-go-name": "Email"
    },
    "error": {
      "$ref": "#/$defs/ErrorResponse"
    },
    "id": {
      "description": "Unique identifier for the order.",
      "format": "uuid",
      "type": "string",
      "x-go-name": "ID"
    },
    "metadata": {
      "additionalProperties": {},
      "description": "Additional map-like data for any custom extra data.",
      "type": "object",
      "x-go-name": "Metadata"
    },
    "order_items": {
      "description": "Order items.",
      "items": {
        "$ref": "#/$defs/OrderItemCheckout"
      },
      "maximum": 100,
      "minimum": 1,
      "type": "array",
      "x-go-name": "OrderItems"
    },
    "payments": {
      "description": "Payments.",
      "items": {
        "$ref": "#/$defs/PaymentCheckout"
      },
      "minimum": 1,
      "type": "array",
      "x-go-name": "Payments"
    },
    "phone": {
      "description": "Phone number of the order.",
      "maximum": 30,
      "type": "string",
      "x-go-name": "Phone"
    },
    "price": {
      "description": "Price.",
      "type": "string",
      "x-go-name": "Price"
    },
    "promotion": {
      "$ref": "#/$defs/PromotionCheckout"
    },
    "shipping_address": {
      "$ref": "#/$defs/AddressCheckout"
    },
    "shipping_rate": {
      "$ref": "#/$defs/ShippingRateCheckout"
    },
    "shipping_rates": {
      "description": "Shipping rates (Order-Checkout).",
      "items": {
        "$ref": "#/$defs/ShippingRateCheckout"
      },
      "maximum": 100,
      "minimum": 1,
      "type": "array",
      "x-go-name": "ShippingRates"
    },
    "source_reference_id": {
      "description": "External id of the order in source service.",
      "maximum": 100,
      "minimum": 1,
      "type": "string",
      "x-go-name": "SourceReferenceID"
    },
    "status": {
      "description": "Optional merchant status of the order.",
      "maximum": 100,
      "minimum": 1,
      "type": "string",
      "x-go-name": "Status"
    },
    "subtotal_price": {
      "description": "Subtotal price.",
      "type": "string",
      "x-go-name": "SubtotalPrice"
    },
    "tax": {
      "description": "Tax amount.",
      "type": "string",
      "x-go-name": "Tax"
    },
    "tax_data": {
      "$ref": "#/$defs/TaxCheckout"
    },
    "tax_rate": {
      "description": "Tax rate.",
      "type": "string",
      "x-go-name": "TaxRate"
    }
  },
  "type": "object",
  "x-go-package": "github.com/getnacelle/noms/docs",
  "$defs": {
    "AddressCheckout": {
      "properties": {
        "address1": {
          "description": "The first line of the address.",
          "maximum": 500,
          "minimum": 1,
          "type": "string",
          "x-go-name": "Address1"
        },
        "address2": {
          "description": "The second line of the address.",
          "maximum": 500,
          "minimum": 1,
          "type": "string",
          "x-go-name": "Address2"
        },
        "city": {
          "description": "The city of the address.",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "City"
        },
        "comment": {
          "description": "Additional comments about the address.",
          "maximum": 1000,
          "minimum": 1,
          "type": "string",
          "x-go-name": "Comment"
        },
        "country_iso2": {
          "description": "The ISO 2-letter country code.",
          "type": "string",
          "x-go-name": "CountryIso2"
        },
        "first_name": {
          "description": "First name",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "FirstName"
        },
        "id": {
          "description": "Unique identifier for the address.",
          "format": "uuid",
          "type": "string",
          "x-go-name": "ID"
        },
        "last_name": {
          "description": "Last name",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "LastName"
        },
        "postal_code": {
          "description": "The postal code.",
          "maximum": 20,
          "minimum": 4,
          "type": "string",
          "x-go-name": "PostalCode"
        },
        "province": {
          "description": "The province of the address.",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "Province"
        },
        "state": {
          "description": "The state of the address.",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "State"
        }
      },
      "type": "object",
      "x-go-package": "github.com/getnacelle/noms/docs"
    },
    "ClientData": {
      "properties": {
        "created_at": {
          "description": "Timestamp of when the client data was created.",
          "x-go-name": "CreatedAt"
        },
        "id": {
          "description": "Unique identifier for client data.",
          "format": "uuid",
          "type": "string",
          "x-go-name": "ID"
        },
        "ip_address": {
          "description": "Client's IP address (IPv4 or IPv6).",
          "type": "string",
          "x-go-name": "IPAddress"
        },
        "metadata": {
          "additionalProperties": {},
          "description": "Additional map-like data for any custom extra data.",
          "type": "object",
          "x-go-name": "Metadata"
        },
        "modified_at": {
          "description": "Timestamp of the last modification to the client data.",
          "x-go-name": "ModifiedAt"
        },
        "user_agent": {
          "description": "Client's User-Agent.",
          "type": "string",
          "x-go-name": "UserAgent"
        }
      },
      "title": "ClientData represents client-related data.",
      "type": "object",
      "x-go-package": "github.com/getnacelle/noms/pkg/dto"
    },
    "CustomerCheckout": {
      "properties": {
        "addresses": {
          "description": "Addresses associated with the customer",
          "items": {
            "$ref": "#/$defs/AddressCheckout"
          },
          "maximum": 100,
          "type": "array",
          "x-go-name": "Addresses"
        },
        "destination_reference_id": {
          "description": "Destination reference ID",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "DestinationReferenceID"
        },
        "email": {
          "description": "Email address of the customer",
          "format": "email",
          "type": "string",
          "x-go-name": "Email"
        },
        "first_name": {
          "description": "First name of the customer",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "FirstName"
        },
        "id": {
          "description": "The unique identifier for the customer",
          "format": "uuid",
          "type": "string",
          "x-go-name": "ID"
        },
        "last_name": {
          "description": "Last name of the customer",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "LastName"
        },
        "metadata": {
          "additionalProperties": {},
          "description": "Metadata associated with the customer as key-value pairs",
          "type": "object",
          "x-go-name": "Metadata"
        },
        "phone": {
          "description": "Phone number of the customer",
          "maximum": 30,
          "type": "string",
          "x-go-name": "Phone"
        },
        "source_reference_id": {
          "description": "Source reference ID",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "SourceReferenceID"
        }
      },
      "type": "object",
      "x-go-package": "github.com/getnacelle/noms/docs"
    },
    "DiscountCheckout": {
      "properties": {
        "amount": {
          "description": "The amount that the discount is for in string-decimal format,",
          "type": "string",
          "x-go-name": "Amount"
        },
        "description": {
          "description": "A description about the discount",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "Description"
        },
        "effect_type": {
          "description": "The effect type that the discount was for. Used to hint on how to deserialize the meta field",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "EffectType"
        },
        "id": {
          "description": "Unique Nacelle identifier for the discount.",
          "format": "uuid",
          "type": "string",
          "x-go-name": "ID"
        },
        "metadata": {
          "additionalProperties": {},
          "description": "Metadata field for additional props the merchant may want to use to display additional context to the user.",
          "type": "object",
          "x-go-name": "Metadata"
        },
        "name": {
          "description": "A descriptive name to display to a user",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "Name"
        }
      },
      "title": "DiscountCheckout contains information about a purchase discount.",
      "type": "object",
      "x-go-package": "github.com/getnacelle/noms/docs"
    },
    "ErrorDetail": {
      "properties": {
        "category": {
          "description": "Category of an error.",
          "type": "string",
          "x-go-name": "Category"
        },
        "message": {
          "description": "Human-readable error message.",
          "type": "string",
          "x-go-name": "Message"
        },
        "metadata": {
          "additionalProperties": {},
          "description": "Additional map-like data for any custom extra data.",
          "type": "object",
          "x-go-name": "Metadata"
        },
        "response_headers": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "ResponseHeaders (if we have any), to be sent with the error response.",
          "type": "object",
          "x-go-name": "ResponseHeaders"
        },
        "response_status": {
          "description": "HTTP status code, to be sent with the error response.",
          "format": "int64",
          "type": "integer",
          "x-go-name": "ResponseStatus"
        },
        "responsibility": {
          "description": "Responsibility type of the error.",
          "type": "string",
          "x-go-name": "Responsibility"
        },
        "severity": {
          "description": "Severity level of the error.",
          "type": "string",
          "x-go-name": "Severity"
        }
      },
      "title": "ErrorDetail represents an error for specific API call / flow step.",
      "type": "object",
      "x-go-package": "github.com/getnacelle/noms/pkg/dto"
    },
    "ErrorResponse": {
      "description": "Error details are collected from multiple API calls, until we reach fatal/error severity and need to stop the flow.\nError details list can be used for deciding what errors we should show to clients (usually Fatal/Error severity).\nFor example, we can show the first Fatal/Error we found in the error details list,\nor we can show all Fatal/Error errors we have.",
      "properties": {
        "details": {
          "description": "Details to provide information about the errors.",
          "items": {
            "$ref": "#/$defs/ErrorDetail"
          },
          "type": "array",
          "x-go-name": "Details"
        }
      },
      "title": "ErrorResponse represents error details for a multi-order / multi-cart.",
      "type": "object",
      "x-go-package": "github.com/getnacelle/noms/pkg/dto"
    },
    "OrderItemCheckout": {
      "properties": {
        "applied_discounts": {
          "description": "List of applied discounts.",
          "items": {
            "$ref": "#/$defs/DiscountCheckout"
          },
          "minimum": 1,
          "type": "array",
          "x-go-name": "AppliedDiscounts"
        },
        "available": {
          "description": "Available (Order-Checkout).",
          "format": "uint64",
          "maximum": 9999,
          "minimum": 1,
          "type": "integer",
          "x-go-name": "Available"
        },
        "canceled_at": {
          "description": "When this Order Item was cancelled.",
          "format": "date-time",
          "type": "string",
          "x-go-name": "CanceledAt"
        },
        "canceled_by": {
          "description": "Who cancelled this OrderItem.",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "CanceledBy"
        },
        "canceled_reason": {
          "description": "Reason for cancelling this OrderItem.",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "CanceledReason"
        },
        "comment": {
          "description": "Additional comment.",
          "maximum": 1000,
          "minimum": 1,
          "type": "string",
          "x-go-name": "Comment"
        },
        "description": {
          "description": "Short description of the product.",
          "maximum": 1000,
          "minimum": 1,
          "type": "string",
          "x-go-name": "Description"
        },
        "destination_reference_id": {
          "description": "External id of the OrderItem in destination service.",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "DestinationReferenceID"
        },
        "discounts_amount": {
          "description": "Discount amount.",
          "type": "string",
          "x-go-name": "DiscountsAmount"
        },
        "id": {
          "description": "Unique identifier for the OrderItem.",
          "format": "uuid",
          "type": "string",
          "x-go-name": "ID"
        },
        "metadata": {
          "additionalProperties": {},
          "description": "Additional map-like data for any custom extra data.",
          "type": "object",
          "x-go-name": "Metadata"
        },
        "price_amount": {
          "description": "Price.",
          "type": "string",
          "x-go-name": "PriceAmount"
        },
        "price_book_id": {
          "description": "Nacelle Price Book ID.",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "PriceBookID"
        },
        "product_id": {
          "description": "Nacelle Product ID.",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "ProductID"
        },
        "quantity": {
          "description": "Quantity.",
          "format": "uint64",
          "maximum": 9999,
          "minimum": 1,
          "type": "integer",
          "x-go-name": "Quantity"
        },
        "sku": {
          "description": "SKU of the product.",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "Sku"
        },
        "source_reference_id": {
          "description": "External id of the OrderItem in source service.",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "SourceReferenceID"
        },
        "status": {
          "description": "Status of the OrderItem.",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "Status"
        },
        "subtotal_price_amount": {
          "description": "Subtotal price.",
          "type": "string",
          "x-go-name": "SubtotalPriceAmount"
        },
        "tax_amount": {
          "description": "Tax amount.",
          "type": "string",
          "x-go-name": "TaxAmount"
        },
        "tax_rate": {
          "description": "Tax rate.",
          "type": "string",
          "x-go-name": "TaxRate"
        },
        "variant_id": {
          "description": "Nacelle Variant ID.",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "VariantID"
        }
      },
      "title": "OrderItemCheckout represents the details of an order item.",
      "type": "object",
      "x-go-package": "github.com/getnacelle/noms/docs"
    },
    "PaymentCheckout": {
      "properties": {
        "amount_value": {
          "description": "The amount of the payment",
          "type": "string",
          "x-go-name": "AmountValue"
        },
        "card_brand": {
          "description": "Brand of the card used for payment",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "CardBrand"
        },
        "currency": {
          "description": "Currency code for the payment.",
          "type": "string",
          "x-go-name": "Currency"
        },
        "external_id": {
          "description": "External ID associated with the payment",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "ExternalID"
        },
        "id": {
          "description": "Unique identifier for the Payment.",
          "format": "uuid",
          "type": "string",
          "x-go-name": "ID"
        },
        "payment_data": {
          "additionalProperties": {},
          "description": "Additional payment data as key-value pairs",
          "type": "object",
          "x-go-name": "PaymentData"
        },
        "payment_method_id": {
          "description": "ID of the payment method",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "PaymentMethodID"
        },
        "payment_type": {
          "description": "Type of payment, e.g., Credit Card",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "PaymentType"
        },
        "processor_name": {
          "description": "Name of the payment processor",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "ProcessorName"
        },
        "processor_status": {
          "description": "Status returned by the payment processor",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "ProcessorStatus"
        },
        "status": {
          "description": "Status of the payment",
          "enum": [
            "created",
            "pending",
            "succeeded",
            "failed",
            "requires_confirmation",
            "balance_due",
            "credit_owed"
          ],
          "type": "string",
          "x-go-name": "Status"
        },
        "transactions": {
          "description": "Transactions associated with the payment",
          "items": {
            "$ref": "#/$defs/Transaction"
          },
          "type": "array",
          "x-go-name": "Transactions"
        }
      },
      "title": "PaymentCheckout contains information about an order payment.",
      "type": "object",
      "x-go-package": "github.com/getnacelle/noms/docs"
    },
    "PromotionCheckout": {
      "properties": {
        "coupon_codes": {
          "description": "Any coupon codes entered.",
          "items": {
            "type": "string"
          },
          "maximum": 100,
          "minimum": 1,
          "type": "array",
          "x-go-name": "CouponCodes"
        },
        "id": {
          "description": "Unique Nacelle identifier for the promotion.",
          "format": "uuid",
          "type": "string",
          "x-go-name": "ID"
        },
        "identifiers": {
          "description": "Session custom identifiers that you can set limits on or use inside your rules.",
          "items": {
            "type": "string"
          },
          "maximum": 100,
          "minimum": 1,
          "type": "array",
          "x-go-name": "Identifiers"
        },
        "loyalty_card": {
          "description": "Any loyalty cards used.",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "LoyaltyCard"
        },
        "metadata": {
          "additionalProperties": {},
          "description": "Metadata fields to store tracking additional ids for promotion systems",
          "type": "object",
          "x-go-name": "Metadata"
        },
        "profile_id": {
          "description": "ID of the customer profile set by your integration layer",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "ProfileID"
        },
        "referral_code": {
          "description": "Any referral code entered.",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "ReferralCode"
        }
      },
      "type": "object",
      "x-go-package": "github.com/getnacelle/noms/docs"
    },
    "ShippingRateCheckout": {
      "properties": {
        "amount": {
          "description": "Price of the shipping rate in string-decimal format,",
          "type": "string",
          "x-go-name": "Amount"
        },
        "currency": {
          "description": "Currency code in ISO 4217 three-letter format,",
          "type": "string",
          "x-go-name": "Currency"
        },
        "delivery_estimate_max": {
          "description": "Value of the upper bound of the estimated range. If empty, represents no upper bound,",
          "format": "uint64",
          "maximum": 9999,
          "minimum": 1,
          "type": "integer",
          "x-go-name": "DeliveryEstimateMax"
        },
        "delivery_estimate_min": {
          "description": "Value of the lower bound of the estimated range. If empty, represents no lower bound,",
          "format": "uint64",
          "maximum": 9999,
          "minimum": 1,
          "type": "integer",
          "x-go-name": "DeliveryEstimateMin"
        },
        "delivery_estimate_unit": {
          "description": "Unit of the delivery estimated range,",
          "enum": [
            "hour",
            "day",
            "business_day",
            "week",
            "month"
          ],
          "type": "string",
          "x-go-name": "DeliveryEstimateUnit"
        },
        "description": {
          "description": "Detailed description of the shipping rate,",
          "maximum": 255,
          "minimum": 1,
          "type": "string",
          "x-go-name": "Description"
        },
        "display_name": {
          "description": "The display name of the shipping rate,",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "DisplayName"
        },
        "external_id": {
          "description": "External (non-nacelle) id of the ShippingRate object from the ShippingRate API service.",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "ExternalID"
        },
        "id": {
          "description": "Unique Nacelle identifier for the shipping rate.",
          "format": "uuid",
          "type": "string",
          "x-go-name": "ID"
        },
        "service_name": {
          "description": "Name of the shipping company,",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "ServiceName"
        },
        "tax_behavior": {
          "description": "Describes if shipping rate price includes taxes,\nexamples: unspecified / inclusive / exclusive",
          "type": "string",
          "x-go-name": "TaxBehavior"
        }
      },
      "type": "object",
      "x-go-package": "github.com/getnacelle/noms/docs"
    },
    "TaxCheckout": {
      "properties": {
        "currency": {
          "type": "string",
          "x-go-name": "Currency"
        },
        "expires_at": {
          "x-go-name": "ExpiresAt"
        },
        "external_id": {
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "ExternalID"
        },
        "id": {
          "description": "Unique Nacelle identifier for the Tax.",
          "format": "uuid",
          "type": "string",
          "x-go-name": "ID"
        },
        "items": {
          "$ref": "#/$defs/TaxItemsDataCheckout"
        },
        "service": {
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "Service"
        },
        "shipping": {
          "$ref": "#/$defs/TaxShippingDataCheckout"
        },
        "tax_date": {
          "x-go-name": "TaxDate"
        }
      },
      "type": "object",
      "x-go-package": "github.com/getnacelle/noms/docs"
    },
    "TaxEntryBreakdownCheckout": {
      "properties": {
        "amount": {
          "type": "string",
          "x-go-name": "Amount"
        },
        "created_at": {
          "description": "Creation timestamp for the TaxEntryBreakdown.",
          "x-go-name": "CreatedAt"
        },
        "display_name": {
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "DisplayName"
        },
        "id": {
          "description": "Unique Nacelle identifier for the TaxEntryBreakdown.",
          "format": "uuid",
          "type": "string",
          "x-go-name": "ID"
        },
        "modified_at": {
          "description": "Modification timestamp for the TaxEntryBreakdown.",
          "x-go-name": "ModifiedAt"
        },
        "percentage": {
          "type": "string",
          "x-go-name": "Percentage"
        },
        "tax_type": {
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "TaxType"
        },
        "taxability_reason": {
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "TaxabilityReason"
        }
      },
      "type": "object",
      "x-go-package": "github.com/getnacelle/noms/docs"
    },
    "TaxEntryCheckout": {
      "properties": {
        "amount": {
          "type": "string",
          "x-go-name": "Amount"
        },
        "breakdown": {
          "items": {
            "$ref": "#/$defs/TaxEntryBreakdownCheckout"
          },
          "maximum": 100,
          "type": "array",
          "x-go-name": "Breakdown"
        },
        "created_at": {
          "description": "Creation timestamp for the TaxEntry.",
          "x-go-name": "CreatedAt"
        },
        "id": {
          "description": "Unique Nacelle identifier for the TaxEntry.",
          "format": "uuid",
          "type": "string",
          "x-go-name": "ID"
        },
        "modified_at": {
          "description": "Modification timestamp for the TaxEntry.",
          "x-go-name": "ModifiedAt"
        },
        "order_item_id": {
          "description": "OrderItem ID (for OrderItem-related tax data only).",
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "OrderItemID"
        },
        "quantity": {
          "description": "Quantity (for OrderItem-related tax data only).",
          "format": "uint64",
          "maximum": 9999,
          "minimum": 1,
          "type": "integer",
          "x-go-name": "Quantity"
        },
        "tax": {
          "type": "string",
          "x-go-name": "Tax"
        },
        "tax_behavior": {
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "TaxBehavior"
        },
        "tax_code": {
          "maximum": 100,
          "minimum": 1,
          "type": "string",
          "x-go-name": "TaxCode"
        }
      },
      "type": "object",
      "x-go-package": "github.com/getnacelle/noms/docs"
    },
    "TaxItemsDataCheckout": {
      "properties": {
        "created_at": {
          "description": "Creation timestamp for the TaxItemsData.",
          "x-go-name": "CreatedAt"
        },
        "entries": {
          "items": {
            "$ref": "#/$defs/TaxEntryCheckout"
          },
          "maximum": 100,
          "type": "array",
          "x-go-name": "Entries"
        },
        "id": {
          "description": "Unique Nacelle identifier for the TaxItemsData.",
          "format": "uuid",
          "type": "string",
          "x-go-name": "ID"
        },
        "modified_at": {
          "description": "Modification timestamp for the TaxItemsData.",
          "x-go-name": "ModifiedAt"
        },
        "price": {
          "type": "string",
          "x-go-name": "Price"
        },
        "subtotal_price": {
          "type": "string",
          "x-go-name": "SubtotalPrice"
        },
        "tax": {
          "type": "string",
          "x-go-name": "Tax"
        }
      },
      "type": "object",
      "x-go-package": "github.com/getnacelle/noms/docs"
    },
    "TaxShippingDataCheckout": {
      "properties": {
        "created_at": {
          "description": "Creation timestamp for the TaxShippingData.",
          "x-go-name": "CreatedAt"
        },
        "entries": {
          "$ref": "#/$defs/TaxEntryCheckout"
        },
        "id": {
          "description": "Unique Nacelle identifier for the TaxShippingData.",
          "format": "uuid",
          "type": "string",
          "x-go-name": "ID"
        },
        "modified_at": {
          "description": "Modification timestamp for the TaxShippingData.",
          "x-go-name": "ModifiedAt"
        },
        "price": {
          "type": "string",
          "x-go-name": "Price"
        },
        "subtotal_price": {
          "type": "string",
          "x-go-name": "SubtotalPrice"
        },
        "tax": {
          "type": "string",
          "x-go-name": "Tax"
        }
      },
      "type": "object",
      "x-go-package": "github.com/getnacelle/noms/docs"
    },
    "Transaction": {
      "properties": {
        "amount": {
          "description": "The Amount of the Transaction",
          "type": "string",
          "x-go-name": "Amount"
        },
        "error": {
          "description": "Error encountered during the Transaction",
          "type": "string",
          "x-go-name": "Error"
        },
        "id": {
          "description": "Unique identifier for the Transaction.",
          "format": "uuid",
          "type": "string",
          "x-go-name": "ID"
        },
        "metadata": {
          "additionalProperties": {},
          "description": "Metadata for the Transaction",
          "type": "object",
          "x-go-name": "Metadata"
        },
        "operation": {
          "description": "Operation of the Transaction",
          "enum": [
            "authorization",
            "authorization_release",
            "charge",
            "refund"
          ],
          "type": "string",
          "x-go-name": "Operation"
        },
        "status": {
          "description": "Status code for the Transaction.",
          "enum": [
    

# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/nacelle/refs/heads/main/json-schema/nacelle-order-checkout-schema.json

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/nacelle-order-checkout"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.