UNPKG

@redotech/redo-api-schema

Version:

Common definitions for Redo API

1,640 lines (1,638 loc) 88.1 kB
components: headers: page-next.header: description: Next value for X-Page-Continue, for more results schema: type: string parameters: document-type.param: description: Type of document to download in: path name: documentType required: true schema: $ref: '#/components/schemas/shipment-document-type.schema' invoice-id.param: description: Invoice ID in: path name: invoiceId required: true schema: example: 64e4d5e837572a4813b73e40 type: string page-continue.param: description: Page marker, from X-Page-Next header example: 64df700931a04885276c3364 in: header name: X-Page-Continue schema: type: string page-size.param: description: Page size, defaults to 20 example: 20 in: header name: X-Page-Size schema: maximum: 500 minimum: 1 type: integer provider-order-name: description: Provider specific order name in: query name: provider_order_name schema: example: XYZ1025 type: string return-id.param: description: Return ID in: path name: returnId required: true schema: example: 64e4d5e837572a4813b73e40 type: string shipment-id.param: description: Shipment ID in: path name: shipmentId required: true schema: example: 67c7e87a2c8c262c0ddc9861 type: string shopify-order-name: description: Shopify specific order name in: query name: shopify_order_name schema: example: XYZ1025 type: string store-id.param: description: Store ID in: path name: storeId required: true schema: example: 64e5a8a1af49a89df37e4ee7 type: string updated-at-max.param: description: Maximum updated time, exclusive example: '2000-02-01T00:00:00Z' in: query name: updated_at_max schema: format: date-time type: string updated-at-min.param: description: Minimum updated time, inclusive example: '2000-01-01T00:00:00Z' in: query name: updated_at_min schema: format: date-time type: string webhook-id.param: description: Webhook ID in: path name: webhookId required: true schema: example: 64e5a865a58eefeed7f05ea6 type: string schemas: address.schema: description: Address. properties: city: description: City name examples: - Anytown title: City type: string country: description: Country code examples: - US - CA title: Country type: string line1: description: Line 1 examples: - 123 Main St title: Line 1 type: string line2: default: '' description: Line 2 examples: - '' title: Line 2 type: string postalCode: description: Postal or ZIP code examples: - '12345' title: Postal code type: string state: description: State or province examples: - WA - Washington title: State type: string required: - city - country - line1 - state - postalCode title: Address type: object comment.schema: description: Comment with either message or image. examples: - message: Item is worn. - image: eJxiYAEAAAD//wMAAAYABQ== oneOf: - additionalProperties: false properties: image: contentEncoding: base64 description: Base64-encoded image title: Image type: string required: - image title: Image comment type: object - additionalProperties: false properties: message: description: Message. title: Message type: string required: - message title: Message comment type: object title: Comment coverage-product.schema: description: Coverage product. properties: coverages: description: Coverage. items: properties: lineItems: items: properties: id: description: Line item ID. title: ID type: string type: object type: array type: enum: - shipping_failure - return_shipping title: Coverage required: - lineItems - type type: object type: array id: description: Coverage ID. title: ID type: string price: $ref: '#/components/schemas/money.schema' description: Price. title: Price required: - coverage - id - price title: Coverage product type: object custom-event-request.schema: additionalProperties: false description: Custom event to trigger flows with merchant-defined event names and properties. properties: email: description: Customer email address (one of email or phone is required). type: string event_name: description: The name of the custom event (e.g., 'user_registered', 'purchase_completed'). type: string event_timestamp: description: ISO 8601 timestamp when the event occurred. Defaults to current time if not provided. format: date-time type: string phone: description: Customer phone number (one of email or phone is required). type: string properties: additionalProperties: true description: Custom properties for this event. Access in templates using dot notation (e.g., {{ properties.product_name }}). type: object required: - event_name title: Custom Event Request type: object custom-event-response.schema: additionalProperties: false description: Response after successfully creating a custom event. properties: event_id: description: The unique identifier for the created event. type: string event_name: description: The name of the custom event that was created. type: string status: description: Status of the event processing. enum: - processed type: string required: - event_id - status - event_name title: Custom Event Response type: object customer-subscription-email.schema: description: Email subscription updates properties: email: description: Email address format: email type: string subscriptions: properties: marketing: $ref: '#/components/schemas/subscription-status-marketing.schema' type: object required: - email - subscriptions type: object customer-subscription-sms.schema: description: SMS subscription updates properties: phoneNumber: description: Phone number in E.164 format (e.g., +12345678900) type: string subscriptions: properties: marketing: $ref: '#/components/schemas/subscription-status-marketing.schema' transactional: $ref: '#/components/schemas/subscription-status-transactional.schema' type: object required: - phoneNumber - subscriptions type: object customer-subscription-update-response.schema: description: Customer subscription update response properties: message: description: Human-readable success message type: string success: description: Whether the operation was successful type: boolean updatedSubscriptions: description: Details of which subscriptions were updated properties: email: properties: marketing: description: Whether email marketing was updated type: boolean type: object sms: properties: marketing: description: Whether SMS marketing was updated type: boolean transactional: description: Whether SMS transactional was updated type: boolean type: object type: object required: - success - message - updatedSubscriptions type: object error.schema: description: Problem details. See [RFC 7807 Section 3](https://datatracker.ietf.org/doc/html/rfc7807#section-3). properties: detail: description: Human-readable description of the problem. title: Detail type: string instance: description: A URI reference that identifies this problem. format: uri-reference type: string title: description: Human-readable summary of the problem type. title: Title type: string type: default: about:blank description: A URI reference that identifies the problem type. format: uri-reference type: string title: Problem details type: object exchange-provision.schema: enum: - instant - deferred example: deferred title: Exchang provision type: string https-callback.schema: description: HTTPS callback properties: auth: description: Authorization. oneOf: - properties: bearer: description: Bearer properties: token: description: Token for Bearer authorization. example: abc123 format: password title: Token type: string title: Bearer title: Bearer authorization type: object - type: 'null' title: Authorization url: description: HTTPS callback URL. example: https://subscriber.example.org/events format: uri pattern: ^https:// title: URL type: string required: - auth - url title: HTTPS callback type: object invoice.schema: description: Schema for an invoice. properties: charge: $ref: '#/components/schemas/money.schema' description: The charge that the invoice is for. createdAt: description: The time the invoice was created. format: date-time type: string id: description: The ID of the charge. type: string status: description: The status of the invoice. type: string store: properties: id: description: The ID of the store. type: string required: - id type: object updatedAt: description: The time the invoice was last updated. format: date-time type: string required: - team - updatedAt - status - createdAt - charge type: object item-quantity.schema: description: Item quantity. example: 1 exclusiveMinimum: 0 title: Item quantity type: number length.schema: description: Length measurement with unit. properties: unit: description: Length unit enum: - in - cm examples: - in - cm title: Unit type: string value: description: Numeric length value examples: - 10.5 - 30 minimum: 0 title: Value type: number required: - value - unit title: Length type: object money.schema: description: Currency amount properties: amount: examples: - '50.2' - '1.78' title: Amount type: string currency: examples: - USD - EUR title: Currency type: string title: Money type: object order-read.schema: description: Order. properties: customer: properties: emailAddress: description: Email address of customer. format: email title: Email address type: string name: $ref: '#/components/schemas/person-name.schema' description: Name of customer. title: Name phoneNumber: $ref: '#/components/schemas/phone-number.schema' description: Phone number of customer. title: Phone number required: - name type: object discounts: $ref: '#/components/schemas/money.schema' description: The total amount discounted on the order before returns. This includes both order and line level discounts. title: Discounts externalId: description: Shopify ID examples: - '1073459971' - '450789469' title: External ID type: string id: description: Order ID example: 64e4da943dd822979a70bd12 title: ID type: string items: items: properties: externalId: example: '123' type: string fulfillmentLocationId: description: ID of the location where the item was be fulfilled. example: '123' type: - string - 'null' id: description: Line item ID title: ID type: string price: $ref: '#/components/schemas/money.schema' title: Price product: $ref: '#/components/schemas/product.schema' title: Product quantity: $ref: '#/components/schemas/item-quantity.schema' title: Quantity variant: $ref: '#/components/schemas/product-variant.schema' title: Variant required: - id - product - quantity - variant - price - fulfillmentLocationId title: Line items type: array lineItemsTotal: $ref: '#/components/schemas/money.schema' description: Total price of all line items before discounts, shipping, and taxes. title: Line Items Total name: description: Shopify name. examples: - '#123' title: Name type: string shippingCost: $ref: '#/components/schemas/money.schema' description: The total shipping cost for the order. This includes fees and any related discounts that were refunded. title: Shipping Cost taxes: $ref: '#/components/schemas/money.schema' description: Total taxes applied to the order. title: Taxes total: $ref: '#/components/schemas/money.schema' description: The total price of the order, before returns. This includes taxes, discounts, and shipping costs. title: Total required: - customer - id - items - name - discounts - lineItemsTotal - shippingCost - total - taxes title: Order type: object parcel-type.schema: description: Parcel type enum. enum: - box - envelope - soft_pack title: Parcel Type type: string parcel.schema: description: Parcel information for shipping. properties: height: $ref: '#/components/schemas/length.schema' length: $ref: '#/components/schemas/length.schema' type: $ref: '#/components/schemas/parcel-type.schema' weight: $ref: '#/components/schemas/shipping-weight.schema' width: $ref: '#/components/schemas/length.schema' required: - height - length - width - weight - type title: Parcel type: object person-name.schema: description: Person name. properties: given: description: Given name examples: - John - Mary type: string surname: description: Surname examples: - Smith - Brown type: string required: - given - surname title: Person name type: object phone-number.schema: description: Phone number, in E.164 format examples: - '+15555555555' title: Phone number type: string product-variant.schema: properties: externalId: title: External ID type: string name: title: Title type: string sku: title: SKU type: string weight: $ref: '#/components/schemas/weight.schema' title: Weight required: - name title: Product variant type: object product.schema: description: Product. properties: externalId: description: Product ID in external system (e.g. shopify). title: External ID type: string name: description: Product title title: Name type: string required: - name title: Product type: object return-read.schema: description: Return read. properties: compensationMethods: description: Array of compensation methods available for this return items: enum: - refund - store_credit - exchange type: string title: Compensation Methods type: array createdAt: description: Time of creation. format: date-time title: Created at type: string destination: properties: mailingAddress: $ref: '#/components/schemas/address.schema' description: Mailing address to send the returned items. title: Mailing address phoneNumber: $ref: '#/components/schemas/phone-number.schema' description: Phone number of the destination. title: Phone number type: object exchange: description: Exchange order properties: itemCount: description: Total quantity of all exchange items type: integer items: items: properties: id: title: ID type: string originalPrice: description: Original price for the exchange item without discounts and taxes properties: amount: type: string currency: type: string type: object price: description: Subtotal price for the exchange item including discounts properties: amount: type: string currency: type: string tax: type: string type: object product: $ref: '#/components/schemas/product.schema' title: Product quantity: $ref: '#/components/schemas/item-quantity.schema' title: Quantity variant: $ref: '#/components/schemas/product-variant.schema' required: - id - quantity - variant title: Line items type: array order: properties: externalId: description: ID of external order title: External ID type: string type: object provision: $ref: '#/components/schemas/exchange-provision.schema' title: Provision totalTax: description: Total tax for exchange items properties: amount: type: string currency: type: string type: object required: - items - provision title: Exchange type: object externalOrderIds: description: Array of external order IDs associated with this return items: type: string title: External Order IDs type: array giftCards: description: Gift card(s) created for return items: properties: amount: $ref: '#/components/schemas/money.schema' title: Amount code: description: Gift card 16 digit code. title: Code type: string externalId: description: Gift card ID. title: ID type: string required: - amount - code - externalId type: object title: Gift cards type: array id: description: Return identifier. examples: - 64df65d4c5a4ca3eff4b4e43 title: Identifier type: string internalCreatedByName: description: Name of the internal team member who created this return title: Internal Created By Name type: string items: description: Return items items: properties: assessments: description: Assessment records for this return item. Only applicable for warranties. items: properties: assignedUser: description: User assigned to this assessment properties: email: type: string firstName: type: string id: type: string lastName: type: string name: type: string required: - id - name - firstName - lastName - email type: object responses: description: Assessment responses items: discriminator: propertyName: type oneOf: - properties: type: const: short_text type: string value: description: Short text response value type: string required: - type - value title: Short Text Response type: object - properties: type: const: long_text type: string value: description: Long text response value type: string required: - type - value title: Long Text Response type: object - properties: type: const: select type: string value: description: Select response values (array of selected options) items: type: string type: array required: - type - value title: Select Response type: object - properties: type: const: number type: string value: description: Number response value type: number required: - type - value title: Number Response type: object - properties: type: const: boolean type: string value: description: Boolean response value type: boolean required: - type - value title: Boolean Response type: object - properties: type: const: file_upload type: string value: description: File upload response values (array of file URLs or identifiers) items: type: string type: array required: - type - value title: File Upload Response type: object - properties: type: const: date type: string value: description: Date response value format: date-time type: string required: - type - value title: Date Response type: object type: array required: - assignedUser - responses type: object type: array customerComment: description: Customer's comment about the return type: string exchangeItem: description: Exchange item details if this return item is being exchanged properties: product: properties: externalId: type: string name: type: string type: object quantity: type: integer variant: properties: externalId: type: string name: type: string type: object title: Exchange item type: object greenReturn: description: Whether this is a green return (no physical return required) type: boolean id: description: Return item ID. title: ID type: string multipleChoiceQuestions: description: Multiple choice questions and answers for this return item items: properties: answer: description: The selected answer type: string question: description: The question text type: string required: - question - answer type: object type: array orderItem: description: Order line item properties: id: description: 'Line item reference ID in format: {orderId}/{lineItemIndex}' title: ID type: string line_item_id: description: Original Shopify line item ID title: Line Item ID type: string required: - id title: Order item type: object productAdjustment: description: Product adjustment details type: string productId: description: Product ID type: string quantity: description: Quantity of items being returned type: integer reason: description: Primary return reason examples: - Too big - Other type: string reasonCode: description: Return reason code type: string reasonCodes: description: Array of return reason codes items: type: string type: array reasons: description: Array of return reasons items: type: string type: array refund: description: Refund details properties: amount: $ref: '#/components/schemas/money.schema' title: Amount type: description: Refund strategy type: string required: - amount type: object sku: description: Product SKU type: string status: description: Return item status type: string variantId: description: Product variant ID type: string required: - id - orderItem - quantity - reason type: object type: array notes: description: Teammembers generated notes and comments on the return items: properties: image: description: Optional image URL attached to the note title: Image URL type: string message: description: The note text title: Message type: string required: - message type: object title: Notes type: array order: description: Original order. properties: id: description: Order ID. example: abc123 title: ID type: string required: - id title: Order type: object shipment: $ref: '#/components/schemas/return-shipment.schema' description: Shipment, if has been made title: Shipment shipments: description: Array of all shipments associated with this return items: $ref: '#/components/schemas/return-shipment.schema' title: Shipments type: array shopifyOrderIds: description: Array of Shopify order IDs (deprecated, use externalOrderIds) items: type: string title: Shopify Order IDs type: array source: properties: emailAddress: description: Email address. format: email title: Email address type: string mailingAddress: $ref: '#/components/schemas/address.schema' description: Mailing address returned items are sent from. title: Mailing address name: $ref: '#/components/schemas/person-name.schema' description: Name of returner. title: Name phoneNumber: $ref: '#/components/schemas/phone-number.schema' description: Phone number of returner. title: Phone number required: - emailAddress - mailingAddress - name - phoneNumber type: object status: $ref: '#/components/schemas/return-status.schema' description: Return status. title: Status totals: description: Calculated totals for the return properties: charge: description: The upsell amount for the exchange order properties: amount: $ref: '#/components/schemas/money.schema' required: - amount type: object exchange: description: Total value of new items in exchange properties: amount: $ref: '#/components/schemas/money.schema' required: - amount type: object refund: description: Total refund amount excluding shipping properties: amount: $ref: '#/components/schemas/money.schema' required: - amount type: object storeCredit: description: Total store credit amount properties: amount: $ref: '#/components/schemas/money.schema' required: - amount type: object required: - refund - exchange - storeCredit - charge title: Totals type: object type: $ref: '#/components/schemas/return-type.schema' description: Return type. title: Type updatedAt: description: Time of last update. format: date-time title: Updated at type: string required: - createdAt - destination - giftCards - source - id - order - items - status - updatedAt title: Return type: object return-shipment.schema: description: Return shipment tracking information properties: carrier: description: Carrier code title: Carrier type: string postageLabel: description: Postage label URL title: Postage Label type: string status: description: Status of shipment enum: - unknown - pre_transit - in_transit - out_for_delivery - available_for_pickup - cancelled - delivered - error - failure - return_to_sender - expired title: Status type: string tracker: description: Tracking number title: Tracker type: string trackingUrl: description: Tracking URL title: Tracking URL type: string title: Return Shipment type: object return-status-update.schema: description: | Return status. * complete: The return has been completed successfully. * open: Return has been approved and is awaiting shipment. * flagged: A problem with return processing requires merchant action. * rejected: The return has been rejected. * deleted: The return has been reset. enum: - complete - open - flagged - rejected - deleted example: open title: Return status type: string return-status.schema: description: | Return status. * open: Return has been approved and is awaiting shipment. * in_transit: Return shipment is in transit. * delivered: Return shipment has been delivered and awaiting processing. * needs_review: Return requires review before further action. * in_review: Return is currently being reviewed. * complete: The return has been completed successfully. * rejected: The return has been rejected. * flagged: A problem with return processing requires merchant action. * pre_shipment: Return requires pre-shipment merchant authorization. * deleted: The return has been deleted (Reset). enum: - open - in_transit - delivered - needs_review - in_review - complete - rejected - flagged - pre_shipment - deleted example: open title: Return status type: string return-type.schema: description: | Return type. enum: - claim - return - warranty example: return title: Return type type: string shipment-document-type.schema: description: Type of shipping document. enum: - label - commercialInvoice title: Shipment Document Type type: string shipment-document.schema: description: Shipping document information. properties: type: $ref: '#/components/schemas/shipment-document-type.schema' required: - type title: Shipment Document type: object shipment-rate.schema: description: Shipping rate information. properties: carrier: properties: id: description: ID for the carrier account that provides the shipping rate. title: Carrier Account ID type: string name: description: Carrier display name examples: - USPS - FedEx title: Carrier Name type: string required: - id - name type: object price: $ref: '#/components/schemas/money.schema' service: properties: name: description: Service level name examples: - Priority - Ground title: Service Name type: string required: - name type: object required: - carrier - price - service title: Shipment Rate type: object shipment-tracker.schema: description: Shipment tracking information. properties: code: description: Carrier tracking code examples: - '9400100000000000000000' title: Tracking Code type: string required: - code title: Shipment Tracker type: object shipment.schema: description: Shipment information. properties: documents: description: Available shipping documents. You can access these documents using the GET Shipment document endpoint. items: $ref: '#/components/schemas/shipment-document.schema' title: Documents type: array id: description: Shipment identifier title: Shipment ID type: string price: $ref: '#/components/schemas/money.schema' tracker: $ref: '#/components/schemas/shipment-tracker.schema' required: - id - documents - tracker - price title: Shipment type: object shipping-contact.schema: description: Contact information for shipping. properties: address: $ref: '#/components/schemas/address.schema' name: description: Contact name examples: - John Doe title: Name type: string phoneNumber: description: Contact phone number examples: - '+12025550123' title: Phone Number type: string required: - name - phoneNumber - address title: Shipping Contact type: object shipping-weight.schema: description: Weight measurement with unit for shipping. properties: unit: description: Weight unit enum: - g - kg - oz - lb examples: - lb - kg title: Unit type: string value: description: Numeric weight value examples: - 1.5 - 10 minimum: 0 title: Value type: number required: - value - unit title: Shipping Weight type: object storefront-cart.schema: description: Storefront cart. properties: lineItems: description: Line items. items: properties: coupons: items: properties: code: type: string discountAmount: $ref: '#/components/schemas/money.schema' description: The amount this coupon discounts in dollars for this line item. id: type: string required: - id - code - discountAmount type: object type: array id: description: Line item ID. title: ID type: string originalPrice: $ref: '#/components/schemas/money.schema' description: Original price. title: Original Price priceTotal: $ref: '#/components/schemas/money.schema' description: Total price. title: Price product: description: Product. properties: id: description: Identifier of the product. title: ID type: string required: - id type: object quantity: description: Quantity. title: Quantity type: integer variant: description: Variant. properties: id: description: Identifier of the variant. title: ID type: string required: - id type: object required: - id - quantity - product - variant - priceTotal type: object title: Line items type: array priceTotal: $ref: '#/components/schemas/money.schema' description: Total price. title: Price required: - lineItems - priceTotal title: Storefront Cart type: object storefront-customer.schema: description: Storefront customer. properties: id: description: Customer ID. title: ID type: string required: - id title: Storefront Customer type: object storefront-event.schema: additionalProperties: true description: Shopify pixel event for storefront tracking. properties: anonymousId: description: Anonymous identifier for users without account. type: string cart: description: Cart information. type: - object - 'null' cartLine: description: Information about specific cart line item. type: object checkout: description: Checkout information. type: object collection: description: Collection information. type: object customer: description: Customer information if available. type: - object - 'null' customerEmail: description: Customer email if available. format: email type: string customerPhone: description: Customer phone if available. type: string eventId: description: Unique identifier for the event. type: string eventName: description: Name of the Shopify pixel event. enum: - product_added_to_cart - product_removed_from_cart - product_viewed - checkout_started - checkout_completed - checkout_contact_info_submitted - page_viewed - collection_viewed type: string productVariant: description: Product variant information. type: object source: description: Source of the event. enum: - AIMERCE type: string timestamp: description: ISO 8601 timestamp when the event occurred. format: date-time type: string urlWithParams: description: Complete page URL with query parameters. type: string urlWithoutParams: description: Page URL without query parameters. type: string required: - eventName - eventId - timestamp - source title: Storefront Event type: object subscription-status-marketing.schema: description: Marketing subscription status properties: subscriptionStatus: description: Subscription status enum: - subscribed - confirmed - unsubscribed type: string triggerAutomations: default: false description: Whether to trigger automations for this subscription change. Defaults to false. type: boolean updatedAt: description: ISO 8601 timestamp. If not provided, defaults to now. format: date-time type: string required: - subscriptionStatus type: object subscription-status-transactional.schema: description: Transactional subscription status (order tracking) properties: subscriptionStatus: description: Subscription status. Only subscribed and unsubscribed are supported for transactional. enum: - subscribed - unsubscribed type: string updatedAt: description: ISO 8601 timestamp. If not provided, defaults to now. format: date-time type: string required: - subscriptionStatus type: object webhook-create.schema: description: Webhook create. properties: backfill: default: false description: Create events for already-existing items title: Backfill type: boolean callback: $ref: '#/components/schemas/https-callback.schema' description: HTTPS callback to POST events. title: HTTPS callback externalId: default: null d