{
  "openapi": "3.0.1",
  "info": {
    "title": "Account and Contract",
    "version": "9.1.20.0",
    "description": "Create and administer contracts and contract-related objects/functions and manage relationships between accounts and contracts.",
    "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"
          ]
        }
      }
    }
  ],
  "tags": [
    {
      "name": "Accounts",
      "description": "Provide RESTful services to manage account resources."
    },
    {
      "name": "Contracts",
      "description": "Provide RESTful services to manage contract resources."
    },
    {
      "name": "ExtendedTermConditionConfigurations",
      "description": "Provides RESTful services to retrieve extended term configuration configurations."
    }
  ],
  "paths": {
    "/accounts": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Gets a collection of business accounts in a store.",
        "description": "Gets a collection of business accounts in a store.",
        "operationId": "getAccounts",
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "description": "The unique numeric ID for identifying the store. This parameter is required if sellerOrganizationId is not specified.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "sellerOrganizationId",
            "in": "query",
            "description": "The unique numeric ID of the seller organization. This parameter is required if storeId is not specified.",
            "x-introduced": "9.1.12.0",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "customerOrganizationId",
            "in": "query",
            "description": "The unique numeric ID of the buyer organization. This parameter is required if storeId is not specified.",
            "x-introduced": "9.1.12.0",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "searchString",
            "in": "query",
            "description": "Limits search results to only include accounts with a name that matches the value of this parameter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "The comma-separated set of properties that control the order of the listed items. Properties can be prefixed by either (-) to sort in descending order, or (+) to sort in ascending order. By default, properties are sorted in ascending order. For example, sort=name will order the items based on the name value in ascending order.",
            "schema": {
              "type": "string"
            }
          },
          {
            "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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountCollection"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Accounts"
        ],
        "summary": "Creates a new business account.",
        "description": "Create a new business account.",
        "operationId": "createAccount",
        "requestBody": {
          "description": "The request body for account creation.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The requested completed successfully.",
            "content": {},
            "headers": {
              "Location": {
                "description": "The URI of the account and contract.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "links": {
              "GetAccountsById": {
                "operationRef": "#/paths/~1accounts~1{id}/get",
                "parameters": {
                  "id": "$response.header.Location"
                },
                "description": "The `id` value used in the request body can be used as the `id` parameter in `GET /accounts/{id}`.\n"
              },
              "DeleteAccountsById": {
                "operationRef": "#/paths/~1accounts~1{id}/delete",
                "parameters": {
                  "id": "$response.header.Location"
                },
                "description": "The `id` value used in the request body can be used as the `id` parameter in `DELETE /accounts/{id}`.\n"
              },
              "UpdateAccountsById": {
                "operationRef": "#/paths/~1accounts~1{id}/patch",
                "parameters": {
                  "id": "$response.header.Location"
                },
                "description": "The `id` value used in the request body can be used as the `id` parameter in `PATCH /accounts/{id}`.\n"
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/accounts/{id}": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Gets a business account by its ID",
        "description": "Finds a business account by its ID.",
        "operationId": "getAccountById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Account"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Accounts"
        ],
        "summary": "Deletes an existing business account.",
        "description": "Deletes an existing business account.",
        "operationId": "deleteAccount",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The requested resource has been deleted.",
            "content": {}
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Accounts"
        ],
        "summary": "Updates an existing business account.",
        "description": "Updates an existing business account.",
        "operationId": "updateAccount",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request body for creating an account.",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Account"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "The requested completed successfully.",
            "content": {}
          },
          "400": {
            "description": "Bad request. The request could not be understood by the server due to malformed syntax.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "401": {
            "description": "Not authenticated. The user session is not valid.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "403": {
            "description": "The user is not authorized to perform the specified request.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. For details, see the server log files.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/accounts/{accountId}/shipping-addresses": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Gets a collection of account shipping addresses.",
        "description": "Gets a collection of account shipping addresses.",
        "operationId": "getAccountShippingAddresses",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountShippingAddressCollection"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Accounts"
        ],
        "summary": "Creates a new account shipping address.",
        "description": "Create a new account shipping address.",
        "operationId": "createAccountShippingAddress",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request body for account shipping address creation.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountShippingAddres"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The requested completed successfully.",
            "content": {},
            "headers": {
              "Location": {
                "description": "The URI of the account and contract.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "links": {
              "GetShippingAddressesByAccountIdAndId": {
                "operationRef": "#/paths/~1accounts~1{accountId}~1shipping-addresses~1{id}/get",
                "parameters": {
                  "accountId": "$request.path.accountId",
                  "id": "$response.header.Location"
                },
                "description": "The `accountId` and `id` value used in the request body can be used as the `accountId` and`id` parameter in `GET /accounts/{accountId}/shipping-addresses/{id}`.\n"
              },
              "DeleteShippingAddressesByAccountIdAndId": {
                "operationRef": "#/paths/~1accounts~1{accountId}~1shipping-addresses~1{id}/delete",
                "parameters": {
                  "accountId": "$request.path.accountId",
                  "id": "$response.header.Location"
                },
                "description": "The `accountId` and `id` value used in the request body can be used as the`accountId` and `id` parameter in `DELETE /accounts/{accountId}/shipping-addresses/{id}`.\n"
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/accounts/{accountId}/shipping-addresses/{id}": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Gets an account shipping address by its ID",
        "description": "Gets an account shipping address by its ID.",
        "operationId": "getAccountShippingAddressById",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the account shipping address.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountShippingAddress"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Accounts"
        ],
        "summary": "Deletes an existing account shipping address.",
        "description": "Deletes an existing account shipping address.",
        "operationId": "deleteAccountShippingAddress",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the account shipping address.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The requested resource has been deleted.",
            "content": {}
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        }
      }
    },
    "/accounts/{accountId}/shipping-charges": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Gets a collection of account shipping charges.",
        "description": "Gets a collection of account shipping charges.",
        "operationId": "getAccountShippingCharges",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountShippingChargeCollection"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Accounts"
        ],
        "summary": "Creates a new account shipping charge.",
        "description": "Create a new account shipping charge.",
        "operationId": "createAccountShippingCharge",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request body for account shipping charge creation.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountShippingCharges"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The requested completed successfully.",
            "content": {},
            "headers": {
              "Location": {
                "description": "The URI of the account and contract.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "links": {
              "GetShippingChargesByAccountIdAndId": {
                "operationRef": "#/paths/~1accounts~1{accountId}~1shipping-charges~1{id}/get",
                "parameters": {
                  "accountId": "$request.path.accountId",
                  "id": "$response.headear.location"
                },
                "description": "The `accountId` and `id` value used in the request body can be used as the `accountId` and`id` parameter in `GET /accounts/{accountId}/shipping-charges/{id}`.\n"
              },
              "DeleteShippingChargesByAccountIdAndId": {
                "operationRef": "#/paths/~1accounts~1{accountId}~1shipping-charges~1{id}/delete",
                "parameters": {
                  "accountId": "$request.path.accountId",
                  "id": "$response.headear.location"
                },
                "description": "The `accountId` and `id` value used in the request body can be used as the`accountId` and `id` parameter in `DELETE /accounts/{accountId}/shipping-charges/{id}`.\n"
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/accounts/{accountId}/shipping-charges/{id}": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Gets an account shipping charge by its ID",
        "description": "Gets an account shipping charge by its ID.",
        "operationId": "getAccountShippingChargeById",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the account shipping charge.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountShippingCharge"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Accounts"
        ],
        "summary": "Deletes an existing account shipping charge.",
        "description": "Deletes an existing account shipping charge.",
        "operationId": "deleteAccountShippingCharge",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the account shipping charge.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The requested resource has been deleted.",
            "content": {}
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        }
      }
    },
    "/accounts/{accountId}/shipping-methods": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Gets a collection of account shipping methods.",
        "description": "Gets a collection of account shipping methods.",
        "operationId": "getAccountShippingMethods",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountShippingMethodCollection"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Accounts"
        ],
        "summary": "Creates a new account shipping method.",
        "description": "Create a new account shipping method.",
        "operationId": "createAccountShippingMethod",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request body for account shipping method creation.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountShippingMethods"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The requested completed successfully.",
            "content": {},
            "headers": {
              "Location": {
                "description": "The URI of the account and contract.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "links": {
              "GetShippingMethodsByAccountIdAndId": {
                "operationRef": "#/paths/~1accounts~1{accountId}~1shipping-methods~1{id}/get",
                "parameters": {
                  "accountId": "$request.path.accountId",
                  "id": "$response.header.Location"
                },
                "description": "The `accountId` and `id` value used in the request body can be used as the `accountId` and`id` parameter in `GET /accounts/{accountId}/shipping-methods/{id}`.\n"
              },
              "DeleteShippingMethodsByAccountIdAndId": {
                "operationRef": "#/paths/~1accounts~1{accountId}~1shipping-methods~1{id}/delete",
                "parameters": {
                  "accountId": "$request.path.accountId",
                  "id": "$response.header.Location"
                },
                "description": "The `accountId` and `id` value used in the request body can be used as the`accountId` and `id` parameter in `DELETE /accounts/{accountId}/shipping-methods/{id}`.\n"
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/accounts/{accountId}/shipping-methods/{id}": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Gets an account shipping method by its ID",
        "description": "Gets an account shipping method by its ID.",
        "operationId": "getAccountShippingMethodById",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the account shipping method.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountShippingMethod"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Accounts"
        ],
        "summary": "Deletes an existing account shipping method.",
        "description": "Deletes an existing account shipping method.",
        "operationId": "deleteAccountShippingMethod",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the account shipping method.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The requested resource has been deleted.",
            "content": {}
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        }
      }
    },
    "/accounts/{accountId}/payment-methods": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Gets a collection of account payment methods.",
        "description": "Gets a collection of account payment methods.",
        "operationId": "getAccountPaymentMethods",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountPaymentMethodCollection"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Accounts"
        ],
        "summary": "Creates a new account payment method.",
        "description": "Create a new account payment method.",
        "operationId": "createAccountPaymentMethod",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request body for account payment method creation.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountPaymentMethods"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The requested completed successfully.",
            "content": {},
            "headers": {
              "Location": {
                "description": "The URI of the account and contract.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "links": {
              "GetPaymentMethodsByAccountIdAndId": {
                "operationRef": "#/paths/~1accounts~1{accountId}~1payment-methods~1{id}/get",
                "parameters": {
                  "accountId": "$request.path.accountId",
                  "id": "$response.header.Location"
                },
                "description": "The `accountId` and `id` value used in the request body can be used as the `accountId` and`id` parameter in `GET /accounts/{accountId}/payment-methods/{id}`.\n"
              },
              "DeletePaymentMethodsByAccountIdAndId": {
                "operationRef": "#/paths/~1accounts~1{accountId}~1payment-methods~1{id}/delete",
                "parameters": {
                  "accountId": "$request.path.accountId",
                  "id": "$response.header.Location"
                },
                "description": "The `accountId` and `id` value used in the request body can be used as the`accountId` and `id` parameter in `DELETE /accounts/{accountId}/payment-methods/{id}`.\n"
              },
              "UpdatePaymentMethodsByAccountIdAndId": {
                "operationRef": "#/paths/~1accounts~1{accountId}~1payment-methods~1{id}/patch",
                "parameters": {
                  "accountId": "$request.path.accountId",
                  "id": "$response.header.Location"
                },
                "description": "The `accountId` and `id` value used in the request body can be used as the`accountId` and `id` parameter in `PATCH /accounts/{accountId}/payment-methods/{id}`.\n"
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/accounts/{accountId}/payment-methods/{id}": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Gets an account payment method by its ID",
        "description": "Gets an account payment method by its ID.",
        "operationId": "getAccountPaymentMethodById",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the account payment method.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountPaymentMethod"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Accounts"
        ],
        "summary": "Deletes an existing account payment method.",
        "description": "Deletes an existing account payment method.",
        "operationId": "deleteAccountPaymentMethod",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the account payment method.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The requested resource has been deleted.",
            "content": {}
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Accounts"
        ],
        "summary": "Updates an existing account payment method.",
        "description": "Updates an existing account payment method.",
        "operationId": "updateAccountPaymentMethod",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the account payment method.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request body for creating an account payment method.",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/AccountPaymentMethod"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "The requested completed successfully.",
            "content": {}
          },
          "400": {
            "description": "Bad request. The request could not be understood by the server due to malformed syntax.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "401": {
            "description": "Not authenticated. The user session is not valid.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "403": {
            "description": "The user is not authorized to perform the specified request.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. For details, see the server log files.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/accounts/{accountId}/purchase-orders": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Gets a collection of account purchase orders.",
        "description": "Gets a collection of account purchase orders.",
        "operationId": "getAccountPurchaseOrders",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountPurchaseOrderCollection"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Accounts"
        ],
        "summary": "Creates a new account purchase order.",
        "description": "Create a new account purchase order.",
        "operationId": "createAccountPurchaseOrder",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request body for account purchase order creation.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountPurchaseOrders"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The requested completed successfully.",
            "content": {},
            "headers": {
              "Location": {
                "description": "The URI of the account and contract.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "links": {
              "GetPurchaseOrdersByAccountIdAndId": {
                "operationRef": "#/paths/~1accounts~1{accountId}~1purchase-orders~1{id}/get",
                "parameters": {
                  "accountId": "$request.path.accountId",
                  "id": "$response.header.Location"
                },
                "description": "The `accountId` and `id` value used in the request body can be used as the `accountId` and`id` parameter in `GET /accounts/{accountId}/purchase-orders/{id}`.\n"
              },
              "DeletePurchaseOrdersByAccountIdAndId": {
                "operationRef": "#/paths/~1accounts~1{accountId}~1purchase-orders~1{id}/delete",
                "parameters": {
                  "accountId": "$request.path.accountId",
                  "id": "$response.header.Location"
                },
                "description": "The `accountId` and `id` value used in the request body can be used as the`accountId` and `id` parameter in `DELETE /accounts/{accountId}/purchase-orders/{id}`.\n"
              },
              "UpdatePurchaseOrdersByAccountIdAndId": {
                "operationRef": "#/paths/~1accounts~1{accountId}~1purchase-orders~1{id}/patch",
                "parameters": {
                  "accountId": "$request.path.accountId",
                  "id": "$response.header.Location"
                },
                "description": "The `accountId` and `id` value used in the request body can be used as the`accountId` and `id` parameter in `PATCH /accounts/{accountId}/purchase-orders/{id}`.\n"
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/accounts/{accountId}/purchase-orders/{id}": {
      "get": {
        "tags": [
          "Accounts"
        ],
        "summary": "Gets an account purchase order by its ID",
        "description": "Gets an account purchase order by its ID.",
        "operationId": "getAccountPurchaseOrderById",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the account purchase orders.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccountPurchaseOrder"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Accounts"
        ],
        "summary": "Deletes an existing account purchase order.",
        "description": "Deletes an existing account purchase order.",
        "operationId": "deleteAccountPurchaseOrder",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The unique numeric ID for identifying the account.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the account purchase order.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The requested resource has been deleted.",
            "content": {}
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Accounts"
        ],
        "summary": "Updates an existing account purchase order.",
        "description": "Updates an existing account purchase order.",
        "operationId": "updateAccountPurchaseOrder",
        "parameters": [
          {
            "name": "accountId",
            "in": "path",
            "description": "The unique numeric ID for identifying the account purchase order.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the account purchase order.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request body for creating an account purchase order.",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/AccountPurchaseOrder"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "The requested completed successfully.",
            "content": {}
          },
          "400": {
            "description": "Bad request. The request could not be understood by the server due to malformed syntax.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "401": {
            "description": "Not authenticated. The user session is not valid.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "403": {
            "description": "The user is not authorized to perform the specified request.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. For details, see the server log files.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/contracts": {
      "get": {
        "tags": [
          "Contracts"
        ],
        "summary": "Get a collection of contracts.",
        "description": "Get a collection of contracts.",
        "operationId": "getContracts",
        "parameters": [
          {
            "name": "accountId",
            "in": "query",
            "description": "The unique numeric ID for identifying the business account which contains the contract. This parameter is required if you do not specify sellerOrganizationId.",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sellerOrganizationId",
            "in": "query",
            "description": "The unique numeric ID for identifying the seller organization that owns the contract. This parameter is required if you do not specify accountId.",
            "x-introduced": "9.1.12.0",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "storeId",
            "in": "query",
            "description": "Limits the results to only include contracts contained within accounts associated with the specified store ID.",
            "x-introduced": "9.1.12.0",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "buyerOrganizationId",
            "in": "query",
            "description": "Limits the results to only include contracts with a buyer participant that matches the specified buyer organization ID.",
            "x-introduced": "9.1.12.0",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "searchString",
            "in": "query",
            "description": "Limits search results to only include contracts with a name, description or account holder organization that matches the value of this parameter.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Limits search results to only include contracts with the specified status. Possible values are \n * draft\n * submitted\n * approved\n * active\n * rejected\n * canceled\n * suspended\n * deploying\n * deployFailed",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "baseContracts",
            "in": "query",
            "description": "Returns the list of contracts that can be used as base contracts for contracts in the specified account.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "defaultContracts",
            "in": "query",
            "description": "Returns the list of default contracts for the specified seller organization. The default is false which returns the contracts that are not default contracts.",
            "x-introduced": "9.1.12.0",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "accountContracts",
            "in": "query",
            "description": "If true, the results are limited to contracts that are contained within an account. If false, the results are limited to contracts that are not contained within an account. If this parameter is not specified, then both account contracts and non-account contracts are returned. Accounts that have the same organization as both the account holder and the seller are treated as though they are not accounts.",
            "x-introduced": "9.1.12.0",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "The comma-separated set of properties that control the order of the listed items. Properties can be prefixed by either (-) to sort in descending order, or (+) to sort in ascending order. By default, properties are sorted in ascending order. For example, sort=name will order the items based on the name value in ascending order.",
            "schema": {
              "type": "string"
            }
          },
          {
            "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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContractCollection"
                }
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "Creates a new contract",
        "description": "Creates a new contract.",
        "operationId": "createContract",
        "requestBody": {
          "description": "The request body for creating contract.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContractCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The requested completed successfully.",
            "content": {},
            "headers": {
              "Location": {
                "description": "The URI of the account and contract.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "links": {
              "GetContractsById": {
                "operationRef": "#/paths/~1contracts~1{id}/get",
                "parameters": {
                  "id": "$response.header.Location"
                },
                "description": "The `id` value used in the request body can be used as the `id` parameter in `GET /contracts/{id}`.\n"
              },
              "DeleteContractsById": {
                "operationRef": "#/paths/~1contracts~1{id}/delete",
                "parameters": {
                  "id": "$response.header.Location"
                },
                "description": "The `id` value used in the request body can be used as the `id` parameter in `DELETE /contracts/{id}`.\n"
              },
              "updateContractsById": {
                "operationRef": "#/paths/~1contracts~1{id}/patch",
                "parameters": {
                  "id": "$response.header.Location"
                },
                "description": "The `id` value used in the request body can be used as the `id` parameter in `PATCH /contracts/{id}`.\n"
              }
            }
          },
          "400": {
            "description": "Bad request. Some of the inputs provided to the request aren't valid.",
            "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. Additional details will be contained on the server logs.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/contracts/{id}": {
      "get": {
        "tags": [
          "Contracts"
        ],
        "summary": "Gets a contract by ID",
        "description": "Gets a contract by its ID.",
        "operationId": "getContractById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Contract"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Contracts"
        ],
        "summary": "Deletes the specified contracts by setting the contracts to mark for delete",
        "description": "Deletes the specified contracts by setting the contracts to mark for delete.<br>It does not remove the contract from the database immediately. A contract has to be in one of the following state to run this command - draft or canceled.",
        "operationId": "deleteContract",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The requested resource has been deleted.",
            "content": {}
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Contracts"
        ],
        "summary": "Updates an existing contract",
        "description": "Updates an existing contract.",
        "operationId": "updateContract",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request body for updating a contract.",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/Contract"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "The requested completed successfully.",
            "content": {}
          },
          "400": {
            "description": "Bad request. The request could not be understood by the server due to malformed syntax.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "401": {
            "description": "Not authenticated. The user session is not valid.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "403": {
            "description": "The user is not authorized to perform the specified request.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. For details, see the server log files.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/contracts/{id}/export": {
      "get": {
        "tags": [
          "Contracts"
        ],
        "summary": "Exports a contract.",
        "description": "Export a contract.",
        "operationId": "exportContract",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The contract was exported successfully.",
            "content": {
              "application/xml": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "Bad request. The request could not be understood by the server due to malformed syntax.",
            "content": {
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "401": {
            "description": "Not authenticated. The user session is not valid.",
            "content": {
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "403": {
            "description": "The user is not authorized to perform the specified request.",
            "content": {
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "content": {
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. For details, see the server log files.",
            "content": {
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          }
        }
      }
    },
    "/contracts/import": {
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "Import a contract.",
        "description": "Import a contract.",
        "operationId": "importContract",
        "parameters": [
          {
            "name": "storeId",
            "in": "query",
            "description": "The unique numeric ID of the store that owns the contract.",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "description": "Contract XML.",
          "content": {
            "application/xml": {
              "schema": {
                "type": "string"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The requested resource has been created.",
            "headers": {
              "Location": {
                "description": "Link to the newly created resource.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          },
          "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"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/contracts/{id}/copy": {
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "Copies a contract",
        "description": "Copies a contract. <br> If the command completes successfully, a new contract will be created. The contract will be in draft state with majorVersion set to 1 and minorVersion set to 0.",
        "operationId": "copyContract",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract to be copied.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request body for copying a contract.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContractCopy"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The requested completed successfully.",
            "headers": {
              "Location": {
                "description": "Link to the newly created resource.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {}
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/contracts/{id}/submit": {
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "Submits a contract for approval",
        "description": "Submits a contract for approval. <br> If the designated approver for the contract decides a contract is complete and acceptable, he can move the contract into the approved state. The system will automatically attempt to deploy an approved contract.<br>If the designated approver decides a contract is not complete or is unacceptable, he can move the contract into the rejected state. A contract in the rejected state can be changed and re-submitted for approval, canceled, or marked for deletion.",
        "operationId": "submitContract",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The requested completed successfully.",
            "content": {}
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        }
      }
    },
    "/contracts/{id}/deploy": {
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "Deploys a contract",
        "description": "Deploys a contract.",
        "operationId": "deployContract",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "targetStoreId",
            "in": "query",
            "description": "The unique numeric ID for identifying the target store. This will default to the store ID of the account associated with the contract.",
            "x-introduced": "9.1.12.0",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The requested completed successfully.",
            "content": {}
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        }
      }
    },
    "/contracts/{id}/new-version": {
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "Creates a new version of a specified contract",
        "description": "Creates a new version of a specified contract. <br>The state of the specified contract has to be in one of the following states: Approved, Active, Suspended, DeploymentInProgress, and DeploymentFailed. <br>The new contract will have the same name as the specified one. <br>If both majorVersion and minorVersion are provided, the command respects the versions. Otherwise, the new contract will have the same major version number with the old contract. The minor version will be one plus the largest minor version with the same contract name,  origin, owner, majorVerion. <br>This new contract will be in draft version.",
        "operationId": "createNewContractVersion",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract to be copied.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "201": {
            "description": "The requested completed successfully.",
            "content": {}
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        }
      }
    },
    "/contracts/{id}/suspend": {
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "Suspends an active contract",
        "description": "Suspends an active contract.",
        "operationId": "suspendContract",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract to be suspended.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The requested completed successfully.",
            "content": {}
          },
          "400": {
            "description": "Bad request. The request could not be understood by the server due to malformed syntax.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "401": {
            "description": "Not authenticated. The user session is not valid.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "403": {
            "description": "The user is not authorized to perform the specified request.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. For details, see the server log files.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          }
        }
      }
    },
    "/contracts/{id}/resume": {
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "Resumes a suspended contract",
        "description": "Resumes the specified contract to Active state. <br>The specified contract has to be in Suspended state.",
        "operationId": "resumeContract",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract to be resumed.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The requested completed successfully.",
            "content": {}
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        }
      }
    },
    "/contracts/{id}/cancel": {
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "Cancels the specified contract by changing its contract state to Canceled",
        "description": "Cancels the specified contract by changing its contract state to Canceled.<br>It does not remove the contract from the database. A contract can be canceled any time except if the contract has a status of draft or deploying.",
        "operationId": "cancelContract",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract to be canceled.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The requested completed successfully.",
            "content": {}
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        }
      }
    },
    "/contracts/{contractId}/buyers": {
      "get": {
        "tags": [
          "Contracts"
        ],
        "summary": "Gets a collection of contract buyers.",
        "description": "Gets a collection of contract buyers.",
        "operationId": "getContractBuyers",
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContractBuyerCollection"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "Creates a new contract buyer.",
        "description": "Create a new contract buyer.",
        "operationId": "createContractBuyer",
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request body for contract buyer creation.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContractBuyers"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The requested completed successfully.",
            "content": {},
            "headers": {
              "Location": {
                "description": "The URI of the account and contract.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "links": {
              "GetBuyersByContractsIdAndId": {
                "operationRef": "#/paths/~1contracts~1{contractId}~1buyers~1{id}/get",
                "parameters": {
                  "contractId": "$request.path.accountId",
                  "id": "$response.header.Location"
                },
                "description": "The `contractId` and `id` value used in the request body can be used as the `contractId` and`id` parameter in `GET /contracts/{contractId}/buyers/{id}`.\n"
              },
              "DeleteBuyersByContractsIdAndId": {
                "operationRef": "#/paths/~1contracts~1{contractId}~1buyers~1{id}/delete",
                "parameters": {
                  "contractId": "$request.path.accountId",
                  "id": "$response.header.Location"
                },
                "description": "The `contractId` and `id` value used in the request body can be used as the`contractId` and `id` parameter in `DELETE /contracts/{contractId}/buyers/{id}`.\n"
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/contracts/{contractId}/buyers/{id}": {
      "get": {
        "tags": [
          "Contracts"
        ],
        "summary": "Gets a contract buyer by its ID",
        "description": "Gets a contract buyer by its ID.",
        "operationId": "getContractBuyerById",
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract buyer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContractBuyer"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Contracts"
        ],
        "summary": "Deletes an existing contract buyer.",
        "description": "Deletes an existing contract buyer.",
        "operationId": "deleteContractBuyer",
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract buyer.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The requested resource has been deleted.",
            "content": {}
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        }
      }
    },
    "/contracts/{contractId}/shipping-addresses": {
      "get": {
        "tags": [
          "Contracts"
        ],
        "summary": "Gets a collection of contract shipping addresses.",
        "description": "Gets a collection of contract shipping addresses.",
        "operationId": "getContractShippingAddresses",
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContractShippingAddressCollection"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "Creates a new contract shipping address.",
        "description": "Create a new contract shipping address.",
        "operationId": "createContractShippingAddress",
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request body for contract shipping address creation.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContractShippingAddres"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The requested completed successfully.",
            "content": {},
            "headers": {
              "Location": {
                "description": "The URI of the account and contract.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "links": {
              "GetShippingAddressesByContractsIdAndId": {
                "operationRef": "#/paths/~1contracts~1{contractId}~1shipping-addresses~1{id}/get",
                "parameters": {
                  "contractId": "$request.path.accountId",
                  "id": "$response.header.Location"
                },
                "description": "The `contractId` and `id` value used in the request body can be used as the `contractId` and`id` parameter in `GET /contracts/{contractId}/shipping-addresses/{id}`.\n"
              },
              "DeleteShippingAddressesByContractsIdAndId": {
                "operationRef": "#/paths/~1contracts~1{contractId}~1shipping-addresses~1{id}/delete",
                "parameters": {
                  "contractId": "$request.path.accountId",
                  "id": "$response.header.Location"
                },
                "description": "The `contractId` and `id` value used in the request body can be used as the`contractId` and `id` parameter in `DELETE /contracts/{contractId}/shipping-addresses/{id}`.\n"
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/contracts/{contractId}/shipping-addresses/{id}": {
      "get": {
        "tags": [
          "Contracts"
        ],
        "summary": "Gets a contract shipping address by its ID",
        "description": "Gets a contract shipping address by its ID.",
        "operationId": "getContractShippingAddressById",
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract shipping address.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContractShippingAddress"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Contracts"
        ],
        "summary": "Deletes an existing contract shipping address.",
        "description": "Deletes an existing contract shipping address.",
        "operationId": "deleteContractShippingAddress",
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract shipping address.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The requested resource has been deleted.",
            "content": {}
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        }
      }
    },
    "/contracts/{contractId}/shipping-charges": {
      "get": {
        "tags": [
          "Contracts"
        ],
        "summary": "Gets a collection of contract shipping charges.",
        "description": "Gets a collection of contract shipping charges.",
        "operationId": "getContractShippingCharges",
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContractShippingChargeCollection"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "Creates a new contract shipping charge.",
        "description": "Create a new contract shipping charge.",
        "operationId": "createContractShippingCharge",
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request body for contract shipping charge creation.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContractShippingCharges"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The requested completed successfully.",
            "content": {},
            "headers": {
              "Location": {
                "description": "The URI of the account and contract.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "links": {
              "GetShippingChargesByContractsIdAndId": {
                "operationRef": "#/paths/~1contracts~1{contractId}~1shipping-charges~1{id}/get",
                "parameters": {
                  "contractId": "$request.path.accountId",
                  "id": "$response.header.Location"
                },
                "description": "The `contractId` and `id` value used in the request body can be used as the `contractId` and`id` parameter in `GET /contracts/{contractId}/shipping-charges/{id}`.\n"
              },
              "DeleteShippingChargesByContractsIdAndId": {
                "operationRef": "#/paths/~1contracts~1{contractId}~1shipping-charges~1{id}/delete",
                "parameters": {
                  "contractId": "$request.path.accountId",
                  "id": "$response.header.Location"
                },
                "description": "The `contractId` and `id` value used in the request body can be used as the`contractId` and `id` parameter in `DELETE /contracts/{contractId}/shipping-charges/{id}`.\n"
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/contracts/{contractId}/shipping-charges/{id}": {
      "get": {
        "tags": [
          "Contracts"
        ],
        "summary": "Gets a contract shipping charge by its ID",
        "description": "Gets a contract shipping charge by its ID.",
        "operationId": "getContractShippingChargeById",
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract shipping charge.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContractShippingCharge"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Contracts"
        ],
        "summary": "Deletes an existing contract shipping charge.",
        "description": "Deletes an existing contract shipping charge.",
        "operationId": "deleteContractShippingCharge",
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract shipping charge.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The requested resource has been deleted.",
            "content": {}
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        }
      }
    },
    "/contracts/{contractId}/shipping-methods": {
      "get": {
        "tags": [
          "Contracts"
        ],
        "summary": "Gets a collection of contract shipping methods.",
        "description": "Gets a collection of contract shipping methods.",
        "operationId": "getContractShippingMethods",
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContractShippingMethodCollection"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "Creates a new contract shipping method.",
        "description": "Create a new contract shipping method.",
        "operationId": "createContractShippingMethod",
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request body for contract shipping method creation.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContractShippingMethods"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The requested completed successfully.",
            "content": {},
            "headers": {
              "Location": {
                "description": "The URI of the account and contract.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "links": {
              "GetShippingMethodsByContractsIdAndId": {
                "operationRef": "#/paths/~1contracts~1{contractId}~1shipping-methods~1{id}/get",
                "parameters": {
                  "contractId": "$request.path.accountId",
                  "id": "$response.header.Location"
                },
                "description": "The `contractId` and `id` value used in the request body can be used as the `contractId` and`id` parameter in `GET /contracts/{contractId}/shipping-methods/{id}`.\n"
              },
              "DeleteShippingMethodsByContractsIdAndId": {
                "operationRef": "#/paths/~1contracts~1{contractId}~1shipping-methods~1{id}/delete",
                "parameters": {
                  "contractId": "$request.path.accountId",
                  "id": "$response.header.Location"
                },
                "description": "The `contractId` and `id` value used in the request body can be used as the`contractId` and `id` parameter in `DELETE /contracts/{contractId}/shipping-methods/{id}`.\n"
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/contracts/{contractId}/shipping-methods/{id}": {
      "get": {
        "tags": [
          "Contracts"
        ],
        "summary": "Gets a contract shipping method by its ID",
        "description": "Gets a contract shipping method by its ID.",
        "operationId": "getContractShippingMethodById",
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract shipping method.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContractShippingMethod"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Contracts"
        ],
        "summary": "Deletes an existing contract shipping method.",
        "description": "Deletes an existing contract shipping method.",
        "operationId": "deleteContractShippingMethod",
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract shipping method.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The requested resource has been deleted.",
            "content": {}
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        }
      }
    },
    "/contracts/{contractId}/payment-methods": {
      "get": {
        "tags": [
          "Contracts"
        ],
        "summary": "Gets a collection of contract payment methods.",
        "description": "Gets a collection of contract payment methods.",
        "operationId": "getContractPaymentMethods",
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "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"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContractPaymentMethodCollection"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Contracts"
        ],
        "summary": "Creates a new contract payment method.",
        "description": "Create a new contract payment method.",
        "operationId": "createContractPaymentMethod",
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request body for contract payment method creation.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContractPaymentMethods"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "The requested completed successfully.",
            "content": {},
            "headers": {
              "Location": {
                "description": "The URI of the account and contract.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "links": {
              "GetPaymentMethodsByContractsIdAndId": {
                "operationRef": "#/paths/~1contracts~1{contractId}~1payment-methods~1{id}/get",
                "parameters": {
                  "contractId": "$request.path.accountId",
                  "id": "$response.header.Location"
                },
                "description": "The `contractId` and `id` value used in the request body can be used as the `contractId` and`id` parameter in `GET /contracts/{contractId}/payment-methods/{id}`.\n"
              },
              "DeletePaymentMethodsByContractsIdAndId": {
                "operationRef": "#/paths/~1contracts~1{contractId}~1payment-methods~1{id}/delete",
                "parameters": {
                  "contractId": "$request.path.accountId",
                  "id": "$response.header.Location"
                },
                "description": "The `contractId` and `id` value used in the request body can be used as the`contractId` and `id` parameter in `DELETE /contracts/{contractId}/payment-methods/{id}`.\n"
              },
              "UpdatePaymentMethodsByContractsIdAndId": {
                "operationRef": "#/paths/~1contracts~1{contractId}~1payment-methods~1{id}/patch",
                "parameters": {
                  "contractId": "$request.path.accountId",
                  "id": "$response.header.Location"
                },
                "description": "The `contractId` and `id` value used in the request body can be used as the `contractId` and`id` parameter in `PATCH /contracts/{contractId}/payment-methods/{id}`.\n"
              }
            }
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/contracts/{contractId}/payment-methods/{id}": {
      "get": {
        "tags": [
          "Contracts"
        ],
        "summary": "Gets a contract payment method by its ID",
        "description": "Gets a contract payment method by its ID.",
        "operationId": "getContractPaymentMethodById",
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract payment method.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested completed successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContractPaymentMethod"
                }
              }
            }
          },
          "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"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Contracts"
        ],
        "summary": "Deletes an existing contract payment method.",
        "description": "Deletes an existing contract payment method.",
        "operationId": "deleteContractPaymentMethod",
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract payment method.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "The requested resource has been deleted.",
            "content": {}
          },
          "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"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "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"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Contracts"
        ],
        "summary": "Updates an existing contract payment method.",
        "description": "Updates an existing contract payment method.",
        "operationId": "updateContractPaymentMethod",
        "parameters": [
          {
            "name": "contractId",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "id",
            "in": "path",
            "description": "The unique numeric ID for identifying the contract payment method.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request body for creating a contract payment method.",
          "content": {
            "*/*": {
              "schema": {
                "$ref": "#/components/schemas/ContractPaymentMethod"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "The requested completed successfully.",
            "content": {}
          },
          "400": {
            "description": "Bad request. The request could not be understood by the server due to malformed syntax.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "401": {
            "description": "Not authenticated. The user session is not valid.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "403": {
            "description": "The user is not authorized to perform the specified request.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "404": {
            "description": "The specified resource could not be found.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error. For details, see the server log files.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/extended-term-condition-configurations": {
      "get": {
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExtendedTermConditionConfigurationCollection"
                }
              }
            },
            "description": "The requested completed successfully."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            },
            "description": "Bad request. The request could not be understood by the server due to malformed syntax."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            },
            "description": "Not authenticated. The user session is not valid."
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            },
            "description": "The user is not authorized to perform the specified request."
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseContainer"
                }
              }
            },
            "description": "Internal server error. For details, see the server log files."
          }
        },
        "parameters": [
          {
            "required": false,
            "description": "Limits the returned configurations to only include those that match the specified usage. Valid values are 'Contract' and 'Account'.",
            "name": "usage",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "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.",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 0
            }
          },
          {
            "description": "The maximum number of records to return.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "tags": [
          "ExtendedTermConditionConfigurations"
        ],
        "description": "Gets a collection of extended term condition configurations.",
        "summary": "Gets a collection of extended term condition configurations.",
        "operationId": "getExtendedTermConditionConfigurations"
      }
    }
  },
  "components": {
    "schemas": {
      "AccountCollection": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The number of account records in total based on the query parameters specified.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Account"
            }
          },
          "limit": {
            "type": "integer",
            "description": "The number of account records returned.",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "description": "The starting position of the first account record.",
            "format": "int32"
          }
        }
      },
      "Account": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique numeric ID of the account."
          },
          "storeId": {
            "type": "integer",
            "description": "The unique numeric ID of the store that contains the account.",
            "format": "int32"
          },
          "sellerOrganizationId": {
            "type": "string",
            "description": "The unique numeric ID of the seller organization.",
            "x-introduced": "9.1.12.0"
          },
          "comment": {
            "type": "string",
            "description": "A comment for the business account."
          },
          "customerOrganizationId": {
            "type": "string",
            "description": "The unique numeric ID of the customer organization."
          },
          "customerOrganizationName": {
            "type": "string",
            "description": "The name of the customer organization."
          },
          "customerUserId": {
            "type": "string",
            "description": "The unique numeric ID of the user that is the customer contact."
          },
          "customerUserName": {
            "type": "string",
            "description": "The name of the user that is the customer contact."
          },
          "customerContactInformation": {
            "type": "string",
            "description": "The customer's contact information."
          },
          "numberOfContracts": {
            "type": "integer",
            "description": "The number of contracts in this business account.",
            "format": "int32"
          },
          "allowDefaultContract": {
            "type": "boolean",
            "description": "Indicates that purchases using the store's default contract are allowed."
          },
          "baseContractAccount": {
            "type": "boolean",
            "description": "Indicates that the account is for base contracts."
          },
          "mustSpecifyPurchaseOrderNumber": {
            "type": "boolean",
            "description": "Indicates that the purchase order number must be specified when an order is placed."
          },
          "checkPurchaseOrderNumberUniqueness": {
            "type": "boolean",
            "description": "Indicates that the system must check that the purchase order numbers are unique."
          },
          "allowPersonalBillingAddress": {
            "type": "boolean",
            "description": "Allow customers to select billing addresses from their personal address book."
          },
          "allowParentOrganizationBillingAddress": {
            "type": "boolean",
            "description": "Allow customers to select billing addresses from their parent organization's address book."
          },
          "allowAccountOrganizationBillingAddress": {
            "type": "boolean",
            "description": "Allow customers to select billing addresses from the account organization's address book."
          },
          "allowPersonalShippingAddress": {
            "type": "boolean",
            "description": "Allow customers to select shipping addresses from their personal address book."
          },
          "allowParentOrganizationShippingAddress": {
            "type": "boolean",
            "description": "Allow customers to select shipping addresses from their parent organization's address book."
          },
          "allowAccountOrganizationShippingAddress": {
            "type": "boolean",
            "description": "Allow customers to select shipping addresses from the account organization's address book."
          },
          "extendedTermConditions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedTermCondition"
            },
            "description": "The extended terms and conditions for this account."
          }
        }
      },
      "AccountCreate": {
        "type": "object",
        "properties": {
          "storeId": {
            "type": "integer",
            "description": "The unique numeric ID of the store that contains the account.",
            "format": "int32"
          },
          "sellerOrganizationId": {
            "type": "string",
            "description": "The unique numeric ID of the seller organization.",
            "x-introduced": "9.1.12.0"
          },
          "comment": {
            "type": "string",
            "description": "A comment for the business account."
          },
          "customerOrganizationId": {
            "type": "string",
            "description": "The unique numeric ID of the customer organization."
          },
          "customerOrganizationName": {
            "type": "string",
            "description": "The name of the customer organization."
          },
          "customerUserId": {
            "type": "string",
            "description": "The unique numeric ID of the user that is the customer contact."
          },
          "customerUserName": {
            "type": "string",
            "description": "The name of the user that is the customer contact."
          },
          "customerContactInformation": {
            "type": "string",
            "description": "The customer's contact information."
          },
          "numberOfContracts": {
            "type": "integer",
            "description": "The number of contracts in this business account.",
            "format": "int32"
          },
          "allowDefaultContract": {
            "type": "boolean",
            "description": "Indicates that purchases using the store's default contract are allowed."
          },
          "baseContractAccount": {
            "type": "boolean",
            "description": "Indicates that the account is for base contracts."
          },
          "mustSpecifyPurchaseOrderNumber": {
            "type": "boolean",
            "description": "Indicates that the purchase order number must be specified when an order is placed."
          },
          "checkPurchaseOrderNumberUniqueness": {
            "type": "boolean",
            "description": "Indicates that the system must check that the purchase order numbers are unique."
          },
          "allowPersonalBillingAddress": {
            "type": "boolean",
            "description": "Allow customers to select billing addresses from their personal address book."
          },
          "allowParentOrganizationBillingAddress": {
            "type": "boolean",
            "description": "Allow customers to select billing addresses from their parent organization's address book."
          },
          "allowAccountOrganizationBillingAddress": {
            "type": "boolean",
            "description": "Allow customers to select billing addresses from the account organization's address book."
          },
          "allowPersonalShippingAddress": {
            "type": "boolean",
            "description": "Allow customers to select shipping addresses from their personal address book."
          },
          "allowParentOrganizationShippingAddress": {
            "type": "boolean",
            "description": "Allow customers to select shipping addresses from their parent organization's address book."
          },
          "allowAccountOrganizationShippingAddress": {
            "type": "boolean",
            "description": "Allow customers to select shipping addresses from the account organization's address book."
          },
          "extendedTermConditions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedTermCondition"
            },
            "description": "The extended terms and conditions for this account."
          }
        }
      },
      "AccountPurchaseOrderCollection": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The number of account purchase orders in total.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountPurchaseOrder"
            }
          },
          "limit": {
            "type": "integer",
            "description": "The number of purchase orders returned.",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "description": "The starting position of the first purchase order.",
            "format": "int32"
          }
        }
      },
      "AccountPurchaseOrder": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique numeric ID for identifying the account purchase order."
          },
          "accountId": {
            "type": "string",
            "description": "The unique numeric ID of the account that contains this purchase order."
          },
          "purchaseOrderNumber": {
            "type": "string",
            "description": "The purchase order number."
          },
          "spendingLimitValue": {
            "type": "number",
            "description": "The spending limit value for the purchase order."
          },
          "spendingLimitCurrency": {
            "type": "string",
            "description": "The spending limit currency for the purchase order."
          },
          "totalSpentValue": {
            "type": "number",
            "description": "The total amount spent for this purchase order."
          }
        }
      },
      "AccountPurchaseOrders": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "description": "The unique numeric ID of the account that contains this purchase order."
          },
          "purchaseOrderNumber": {
            "type": "string",
            "description": "The purchase order number."
          },
          "spendingLimitValue": {
            "type": "number",
            "description": "The spending limit value for the purchase order."
          },
          "spendingLimitCurrency": {
            "type": "string",
            "description": "The spending limit currency for the purchase order."
          },
          "totalSpentValue": {
            "type": "number",
            "description": "The total amount spent for this purchase order."
          }
        }
      },
      "AccountPaymentMethodCollection": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The number of account payment methods in total.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountPaymentMethod"
            }
          },
          "limit": {
            "type": "integer",
            "description": "The number of account payment methods returned.",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "description": "The starting position of the first account payment method.",
            "format": "int32"
          }
        }
      },
      "AccountPaymentMethod": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique numeric ID for identifying the account payment method."
          },
          "accountId": {
            "type": "string",
            "description": "The unique numeric ID of the account that contains this payment method."
          },
          "paymentMethodId": {
            "type": "string",
            "description": "The unique numeric ID of the payment method."
          },
          "description": {
            "type": "string",
            "description": "The description of the account payment method."
          },
          "billingAddressNickName": {
            "type": "string",
            "description": "The nick name of the billing address."
          },
          "billingAddressOrganizationId": {
            "type": "string",
            "description": "The unique numeric ID of the organization that owns the billing address."
          },
          "creditCardBrand": {
            "type": "string",
            "description": "The credit card brand."
          },
          "accountNumber": {
            "type": "string",
            "description": "The account number of the payment method."
          },
          "expiryMonth": {
            "type": "string",
            "description": "The two digit number of the expiry month of the credit card."
          },
          "expiryYear": {
            "type": "string",
            "description": "The four digit number of the expiry year of the credit card."
          },
          "cvv": {
            "type": "string",
            "description": "The card verification value."
          },
          "checkRoutingNumber": {
            "type": "string",
            "description": "The check routing number."
          }
        }
      },
      "AccountPaymentMethods": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "description": "The unique numeric ID of the account that contains this payment method."
          },
          "paymentMethodId": {
            "type": "string",
            "description": "The unique numeric ID of the payment method."
          },
          "description": {
            "type": "string",
            "description": "The description of the account payment method."
          },
          "billingAddressNickName": {
            "type": "string",
            "description": "The nick name of the billing address."
          },
          "billingAddressOrganizationId": {
            "type": "string",
            "description": "The unique numeric ID of the organization that owns the billing address."
          },
          "creditCardBrand": {
            "type": "string",
            "description": "The credit card brand."
          },
          "accountNumber": {
            "type": "string",
            "description": "The account number of the payment method."
          },
          "expiryMonth": {
            "type": "string",
            "description": "The two digit number of the expiry month of the credit card."
          },
          "expiryYear": {
            "type": "string",
            "description": "The four digit number of the expiry year of the credit card."
          },
          "cvv": {
            "type": "string",
            "description": "The card verification value."
          },
          "checkRoutingNumber": {
            "type": "string",
            "description": "The check routing number."
          }
        }
      },
      "AccountShippingMethodCollection": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The number of account shipping methods in total.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountShippingMethod"
            }
          },
          "limit": {
            "type": "integer",
            "description": "The number of account shipping methods returned.",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "description": "The starting position of the first account shipping method.",
            "format": "int32"
          }
        }
      },
      "AccountShippingMethod": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique numeric ID for identifying the account shipping method."
          },
          "accountId": {
            "type": "string",
            "description": "The unique numeric ID of the account that contains this shipping method."
          },
          "shippingMethodId": {
            "type": "string",
            "description": "The unique numeric ID of the shipping method."
          }
        }
      },
      "AccountShippingMethods": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "description": "The unique numeric ID of the account that contains this shipping method."
          },
          "shippingMethodId": {
            "type": "string",
            "description": "The unique numeric ID of the shipping method."
          }
        }
      },
      "AccountShippingChargeCollection": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The number of account shipping charges in total.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountShippingCharge"
            }
          },
          "limit": {
            "type": "integer",
            "description": "The number of account shipping charges returned.",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "description": "The starting position of the first account shipping charge.",
            "format": "int32"
          }
        }
      },
      "AccountShippingCharge": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique numeric ID for identifying the account shipping charge."
          },
          "accountId": {
            "type": "string",
            "description": "The unique numeric ID of the account that contains this shipping charge."
          },
          "shippingChargeId": {
            "type": "string",
            "description": "The unique numeric ID of the shipping charge."
          }
        }
      },
      "AccountShippingCharges": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "description": "The unique numeric ID of the account that contains this shipping charge."
          },
          "shippingChargeId": {
            "type": "string",
            "description": "The unique numeric ID of the shipping charge."
          }
        }
      },
      "AccountShippingAddressCollection": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The number of account shipping addresses in total.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountShippingAddress"
            }
          },
          "limit": {
            "type": "integer",
            "description": "The number of account shipping addresses returned.",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "description": "The starting position of the first account shipping address.",
            "format": "int32"
          }
        }
      },
      "AccountShippingAddress": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique numeric ID for identifying the account shipping address."
          },
          "accountId": {
            "type": "string",
            "description": "The unique numeric ID of the account that contains this shipping address."
          },
          "shippingAddressNickName": {
            "type": "string",
            "description": "The unique numeric ID of the shipping charge."
          },
          "shippingAddressOrganizationId": {
            "type": "string",
            "description": "The unique numeric ID of the organization that owns the shipping address."
          }
        }
      },
      "AccountShippingAddres": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "description": "The unique numeric ID of the account that contains this shipping address."
          },
          "shippingAddressNickName": {
            "type": "string",
            "description": "The unique numeric ID of the shipping charge."
          },
          "shippingAddressOrganizationId": {
            "type": "string",
            "description": "The unique numeric ID of the organization that owns the shipping address."
          }
        }
      },
      "ContractCollection": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The number of contract records in total based on the query parameters specified.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Contract"
            }
          },
          "offset": {
            "type": "integer",
            "description": "The starting position of the first contract record.",
            "format": "int32"
          }
        }
      },
      "Contract": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique numeric ID for identifying the contract."
          },
          "accountId": {
            "type": "string",
            "description": "The unique numeric ID of the type of the account that contains this contract."
          },
          "sellerOrganizationId": {
            "type": "string",
            "description": "The unique numeric ID of the seller organization that owns this contract.",
            "x-introduced": "9.1.12.0"
          },
          "storeIdentifier": {
            "type": "string",
            "description": "The store identifier of the store that is associated with this contract.",
            "x-introduced": "9.1.12.0"
          },
          "storeId": {
            "type": "integer",
            "format": "int32",
            "description": "The unique numeric ID of the store that is associated with this contract.",
            "x-introduced": "9.1.12.0"
          },
          "name": {
            "type": "string",
            "description": "The name of the contract."
          },
          "description": {
            "type": "string",
            "description": "The contract description."
          },
          "longDescription": {
            "type": "string",
            "description": "The contract long description."
          },
          "comment": {
            "type": "string",
            "description": "A comment for the contract."
          },
          "status": {
            "type": "string",
            "description": "The status of the contract. Possible values are \n * draft\n * submitted\n * approved\n * active\n * rejected\n * canceled\n * suspended\n * deploying\n * deployFailed"
          },
          "baseContractId": {
            "type": "string",
            "description": "The unique numeric ID for identifying this contract's base contract."
          },
          "baseContractName": {
            "type": "string",
            "description": "The name of this contract's base contract."
          },
          "customerOrganizationName": {
            "type": "string",
            "description": "The account holder organization name of the account that contains this contract."
          },
          "createDate": {
            "type": "string",
            "description": "The create date of the contract."
          },
          "updateDate": {
            "type": "string",
            "description": "The last update date of the contract."
          },
          "startDate": {
            "type": "string",
            "description": "The start date of the contract."
          },
          "endDate": {
            "type": "string",
            "description": "The end date of the contract."
          },
          "majorVersion": {
            "type": "string",
            "description": "The major version of the new contract."
          },
          "minorVersion": {
            "type": "string",
            "description": "The minor version of the new contract."
          },
          "defaultContract": {
            "type": "boolean",
            "description": "Indicates that the contract is a default contract.",
            "x-introduced": "9.1.12.0"
          },
          "accountContract": {
            "type": "boolean",
            "description": "Indicates that the contract is an account contract.",
            "x-introduced": "9.1.12.0"
          },
          "allowAccountCreditLine": {
            "type": "boolean",
            "description": "Allow customers to make purchase using the account's line of credit."
          },
          "allowPersonalBillingAddress": {
            "type": "boolean",
            "description": "Allow customers to select billing addresses from their personal address book."
          },
          "allowParentOrganizationBillingAddress": {
            "type": "boolean",
            "description": "Allow customers to select billing addresses from their parent organization's address book."
          },
          "allowAccountOrganizationBillingAddress": {
            "type": "boolean",
            "description": "Allow customers to select billing addresses from the account organization's address book."
          },
          "allowPersonalShippingAddress": {
            "type": "boolean",
            "description": "Allow customers to select shipping addresses from their personal address book."
          },
          "allowParentOrganizationShippingAddress": {
            "type": "boolean",
            "description": "Allow customers to select shipping addresses from their parent organization's address book."
          },
          "allowAccountOrganizationShippingAddress": {
            "type": "boolean",
            "description": "Allow customers to select shipping addresses from the account organization's address book."
          },
          "priceRuleId": {
            "type": "string",
            "description": "The unique numeric ID for identifying the price rule associated with this contract."
          },
          "catalogFilterId": {
            "type": "string",
            "description": "The unique numeric ID for identifying the catalog filter associated with this contract."
          },
          "orderApprovalMinimumValue": {
            "type": "number",
            "description": "The minimum monetary value for orders that must be approved."
          },
          "orderApprovalCurrency": {
            "type": "string",
            "description": "The currency for orderApprovalMinimumValue."
          },
          "extendedTermConditions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedTermCondition"
            },
            "description": "The extended terms and conditions for this contract."
          }
        }
      },
      "ContractCreate": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "description": "The unique numeric ID of the type of the account that contains this contract."
          },
          "sellerOrganizationId": {
            "type": "string",
            "description": "The unique numeric ID of the seller organization that owns this contract.",
            "x-introduced": "9.1.12.0"
          },
          "name": {
            "type": "string",
            "description": "The name of the contract."
          },
          "description": {
            "type": "string",
            "description": "The contract description."
          },
          "longDescription": {
            "type": "string",
            "description": "The contract long description."
          },
          "comment": {
            "type": "string",
            "description": "A comment for the contract."
          },
          "status": {
            "type": "string",
            "description": "The status of the contract. Possible values are \n * draft\n * submitted\n * approved\n * active\n * rejected\n * canceled\n * suspended\n * deploying\n * deployFailed"
          },
          "baseContractId": {
            "type": "string",
            "description": "The unique numeric ID for identifying this contract's base contract."
          },
          "baseContractName": {
            "type": "string",
            "description": "The name of this contract's base contract."
          },
          "createDate": {
            "type": "string",
            "description": "The create date of the contract."
          },
          "updateDate": {
            "type": "string",
            "description": "The last update date of the contract."
          },
          "startDate": {
            "type": "string",
            "description": "The start date of the contract."
          },
          "endDate": {
            "type": "string",
            "description": "The end date of the contract."
          },
          "majorVersion": {
            "type": "string",
            "description": "The major version of the new contract."
          },
          "defaultContract": {
            "type": "boolean",
            "description": "Indicates that the contract is a default contract.",
            "x-introduced": "9.1.12.0"
          },
          "minorVersion": {
            "type": "string",
            "description": "The minor version of the new contract."
          },
          "allowAccountCreditLine": {
            "type": "boolean",
            "description": "Allow customers to make purchase using the account's line of credit."
          },
          "allowPersonalBillingAddress": {
            "type": "boolean",
            "description": "Allow customers to select billing addresses from their personal address book."
          },
          "allowParentOrganizationBillingAddress": {
            "type": "boolean",
            "description": "Allow customers to select billing addresses from their parent organization's address book."
          },
          "allowAccountOrganizationBillingAddress": {
            "type": "boolean",
            "description": "Allow customers to select billing addresses from the account organization's address book."
          },
          "allowPersonalShippingAddress": {
            "type": "boolean",
            "description": "Allow customers to select shipping addresses from their personal address book."
          },
          "allowParentOrganizationShippingAddress": {
            "type": "boolean",
            "description": "Allow customers to select shipping addresses from their parent organization's address book."
          },
          "allowAccountOrganizationShippingAddress": {
            "type": "boolean",
            "description": "Allow customers to select shipping addresses from the account organization's address book."
          },
          "priceRuleId": {
            "type": "string",
            "description": "The unique numeric ID for identifying the price rule associated with this contract."
          },
          "catalogFilterId": {
            "type": "string",
            "description": "The unique numeric ID for identifying the catalog filter associated with this contract."
          },
          "orderApprovalMinimumValue": {
            "type": "number",
            "description": "The minimum monetary value for orders that must be approved."
          },
          "orderApprovalCurrency": {
            "type": "string",
            "description": "The currency for orderApprovalMinimumValue."
          },
          "extendedTermConditions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExtendedTermCondition"
            },
            "description": "The extended terms and conditions for this contract."
          }
        }
      },
      "ContractCopy": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the new contract."
          }
        }
      },
      "ContractBuyerCollection": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The number of contract buyers in total.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContractBuyer"
            }
          },
          "limit": {
            "type": "integer",
            "description": "The number of contract buyers returned.",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "description": "The starting position of the first contract buyer.",
            "format": "int32"
          }
        }
      },
      "ContractBuyer": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique numeric ID for identifying the contract buyer."
          },
          "contractId": {
            "type": "string",
            "description": "The unique numeric ID of the contract that contains this buyer."
          },
          "memberId": {
            "type": "string",
            "description": "The unique numeric ID of the buyer member."
          },
          "memberType": {
            "type": "string",
            "description": "The type of member. Possible values are organization, memberGroup and user."
          }
        }
      },
      "ContractBuyers": {
        "type": "object",
        "properties": {
          "contractId": {
            "type": "string",
            "description": "The unique numeric ID of the contract that contains this buyer."
          },
          "memberId": {
            "type": "string",
            "description": "The unique numeric ID of the buyer member."
          },
          "memberType": {
            "type": "string",
            "description": "The type of member. Possible values are organization, memberGroup and user."
          }
        }
      },
      "ContractPaymentMethodCollection": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The number of contract payment methods in total.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContractPaymentMethod"
            }
          },
          "limit": {
            "type": "integer",
            "description": "The number of contract payment methods returned.",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "description": "The starting position of the first contract payment method.",
            "format": "int32"
          }
        }
      },
      "ContractPaymentMethod": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique numeric ID for identifying the contract payment method."
          },
          "contractId": {
            "type": "string",
            "description": "The unique numeric ID of the contract that contains this payment method."
          },
          "paymentMethodId": {
            "type": "string",
            "description": "The unique numeric ID of the payment method."
          },
          "description": {
            "type": "string",
            "description": "The description of the contract payment method."
          },
          "billingAddressNickName": {
            "type": "string",
            "description": "The nick name of the billing address."
          },
          "billingAddressOrganizationId": {
            "type": "string",
            "description": "The unique numeric ID of the organization that owns the billing address."
          },
          "creditCardBrand": {
            "type": "string",
            "description": "The credit card brand."
          },
          "accountNumber": {
            "type": "string",
            "description": "The account number of the payment method."
          },
          "expiryMonth": {
            "type": "string",
            "description": "The two digit number of the expiry month of the credit card."
          },
          "expiryYear": {
            "type": "string",
            "description": "The four digit number of the expiry year of the credit card."
          },
          "cvv": {
            "type": "string",
            "description": "The card verification value."
          },
          "checkRoutingNumber": {
            "type": "string",
            "description": "The check routing number."
          }
        }
      },
      "ContractPaymentMethods": {
        "type": "object",
        "properties": {
          "contractId": {
            "type": "string",
            "description": "The unique numeric ID of the contract that contains this payment method."
          },
          "paymentMethodId": {
            "type": "string",
            "description": "The unique numeric ID of the payment method."
          },
          "description": {
            "type": "string",
            "description": "The description of the contract payment method."
          },
          "billingAddressNickName": {
            "type": "string",
            "description": "The nick name of the billing address."
          },
          "billingAddressOrganizationId": {
            "type": "string",
            "description": "The unique numeric ID of the organization that owns the billing address."
          },
          "creditCardBrand": {
            "type": "string",
            "description": "The credit card brand."
          },
          "accountNumber": {
            "type": "string",
            "description": "The account number of the payment method."
          },
          "expiryMonth": {
            "type": "string",
            "description": "The two digit number of the expiry month of the credit card."
          },
          "expiryYear": {
            "type": "string",
            "description": "The four digit number of the expiry year of the credit card."
          },
          "cvv": {
            "type": "string",
            "description": "The card verification value."
          },
          "checkRoutingNumber": {
            "type": "string",
            "description": "The check routing number."
          }
        }
      },
      "ContractShippingMethodCollection": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The number of contract shipping methods in total.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContractShippingMethod"
            }
          },
          "limit": {
            "type": "integer",
            "description": "The number of contract shipping methods returned.",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "description": "The starting position of the first contract shipping method.",
            "format": "int32"
          }
        }
      },
      "ContractShippingMethod": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique numeric ID for identifying the contract shipping method."
          },
          "contractId": {
            "type": "string",
            "description": "The unique numeric ID of the contract that contains this shipping method."
          },
          "shippingMethodId": {
            "type": "string",
            "description": "The unique numeric ID of the shipping method."
          }
        }
      },
      "ContractShippingMethods": {
        "type": "object",
        "properties": {
          "contractId": {
            "type": "string",
            "description": "The unique numeric ID of the contract that contains this shipping method."
          },
          "shippingMethodId": {
            "type": "string",
            "description": "The unique numeric ID of the shipping method."
          }
        }
      },
      "ContractShippingChargeCollection": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The number of contract shipping charges in total.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContractShippingCharge"
            }
          },
          "limit": {
            "type": "integer",
            "description": "The number of contract shipping charges returned.",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "description": "The starting position of the first contract shipping charge.",
            "format": "int32"
          }
        }
      },
      "ContractShippingCharge": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique numeric ID for identifying the contract shipping charge."
          },
          "contractId": {
            "type": "string",
            "description": "The unique numeric ID of the contract that contains this shipping charge."
          },
          "shippingChargeId": {
            "type": "string",
            "description": "The unique numeric ID of the shipping charge."
          }
        }
      },
      "ContractShippingCharges": {
        "type": "object",
        "properties": {
          "contractId": {
            "type": "string",
            "description": "The unique numeric ID of the contract that contains this shipping charge."
          },
          "shippingChargeId": {
            "type": "string",
            "description": "The unique numeric ID of the shipping charge."
          }
        }
      },
      "ContractShippingAddressCollection": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The number of contract shipping addresses in total.",
            "format": "int32"
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContractShippingAddress"
            }
          },
          "limit": {
            "type": "integer",
            "description": "The number of contract shipping addresses returned.",
            "format": "int32"
          },
          "offset": {
            "type": "integer",
            "description": "The starting position of the first contract shipping address.",
            "format": "int32"
          }
        }
      },
      "ContractShippingAddress": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique numeric ID for identifying the contract shipping address."
          },
          "contractId": {
            "type": "string",
            "description": "The unique numeric ID of the contract that contains this shipping address."
          },
          "shippingAddressNickName": {
            "type": "string",
            "description": "The unique numeric ID of the shipping charge."
          },
          "shippingAddressOrganizationId": {
            "type": "string",
            "description": "The unique numeric ID of the organization that owns the shipping address."
          }
        }
      },
      "ContractShippingAddres": {
        "type": "object",
        "properties": {
          "contractId": {
            "type": "string",
            "description": "The unique numeric ID of the contract that contains this shipping address."
          },
          "shippingAddressNickName": {
            "type": "string",
            "description": "The unique numeric ID of the shipping charge."
          },
          "shippingAddressOrganizationId": {
            "type": "string",
            "description": "The unique numeric ID of the organization that owns the shipping address."
          }
        }
      },
      "ExtendedTermCondition": {
        "properties": {
          "identifier": {
            "type": "string",
            "description": "The identifier for this term condition."
          },
          "properties": {
            "type": "object",
            "description": "The term condition properties.",
            "additionalProperties": {}
          }
        }
      },
      "ExtendedTermConditionConfigurationCollection": {
        "properties": {
          "count": {
            "format": "int32",
            "type": "integer",
            "description": "The number of term condition configuration records in total based on the query parameters specified."
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/ExtendedTermConditionConfiguration"
            },
            "type": "array"
          },
          "limit": {
            "format": "int32",
            "type": "integer",
            "description": "The number of term condition configuration records returned."
          },
          "offset": {
            "format": "int32",
            "type": "integer",
            "description": "The starting position of the first term condition configuration record."
          }
        }
      },
      "ExtendedTermConditionConfiguration": {
        "properties": {
          "identifier": {
            "type": "string",
            "description": "The identifier of the extended term condition."
          },
          "usage": {
            "description": "The usage for this extended term condition. Valid values are 'Contract', 'Account' and 'All'.",
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "The name of this extended term condition."
          },
          "description": {
            "type": "string",
            "description": "The description of this extended term condition."
          },
          "properties": {
            "items": {
              "$ref": "#/components/schemas/ExtendedTermConditionPropertyConfiguration"
            },
            "type": "array"
          }
        }
      },
      "ExtendedTermConditionPropertyConfiguration": {
        "properties": {
          "identifier": {
            "type": "string",
            "description": "The identifier of the extended term property condition."
          },
          "dataType": {
            "description": "The data type for this extended term condition property. Valid values are \n* DATATYPE_LONG \n* DATATYPE_INTEGER \n* DATATYPE_TIMESTAMP \n* DATATYPE_STRING \n* DATATYPE_DOUBLE \n* DATATYPE_BIGDECIMAL",
            "type": "string"
          },
          "maximumLength": {
            "description": "The maximum number of characters allowed. This value is only set if 'dataType' is set to 'DATATYPE_STRING''.",
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "The name of this extended term condition."
          },
          "description": {
            "type": "string",
            "description": "The description of this extended term condition."
          },
          "editable": {
            "type": "boolean",
            "description": "Indicates that the property can be modified."
          },
          "required": {
            "type": "boolean",
            "description": "Indicates that the property is required."
          }
        }
      },
      "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."
      }
    },
    "securitySchemes": {
      "basicAuth": {
        "type": "http",
        "scheme": "basic"
      }
    }
  },
  "security": [
    {
      "basicAuth": []
    }
  ]
}
