{
  "openapi": "3.0.1",
  "info": {
    "title": "Shipping Mode Codes",
    "version": "9.1.20.0",
    "description": "Provide access to shipping mode code.",
    "x-introduced": "9.1.0.0"
  },
  "servers": [
    {
      "url": "https://{hostname}:{port}/rest/admin/v2",
      "variables": {
        "port": {
          "default": "443",
          "enum": [
            "443",
            "8000"
          ]
        },
        "hostname": {
          "default": "localhost",
          "enum": [
            "localhost",
            "test.hcl.com"
          ]
        }
      }
    }
  ],
  "paths": {
    "/shipping-mode-codes": {
      "get": {
        "tags": [
          "Shipping Mode Codes"
        ],
        "summary": "Gets a collection shipping mode codes.",
        "description": "Gets a collection of shipping mode codes for the specified store.",
        "operationId": "getShippingModeCodes",
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "description": "The unique numeric ID for identifying the store.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The position within the resulting dataset where the query begins returning item records. If the offset is \"5\", the records that returned begin with the sixth record that matches the query parameters. If the offset is \"0\", the records that are returned begin with the first record that matches the query parameters.",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "The maximum number of records to return.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "searchString",
            "in": "query",
            "description": "Limits search results to only include codes that match the value of this parameter. Searches are case-insensitive.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShippingModeCodeCollection"
                },
                "example": {
                  "offset": 0,
                  "count": 11,
                  "limit": 11,
                  "items": [
                    "Express",
                    "A1",
                    "A2",
                    "A3",
                    "International Priority",
                    "International Regular",
                    "Mail",
                    "PickupInStore",
                    "US - 2-Day Express Delivery",
                    "US - Overnight Delivery",
                    "US Regular Delivery"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request. The request could not be understood by the server due to malformed syntax.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "401": {
            "description": "Not authenticated. The user session is not valid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "403": {
            "description": "The user is not authorized to perform the specified request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. For details, see the server log files.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          }
        }
      }
    },
    "/shipping-mode-codes/by-contract-id": {
      "get": {
        "tags": [
          "Shipping Mode Codes"
        ],
        "summary": "Gets a collection shipping mode codes specific to a contract.",
        "description": "Gets a collection of shipping mode codes for the specified store and contract.",
        "operationId": "getShippingModeCodesByContractId",
        "x-introduced": "9.1.14.0",
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "description": "The unique numeric ID for identifying the store.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "contractId",
            "in": "query",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The request completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContractBasedShippingModeCodeCollection"
                },
                "example": {
                  "count": 4,
                  "items": [
                    {
                      "code": "3 Days",
                      "id": 715850885
                    },
                    {
                      "code": "7 Days",
                      "id": 715850886
                    },
                    {
                      "code": "US Regular Delivery",
                      "id": 715850384
                    },
                    {
                      "code": "Overnight",
                      "id": 715850884
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request. The request could not be understood by the server due to malformed syntax.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "401": {
            "description": "Not authenticated. The user session is not valid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "403": {
            "description": "The user is not authorized to perform the specified request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. For details, see the server log files.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ErrorResponseContainer": {
        "type": "object",
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Error"
            }
          },
          "requestId": {
            "type": "string",
            "description": "The request identifier."
          }
        },
        "description": "The error message model."
      },
      "Error": {
        "type": "object",
        "properties": {
          "errorCode": {
            "type": "string",
            "description": "The error message code."
          },
          "errorMessage": {
            "type": "string",
            "description": "The error message."
          },
          "errorKey": {
            "type": "string",
            "description": "The error message key."
          },
          "errorParameters": {
            "type": "array",
            "description": "The arguments used to construct the error message.",
            "items": {
              "type": "object",
              "properties": {}
            }
          },
          "errorLevel": {
            "type": "string",
            "description": "The error level."
          },
          "errorHref": {
            "type": "string",
            "description": "The error hypertext reference."
          }
        },
        "description": "The error message item model."
      },
      "ShippingModeCodeCollection": {
        "type": "object",
        "properties": {
          "offset": {
            "minimum": 0,
            "type": "integer",
            "description": "The position within the resulting dataset where the query begins returning item records. If the offset is \"5\", the records that returned begin with the sixth record that matches the query parameters. If the offset is \"0\", the records that are returned begin with the first record that matches the query parameters.",
            "format": "int32"
          },
          "count": {
            "minimum": 0,
            "type": "integer",
            "description": "The total number of item records that match the query parameters.",
            "format": "int32"
          },
          "limit": {
            "maximum": 500,
            "type": "integer",
            "description": "The maximum number of records to return.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "ContractBasedShippingModeCode": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "The name of the shipping method."
          },
          "id": {
            "type": "integer",
            "description": "The unique numeric ID for identifying the shipping method.",
            "format": "int32"
          }
        }
      },
      "ContractBasedShippingModeCodeCollection": {
        "type": "object",
        "properties": {
          "count": {
            "minimum": 0,
            "type": "integer",
            "description": "The total number of item records that match the query parameters.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContractBasedShippingModeCode"
            }
          }
        }
      }
    },
    "securitySchemes": {
      "basicAuth": {
        "type": "http",
        "scheme": "basic"
      }
    }
  },
  "security": [
    {
      "basicAuth": []
    }
  ],
  "x-components": {}
}
