post: operationId: PostShippingOptions summary: Create Shipping Option description: Creates a Shipping Option x-authenticated: true requestBody: content: application/json: schema: required: - name - region_id - provider_id - data - price_type properties: name: description: The name of the Shipping Option type: string region_id: description: >- The ID of the Region in which the Shipping Option will be available. type: string provider_id: description: >- The ID of the Fulfillment Provider that handles the Shipping Option. type: string profile_id: description: The ID of the Shipping Profile to add the Shipping Option to. type: number data: description: >- The data needed for the Fulfillment Provider to handle shipping with this Shipping Option. type: object price_type: description: The type of the Shipping Option price. type: string enum: - flat_rate - calculated amount: description: The amount to charge for the Shipping Option. type: integer requirements: description: >- The requirements that must be satisfied for the Shipping Option to be available. type: array items: required: - type - amount properties: type: description: The type of the requirement type: string enum: - max_subtotal - min_subtotal amount: description: The amount to compare with. type: integer is_return: description: Whether the Shipping Option defines a return shipment. type: boolean default: false admin_only: description: If true, the option can be used for draft orders type: boolean default: false metadata: description: An optional set of key-value pairs with additional information. type: object includes_tax: description: '[EXPERIMENTAL] Tax included in prices of shipping option' type: boolean x-codeSamples: - lang: JavaScript label: JS Client source: $ref: ../code_samples/JavaScript/shipping-options/postundefined - lang: Shell label: cURL source: $ref: ../code_samples/Shell/shipping-options/postundefined security: - api_token: [] - cookie_auth: [] tags: - Shipping Option responses: '200': description: OK content: application/json: schema: properties: shipping_option: $ref: ../components/schemas/shipping_option.yaml '400': $ref: ../components/responses/400_error.yaml '401': $ref: ../components/responses/unauthorized.yaml '404': $ref: ../components/responses/not_found_error.yaml '409': $ref: ../components/responses/invalid_state_error.yaml '422': $ref: ../components/responses/invalid_request_error.yaml '500': $ref: ../components/responses/500_error.yaml get: operationId: GetShippingOptions summary: List Shipping Options description: Retrieves a list of Shipping Options. x-authenticated: true parameters: - in: query name: region_id schema: type: string description: Region ID to fetch options from - in: query name: is_return schema: type: boolean description: Flag for fetching return options only - in: query name: admin_only schema: type: boolean description: Flag for fetching admin specific options x-codeSamples: - lang: JavaScript label: JS Client source: $ref: ../code_samples/JavaScript/shipping-options/getundefined - lang: Shell label: cURL source: $ref: ../code_samples/Shell/shipping-options/getundefined security: - api_token: [] - cookie_auth: [] tags: - Shipping Option responses: '200': description: OK content: application/json: schema: properties: shipping_options: type: array items: $ref: ../components/schemas/shipping_option.yaml count: type: integer description: The total number of items available '400': $ref: ../components/responses/400_error.yaml '401': $ref: ../components/responses/unauthorized.yaml '404': $ref: ../components/responses/not_found_error.yaml '409': $ref: ../components/responses/invalid_state_error.yaml '422': $ref: ../components/responses/invalid_request_error.yaml '500': $ref: ../components/responses/500_error.yaml