openapi: 3.2.0 info: description: The Order Management API is used to manage orders in the Nacelle Order Management System. This API is currently experimental and is subject to change. title: Order Management API (Experimental) Checkout API version: 0.1.0 servers: - url: https://noms.api.nacelle.com/api/v1 security: - oauth2: [] tags: - name: Checkout paths: /checkout/validate: post: description: This will validate and return an order-checkout based on the input parameters. operationId: validateCheckout parameters: - in: header name: X-Nacelle-Space-ID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderCheckout' required: true responses: '201': description: OrderCheckout content: application/json: schema: $ref: '#/components/schemas/OrderCheckout' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '422': $ref: '#/components/responses/422' '500': $ref: '#/components/responses/500' summary: Validates an order-checkout request tags: - Checkout /multicart/validate: post: description: This will validate and return a multi-cart based on the input parameters. operationId: multiCartValidate parameters: - in: header name: X-Nacelle-Space-ID required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/MultiOrderCheckout' required: true responses: '201': description: MultiOrderCheckout content: application/json: schema: $ref: '#/components/schemas/MultiOrderCheckout' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '422': $ref: '#/components/responses/422' '500': $ref: '#/components/responses/500' summary: Validates a multi-cart tags: - Checkout components: responses: '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/error' '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/error' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/error' schemas: OrderItemCheckout: properties: applied_discounts: description: List of applied discounts. items: $ref: '#/components/schemas/DiscountCheckout' minimum: 1 type: array x-go-name: AppliedDiscounts available: description: Available (Order-Checkout). example: 2 format: uint64 maximum: 9999 minimum: 1 type: integer x-go-name: Available canceled_at: description: When this Order Item was cancelled. example: '2023-01-10T14:48:00Z' format: date-time type: string x-go-name: CanceledAt canceled_by: description: Who cancelled this OrderItem. example: admin maximum: 100 minimum: 1 type: string x-go-name: CanceledBy canceled_reason: description: Reason for cancelling this OrderItem. example: wrong color maximum: 100 minimum: 1 type: string x-go-name: CanceledReason comment: description: Additional comment. example: please make sure to verify ordered color. maximum: 1000 minimum: 1 type: string x-go-name: Comment description: description: Short description of the product. example: Wool shirt. maximum: 1000 minimum: 1 type: string x-go-name: Description destination_reference_id: description: External id of the OrderItem in destination service. example: test-destination-id maximum: 100 minimum: 1 type: string x-go-name: DestinationReferenceID discounts_amount: description: Discount amount. example: '0.00' type: string x-go-name: DiscountsAmount id: description: Unique identifier for the OrderItem. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string x-go-name: ID metadata: additionalProperties: {} description: Additional map-like data for any custom extra data. example: custom_external_id: abc_123 type: object x-go-name: Metadata price_amount: description: Price. example: '17.25' type: string x-go-name: PriceAmount price_book_id: description: Nacelle Price Book ID. example: test-price-book-id maximum: 100 minimum: 1 type: string x-go-name: PriceBookID product_id: description: Nacelle Product ID. example: test-product-id maximum: 100 minimum: 1 type: string x-go-name: ProductID quantity: description: Quantity. example: 2 format: uint64 maximum: 9999 minimum: 1 type: integer x-go-name: Quantity sku: description: SKU of the product. example: sku-123 maximum: 100 minimum: 1 type: string x-go-name: Sku source_reference_id: description: External id of the OrderItem in source service. example: test-external-id maximum: 100 minimum: 1 type: string x-go-name: SourceReferenceID status: description: Status of the OrderItem. example: pending maximum: 100 minimum: 1 type: string x-go-name: Status subtotal_price_amount: description: Subtotal price. example: '20.00' type: string x-go-name: SubtotalPriceAmount tax_amount: description: Tax amount. example: '2.25' type: string x-go-name: TaxAmount tax_rate: description: Tax rate. example: '0.00' type: string x-go-name: TaxRate variant_id: description: Nacelle Variant ID. example: test-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 OrderCheckout: properties: applied_discounts: description: Applied discounts. items: $ref: '#/components/schemas/DiscountCheckout' type: array x-go-name: AppliedDiscounts billing_address: $ref: '#/components/schemas/AddressCheckout' client_data: $ref: '#/components/schemas/ClientData' comment: description: Any additional comments about the order. example: please make sure it's gift-wrapped maximum: 1000 minimum: 1 type: string x-go-name: Comment currency: description: Currency code. example: USD type: string x-go-name: Currency customer: $ref: '#/components/schemas/CustomerCheckout' destination_reference_id: description: External id of the order in destination service. example: test-destination-id maximum: 100 minimum: 1 type: string x-go-name: DestinationReferenceID discounts: description: Total discounts. example: '5.00' type: string x-go-name: Discounts email: description: Email of the order. example: john.doe@example.com format: email type: string x-go-name: Email error: $ref: '#/components/schemas/ErrorResponse' id: description: Unique identifier for the order. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string x-go-name: ID metadata: additionalProperties: {} description: Additional map-like data for any custom extra data. example: custom_external_id: abc_123 type: object x-go-name: Metadata order_items: description: Order items. items: $ref: '#/components/schemas/OrderItemCheckout' maximum: 100 minimum: 1 type: array x-go-name: OrderItems payments: description: Payments. items: $ref: '#/components/schemas/PaymentCheckout' minimum: 1 type: array x-go-name: Payments phone: description: Phone number of the order. example: +1-555-555-5555 maximum: 30 type: string x-go-name: Phone price: description: Price. example: '12.34' type: string x-go-name: Price promotion: $ref: '#/components/schemas/PromotionCheckout' shipping_address: $ref: '#/components/schemas/AddressCheckout' shipping_rate: $ref: '#/components/schemas/ShippingRateCheckout' shipping_rates: description: Shipping rates (Order-Checkout). items: $ref: '#/components/schemas/ShippingRateCheckout' maximum: 100 minimum: 1 type: array x-go-name: ShippingRates source_reference_id: description: External id of the order in source service. example: test-external-id maximum: 100 minimum: 1 type: string x-go-name: SourceReferenceID status: description: Optional merchant status of the order. example: processing maximum: 100 minimum: 1 type: string x-go-name: Status subtotal_price: description: Subtotal price. example: '89.99' type: string x-go-name: SubtotalPrice tax: description: Tax amount. example: '9.99' type: string x-go-name: Tax tax_data: $ref: '#/components/schemas/TaxCheckout' tax_rate: description: Tax rate. example: '0.07' type: string x-go-name: TaxRate title: OrderCheckout represents the details of an order/order-checkout. type: object x-go-package: github.com/getnacelle/noms/docs error: properties: code: description: A numeric error code. type: integer message: description: A description of the reason for the error. type: string type: object ErrorDetail: properties: category: description: Category of an error. example: inventory type: string x-go-name: Category message: description: Human-readable error message. example: out of stock type: string x-go-name: Message metadata: additionalProperties: {} description: Additional map-like data for any custom extra data. example: inventory_request_id: abc 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. example: 500 format: int64 type: integer x-go-name: ResponseStatus responsibility: description: Responsibility type of the error. example: client type: string x-go-name: Responsibility severity: description: Severity level of the error. example: 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 TaxShippingDataCheckout: properties: created_at: description: Creation timestamp for the TaxShippingData. example: '2023-01-10T14:48:00Z' x-go-name: CreatedAt entries: $ref: '#/components/schemas/TaxEntryCheckout' id: description: Unique Nacelle identifier for the TaxShippingData. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string x-go-name: ID modified_at: description: Modification timestamp for the TaxShippingData. example: '2023-01-10T14:48:00Z' 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 TaxItemsDataCheckout: properties: created_at: description: Creation timestamp for the TaxItemsData. example: '2023-01-10T14:48:00Z' x-go-name: CreatedAt entries: items: $ref: '#/components/schemas/TaxEntryCheckout' maximum: 100 type: array x-go-name: Entries id: description: Unique Nacelle identifier for the TaxItemsData. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string x-go-name: ID modified_at: description: Modification timestamp for the TaxItemsData. example: '2023-01-10T14:48:00Z' 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 TaxEntryCheckout: properties: amount: type: string x-go-name: Amount breakdown: items: $ref: '#/components/schemas/TaxEntryBreakdownCheckout' maximum: 100 type: array x-go-name: Breakdown created_at: description: Creation timestamp for the TaxEntry. example: '2023-01-10T14:48:00Z' x-go-name: CreatedAt id: description: Unique Nacelle identifier for the TaxEntry. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string x-go-name: ID modified_at: description: Modification timestamp for the TaxEntry. example: '2023-01-10T14:48:00Z' 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 Transaction: properties: amount: description: The Amount of the Transaction example: '99.99' type: string x-go-name: Amount error: description: Error encountered during the Transaction example: test error type: string x-go-name: Error id: description: Unique identifier for the Transaction. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string x-go-name: ID metadata: additionalProperties: {} description: Metadata for the Transaction example: key: value type: object x-go-name: Metadata operation: description: Operation of the Transaction enum: - authorization - authorization_release - charge - refund example: succeeded type: string x-go-name: Operation status: description: Status code for the Transaction. enum: - pending - succeeded - failed example: succeeded type: string x-go-name: Status title: Transaction contains information about an payments transactions. 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. Error details list can be used for deciding what errors we should show to clients (usually Fatal/Error severity). For example, we can show the first Fatal/Error we found in the error details list, or we can show all Fatal/Error errors we have.' properties: details: description: Details to provide information about the errors. items: $ref: '#/components/schemas/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 AddressCheckout: properties: address1: description: The first line of the address. example: 1234 Elm St maximum: 500 minimum: 1 type: string x-go-name: Address1 address2: description: The second line of the address. example: Apt 567 maximum: 500 minimum: 1 type: string x-go-name: Address2 city: description: The city of the address. example: San Francisco maximum: 100 minimum: 1 type: string x-go-name: City comment: description: Additional comments about the address. example: Please leave the package at the door. maximum: 1000 minimum: 1 type: string x-go-name: Comment country_iso2: description: The ISO 2-letter country code. example: US type: string x-go-name: CountryIso2 first_name: description: First name example: John maximum: 100 minimum: 1 type: string x-go-name: FirstName id: description: Unique identifier for the address. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string x-go-name: ID last_name: description: Last name example: Doe maximum: 100 minimum: 1 type: string x-go-name: LastName postal_code: description: The postal code. example: '94107' maximum: 20 minimum: 4 type: string x-go-name: PostalCode province: description: The province of the address. example: CA maximum: 100 minimum: 1 type: string x-go-name: Province state: description: The state of the address. example: CA maximum: 100 minimum: 1 type: string x-go-name: State type: object x-go-package: github.com/getnacelle/noms/docs ShippingRateCheckout: properties: amount: description: Price of the shipping rate in string-decimal format, example: '10.25' type: string x-go-name: Amount currency: description: Currency code in ISO 4217 three-letter format, example: USD 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, example: 10 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, example: 2 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 example: day type: string x-go-name: DeliveryEstimateUnit description: description: Detailed description of the shipping rate, example: Ship orders within the U.S. that need to arrive in the afternoon of the next business day. maximum: 255 minimum: 1 type: string x-go-name: Description display_name: description: The display name of the shipping rate, example: Ground shipping 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. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string x-go-name: ID service_name: description: Name of the shipping company, example: UPS maximum: 100 minimum: 1 type: string x-go-name: ServiceName tax_behavior: description: 'Describes if shipping rate price includes taxes, examples: unspecified / inclusive / exclusive' type: string x-go-name: TaxBehavior type: object x-go-package: github.com/getnacelle/noms/docs MultiOrderCheckout: properties: applied_discounts: description: Applied discounts. items: $ref: '#/components/schemas/DiscountCheckout' type: array x-go-name: AppliedDiscounts billing_address: $ref: '#/components/schemas/AddressCheckout' client_data: $ref: '#/components/schemas/ClientData' comment: description: Any additional comments about the multi-order/multi-cart. maximum: 1000 minimum: 1 type: string x-go-name: Comment currency: description: Currency code. example: USD type: string x-go-name: Currency customer: $ref: '#/components/schemas/CustomerCheckout' discounts: description: Discounts amount. example: '5.00' type: string x-go-name: Discounts email: description: Email of the multi-order. example: john.doe@example.com format: email type: string x-go-name: Email error: $ref: '#/components/schemas/ErrorResponse' id: description: Unique identifier for the multi-order / multi-cart. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string x-go-name: ID metadata: additionalProperties: {} description: Additional map-like data for any custom extra data. example: custom_external_id: abc_123 type: object x-go-name: Metadata orchestration_steps: description: '(Only for MultiCart Validate) Orchestration Steps to run in Orchestration Validate flow. Useful for optimizing and reducing number of API calls based on changed MultiCart state. If not specified - Orchestration Validate will call all enabled steps.' items: type: string maximum: 100 minimum: 1 type: array x-go-name: OrchestrationSteps orders: description: Orders items: $ref: '#/components/schemas/OrderCheckout' maximum: 100 minimum: 0 type: array x-go-name: Orders payments: description: Payments. items: $ref: '#/components/schemas/PaymentCheckout' minimum: 0 type: array x-go-name: Payments phone: description: Phone number of the multi-order. example: +1-555-555-5555 maximum: 30 type: string x-go-name: Phone price: description: Price. example: '12.34' type: string x-go-name: Price promotion: $ref: '#/components/schemas/PromotionCheckout' status: description: Optional merchant status of the multi-order. example: processing maximum: 100 minimum: 1 type: string x-go-name: Status subtotal_price: description: Subtotal price. example: '89.99' type: string x-go-name: SubtotalPrice tax: description: Tax amount. example: '9.99' type: string x-go-name: Tax title: MultiOrderCheckout represents the details of a multi-order/multi-cart. 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. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string x-go-name: ID items: $ref: '#/components/schemas/TaxItemsDataCheckout' service: example: Stripe maximum: 100 minimum: 1 type: string x-go-name: Service shipping: $ref: '#/components/schemas/TaxShippingDataCheckout' tax_date: x-go-name: TaxDate type: object x-go-package: github.com/getnacelle/noms/docs ClientData: properties: created_at: description: Timestamp of when the client data was created. example: '2023-01-10T14:48:00Z' x-go-name: CreatedAt id: description: Unique identifier for client data. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string x-go-name: ID ip_address: description: Client's IP address (IPv4 or IPv6). example: 1.2.3.4 type: string x-go-name: IPAddress metadata: additionalProperties: {} description: Additional map-like data for any custom extra data. example: custom_external_id: abc_123 type: object x-go-name: Metadata modified_at: description: Timestamp of the last modification to the client data. example: '2023-01-10T14:48:00Z' x-go-name: ModifiedAt user_agent: description: Client's User-Agent. example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 type: string x-go-name: UserAgent title: ClientData represents client-related data. type: object x-go-package: github.com/getnacelle/noms/pkg/dto DiscountCheckout: properties: amount: description: The amount that the discount is for in string-decimal format, example: '10.25' 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. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 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 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. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 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 example: For example, you can use IP addresses as identifiers to potentially identify devices and limit discounts abuse in case of customers creating multiple accounts 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 TaxEntryBreakdownCheckout: properties: amount: type: string x-go-name: Amount created_at: description: Creation timestamp for the TaxEntryBreakdown. example: '2023-01-10T14:48:00Z' x-go-name: CreatedAt display_name: maximum: 100 minimum: 1 type: string x-go-name: DisplayName id: description: Unique Nacelle identifier for the TaxEntryBreakdown. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string x-go-name: ID modified_at: description: Modification timestamp for the TaxEntryBreakdown. example: '2023-01-10T14:48:00Z' 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 PaymentCheckout: properties: amount_value: description: The amount of the payment example: '99.99' type: string x-go-name: AmountValue card_brand: description: Brand of the card used for payment example: Visa maximum: 100 minimum: 1 type: string x-go-name: CardBrand currency: description: Currency code for the payment. example: USD type: string x-go-name: Currency external_id: description: External ID associated with the payment example: ext_12345 maximum: 100 minimum: 1 type: string x-go-name: ExternalID id: description: Unique identifier for the Payment. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string x-go-name: ID payment_data: additionalProperties: {} description: Additional payment data as key-value pairs example: transaction_id: txn_123 type: object x-go-name: PaymentData payment_method_id: description: ID of the payment method example: pm_12345 maximum: 100 minimum: 1 type: string x-go-name: PaymentMethodID payment_type: description: Type of payment, e.g., Credit Card example: Credit Card maximum: 100 minimum: 1 type: string x-go-name: PaymentType processor_name: description: Name of the payment processor example: Stripe maximum: 100 minimum: 1 type: string x-go-name: ProcessorName processor_status: description: Status returned by the payment processor example: Approved 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 example: succeeded type: string x-go-name: Status transactions: description: Transactions associated with the payment items: $ref: '#/components/schemas/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 CustomerCheckout: properties: addresses: description: Addresses associated with the customer items: $ref: '#/components/schemas/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 example: johndoe@example.com format: email type: string x-go-name: Email first_name: description: First name of the customer example: John maximum: 100 minimum: 1 type: string x-go-name: FirstName id: description: The unique identifier for the customer example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string x-go-name: ID last_name: description: Last name of the customer example: Doe maximum: 100 minimum: 1 type: string x-go-name: LastName metadata: additionalProperties: {} description: Metadata associated with the customer as key-value pairs example: loyalty_points: '200' type: object x-go-name: Metadata phone: description: Phone number of the customer example: +1-555-555-5555 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 securitySchemes: oauth2: type: oauth2 flows: clientCredentials: tokenUrl: https://authimilate.api.nacelle.com/v1/token scopes: read: Grants read access write: Grants write access x-provenance: method: searched source: https://docs.nacelle.com/reference harvested: '2026-10-14' tool: harvest-readme-openapi.py note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored. assembled_from: - https://docs.nacelle.com/reference/addcustomeraddress.md - https://docs.nacelle.com/reference/capturepaymentintent.md - https://docs.nacelle.com/reference/createasyncmultiorder.md - https://docs.nacelle.com/reference/createcustomer.md - https://docs.nacelle.com/reference/createfulfillment.md - https://docs.nacelle.com/reference/createmultiorder.md - https://docs.nacelle.com/reference/createpaymentintent.md - https://docs.nacelle.com/reference/multicartvalidate.md - https://docs.nacelle.com/reference/refundpaymentintent.md - https://docs.nacelle.com/reference/retrievepaymentintent.md - https://docs.nacelle.com/reference/updateaddress.md - https://docs.nacelle.com/reference/updatecustomer.md - https://docs.nacelle.com/reference/updatefulfillment.md - https://docs.nacelle.com/reference/updatemultiorder.md - https://docs.nacelle.com/reference/updateorderitem.md - https://docs.nacelle.com/reference/updatepayment.md - https://docs.nacelle.com/reference/updatepaymentintent.md - https://docs.nacelle.com/reference/validatecheckout.md merge: pages: 18 deduped: 205 conflicts_kept_first: 0