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) Multiorders API version: 0.1.0 servers: - url: https://noms.api.nacelle.com/api/v1 security: - oauth2: [] tags: - name: multiorders paths: /multiorders: post: description: This will create a multi-order based on the input parameters. operationId: createMultiOrder parameters: - in: header name: X-Nacelle-Space-ID required: true schema: type: string requestBody: $ref: '#/components/requestBodies/MultiOrderCreate' responses: '201': $ref: '#/components/responses/201' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' summary: Create a multi-order tags: - multiorders /multiorders/{nacelle-multi-order-id}: patch: description: This will update a multi-order based on the input parameters. operationId: updateMultiOrder parameters: - in: header name: X-Nacelle-Space-ID required: true schema: type: string - in: path name: nacelle-multi-order-id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/MultiOrderUpdate' required: true responses: '200': $ref: '#/components/responses/200' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' summary: Update a multi-order tags: - multiorders /multiordersasync: post: description: This will create a multi-order based on the input parameters. operationId: createAsyncMultiOrder parameters: - in: header name: X-Nacelle-Space-ID required: true schema: type: string requestBody: $ref: '#/components/requestBodies/MultiOrderCreate' responses: '201': $ref: '#/components/responses/201' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' summary: Create a multi-order tags: - multiorders components: responses: '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/error' '201': description: Created content: application/json: schema: $ref: '#/components/schemas/IDResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/error' '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UpdateResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/error' '429': description: Rate Limit Exceeded content: application/json: schema: $ref: '#/components/schemas/error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/error' schemas: ShippingRateCreate: 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 required: - external_id - display_name - amount - currency - tax_behavior 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 OrderItemCreate: properties: applied_discounts: description: List of applied discounts. items: $ref: '#/components/schemas/DiscountCreate' minimum: 1 type: array x-go-name: AppliedDiscounts 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 merchant_created_at: description: Merchant Specified Timestamp of when the OrderItem was created. example: '2023-01-10T14:48:00Z' format: date-time type: string x-go-name: MerchantCreatedAt merchant_modified_at: description: Merchant Specified Timestamp of the last modification to the OrderItem. example: '2023-01-10T14:48:00Z' format: date-time type: string x-go-name: MerchantModifiedAt 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 required: - price_amount - subtotal_price_amount - tax_amount - quantity - sku - product_id - variant_id - price_book_id title: OrderItemCreate represents the details of an order item. type: object x-go-package: github.com/getnacelle/noms/docs TaxShippingDataCreate: properties: created_at: description: Creation timestamp for the TaxShippingData. example: '2023-01-10T14:48:00Z' format: date-time type: string x-go-name: CreatedAt entries: $ref: '#/components/schemas/TaxEntryCreate' 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' format: date-time type: string 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 required: - subtotal_price - tax - price type: object x-go-package: github.com/getnacelle/noms/docs 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 PaymentCreate: properties: amount_value: description: The amount of the payment example: '99.99' type: string x-go-name: AmountValue capture_method: description: 'The CaptureMethod of the payment: Controls when the funds will be captured from the customer''s account' enum: - automatic - ' automatic_async' - ' manual' example: manual type: string x-go-name: CaptureMethod 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 merchant_created_at: description: Merchant Specified Timestamp of when the Payment was created. example: '2023-01-10T14:48:00Z' format: date-time type: string x-go-name: MerchantCreatedAt merchant_modified_at: description: Merchant Specified Timestamp of the last modification to the Payment. example: '2023-01-10T14:48:00Z' format: date-time type: string x-go-name: MerchantModifiedAt 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 required: - status - amount_value - currency - external_id - processor_name - payment_type title: PaymentCreate contains information about an order payment. type: object x-go-package: github.com/getnacelle/noms/docs OrderUpdate: properties: billing_address: $ref: '#/components/schemas/AddressUpdate' canceled_at: description: When this order was cancelled. example: '2023-01-10T14:48:00Z' format: date-time type: string x-go-name: CanceledAt canceled_by: description: Who cancelled this order. example: admin maximum: 100 minimum: 1 type: string x-go-name: CanceledBy canceled_reason: description: Reason for cancellation this order. example: wrong item maximum: 100 minimum: 1 type: string x-go-name: CanceledReason 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 customer: $ref: '#/components/schemas/CustomerUpdate' 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 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 merchant_modified_at: description: Merchant Specified Timestamp of the last modification to the Order. example: '2023-01-10T14:48:00Z' format: date-time type: string x-go-name: MerchantModifiedAt 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/OrderItemUpdate' maximum: 100 minimum: 1 type: array x-go-name: OrderItems phone: description: Phone number of the order. example: +1-555-555-5555 maximum: 30 type: string x-go-name: Phone shipping_address: $ref: '#/components/schemas/AddressUpdate' 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 required: - id title: OrderUpdate represents the details of an order/order-checkout. type: object x-go-package: github.com/getnacelle/noms/docs MultiOrderUpdate: properties: billing_address: $ref: '#/components/schemas/AddressUpdate' 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 customer: $ref: '#/components/schemas/CustomerUpdate' 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 merchant_modified_at: description: Merchant Specified Timestamp of the last modification to the MultiOrder. example: '2023-01-10T14:48:00Z' format: date-time type: string x-go-name: MerchantModifiedAt metadata: additionalProperties: {} description: Additional map-like data for any custom extra data. example: custom_external_id: abc_123 type: object x-go-name: Metadata orders: description: Orders items: $ref: '#/components/schemas/OrderUpdate' maximum: 100 minimum: 1 type: array x-go-name: Orders phone: description: Phone number of the multi-order. example: +1-555-555-5555 maximum: 30 type: string x-go-name: Phone status: description: Optional merchant status of the multi-order. example: processing maximum: 100 minimum: 1 type: string x-go-name: Status required: - id title: MultiOrderUpdate represents the details of a multi-order/multi-cart. type: object x-go-package: github.com/getnacelle/noms/docs IDResponse: properties: id: description: Unique identifier for the resource. example: f47ac10b-58cc-4372-a567-0e02b2c3d479 format: uuid type: string x-go-name: ID title: IDResponse represents the ID returned after a successful operation. type: object x-go-package: github.com/getnacelle/noms/services/oingest/internal/httpapp/shared PromotionCreate: 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 MultiOrderCreate: properties: applied_discounts: description: Applied discounts. items: $ref: '#/components/schemas/DiscountCreate' minimum: 1 type: array x-go-name: AppliedDiscounts billing_address: $ref: '#/components/schemas/AddressCreate' 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/CustomerCreate' 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 merchant_created_at: description: Merchant Specified Timestamp of when the MultiOrder was created. example: '2023-01-10T14:48:00Z' format: date-time type: string x-go-name: MerchantCreatedAt merchant_modified_at: description: Merchant Specified Timestamp of the last modification to the MultiOrder. example: '2023-01-10T14:48:00Z' format: date-time type: string x-go-name: MerchantModifiedAt metadata: additionalProperties: {} description: Additional map-like data for any custom extra data. example: custom_external_id: abc_123 type: object x-go-name: Metadata orders: description: Orders items: $ref: '#/components/schemas/OrderCreate' maximum: 100 minimum: 1 type: array x-go-name: Orders payments: description: Payments. items: $ref: '#/components/schemas/PaymentCreate' minimum: 1 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/PromotionCreate' 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 required: - email - currency - price - subtotal_price - tax - billing_address - orders - payments title: MultiOrderCreate represents the details of a multi-order/multi-cart. 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 TaxCreate: 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/TaxItemsDataCreate' service: example: Stripe maximum: 100 minimum: 1 type: string x-go-name: Service shipping: $ref: '#/components/schemas/TaxShippingDataCreate' tax_date: x-go-name: TaxDate required: - items type: object x-go-package: github.com/getnacelle/noms/docs CustomerUpdate: properties: addresses: description: Addresses associated with the customer items: $ref: '#/components/schemas/AddressUpdate' 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 merchant_modified_at: description: Merchant Specified Timestamp of the last modification to the Customer. example: '2023-01-10T14:48:00Z' format: date-time type: string x-go-name: MerchantModifiedAt 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 required: - id type: object x-go-package: github.com/getnacelle/noms/docs 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 TaxEntryBreakdownCreate: properties: amount: type: string x-go-name: Amount created_at: description: Creation timestamp for the TaxEntryBreakdown. example: '2023-01-10T14:48:00Z' format: date-time type: string 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' format: date-time type: string 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 required: - amount - taxability_reason - display_name - percentage - tax_type type: object x-go-package: github.com/getnacelle/noms/docs UpdateResponse: description: UpdaterResponse represents the response returned after a successful update operation type: object x-go-name: UpdaterResponse x-go-package: github.com/getnacelle/noms/services/oingest/internal/httpapp/shared 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 AddressUpdate: 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 merchant_modified_at: description: 'Merchant Specified Timestamp of the last modification to the Address. Differs from ModifiedAt which is autogenerated.' example: '2023-01-10T14:48:00Z' format: date-time type: string x-go-name: MerchantModifiedAt 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 required: - id type: object x-go-package: github.com/getnacelle/noms/docs OrderCreate: properties: applied_discounts: description: Applied discounts. items: $ref: '#/components/schemas/DiscountCreate' minimum: 1 type: array x-go-name: AppliedDiscounts billing_address: $ref: '#/components/schemas/AddressCreate' canceled_at: description: When this order was cancelled. example: '2023-01-10T14:48:00Z' format: date-time type: string x-go-name: CanceledAt canceled_by: description: Who cancelled this order. example: admin maximum: 100 minimum: 1 type: string x-go-name: CanceledBy canceled_reason: description: Reason for cancellation this order. example: wrong item maximum: 100 minimum: 1 type: string x-go-name: CanceledReason 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/CustomerCreate' 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 merchant_created_at: description: Merchant Specified Timestamp of when the Order was created. example: '2023-01-10T14:48:00Z' format: date-time type: string x-go-name: MerchantCreatedAt merchant_modified_at: description: Merchant Specified Timestamp of the last modification to the Order. example: '2023-01-10T14:48:00Z' format: date-time type: string x-go-name: MerchantModifiedAt 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/OrderItemCreate' maximum: 100 minimum: 1 type: array x-go-name: OrderItems payments: description: Payments. items: $ref: '#/components/schemas/PaymentCreate' 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/PromotionCreate' shipping_address: $ref: '#/components/schemas/AddressCreate' shipping_rate: $ref: '#/components/schemas/ShippingRateCreate' 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/TaxCreate' tax_rate: description: Tax rate. example: '0.07' type: string x-go-name: TaxRate required: - email - currency - price - subtotal_price - tax - shipping_address - billing_address - customer - order_items - shipping_rate title: OrderCreate represents the details of an order/order-checkout. type: object x-go-package: github.com/getnacelle/noms/docs CustomerCreate: properties: addresses: description: Addresses associated with the customer items: $ref: '#/components/schemas/AddressCreate' 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 merchant_created_at: description: Merchant Specified Timestamp of when the Customer was created. example: '2023-01-10T14:48:00Z' format: date-time type: string x-go-name: MerchantCreatedAt merchant_modified_at: description: Merchant Specified Timestamp of the last modification to the Customer. example: '2023-01-10T14:48:00Z' format: date-time type: string x-go-name: MerchantModifiedAt 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 required: - email type: object x-go-package: github.com/getnacelle/noms/docs OrderItemUpdate: properties: 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 id: description: Unique identifier for the OrderItem. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string x-go-name: ID merchant_modified_at: description: Merchant Specified Timestamp of the last modification to the OrderItem. example: '2023-01-10T14:48:00Z' format: date-time type: string x-go-name: MerchantModifiedAt metadata: additionalProperties: {} description: Additional map-like data for any custom extra data. example: custom_external_id: abc_123 type: object x-go-name: Metadata 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 required: - id title: OrderItemUpdate represents the details of an order item. type: object x-go-package: github.com/getnacelle/noms/docs TaxEntryCreate: properties: amount: type: string x-go-name: Amount breakdown: items: $ref: '#/components/schemas/TaxEntryBreakdownCreate' maximum: 100 type: array x-go-name: Breakdown created_at: description: Creation timestamp for the TaxEntry. example: '2023-01-10T14:48:00Z' format: date-time type: string 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' format: date-time type: string 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 required: - amount - tax - tax_behavior - tax_code type: object x-go-package: github.com/getnacelle/noms/docs TaxItemsDataCreate: properties: created_at: description: Creation timestamp for the TaxItemsData. example: '2023-01-10T14:48:00Z' format: date-time type: string x-go-name: CreatedAt entries: items: $ref: '#/components/schemas/TaxEntryCreate' maximum: 100 minimum: 1 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' format: date-time type: string 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 required: - subtotal_price - tax - price - entries type: object x-go-package: github.com/getnacelle/noms/docs DiscountCreate: 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 required: - name - description - amount - effect_type title: DiscountCreate contains information about a purchase discount. type: object x-go-package: github.com/getnacelle/noms/docs AddressCreate: 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 merchant_created_at: description: 'Merchant Specified Timestamp of when the Address was created. Differs from CreatedAt which is autogenerated.' example: '2023-01-10T14:48:00Z' format: date-time type: string x-go-name: MerchantCreatedAt merchant_modified_at: description: 'Merchant Specified Timestamp of the last modification to the Address. Differs from ModifiedAt which is autogenerated.' example: '2023-01-10T14:48:00Z' format: date-time type: string x-go-name: MerchantModifiedAt 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 required: - state - address1 - country_iso2 - postal_code - city type: object x-go-package: github.com/getnacelle/noms/docs requestBodies: MultiOrderCreate: content: application/json: schema: $ref: '#/components/schemas/MultiOrderCreate' required: true 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