{
  "openapi": "3.0.3",
  "info": {
    "title": "Skutopia Public Gateway API",
    "description": "Skutopia API",
    "version": "2026-09-18"
  },
  "servers": [
    {
      "url": "https://api.skutopia.com/"
    }
  ],
  "tags": [
    {
      "name": "Authentication",
      "description": "SKUTOPIA uses OAuth 2.0, a well-known standard. Every SKUTOPIA API call is authenticated with a short-lived JWT access token. You are issued a `client_id` and `client_secret` from the API Keys page of this portal; the secret is shown once, at creation, and cannot be retrieved later.\n\nThe credentials themselves are **not** an API key -- they are not sent to the API. Exchange them for an access token at the token endpoint using the OAuth 2.0 [client credentials grant](https://datatracker.ietf.org/doc/html/rfc6749#section-4.4), then send that token as a bearer token on each request:\n\n```\nAuthorization: Bearer <access_token>\n```\n\nThe token endpoint accepts both `client_secret_post` (credentials in the form body) and `client_secret_basic` (credentials in the `Authorization` header). Each client is registered for exactly one of them -- see the token endpoint for which applies to your credentials.\n\nTokens expire (see `expires_in` on the token response). Cache the token in memory and reuse it until shortly before it expires, then mint a new one -- minting a token per request will get you rate limited. Treat the `client_secret` as a server-side secret: it must never reach a browser, a mobile app, or a source repository."
    }
  ],
  "paths": {
    "/v0/organizations/{organizationId}/invoices/{invoiceId}": {
      "get": {
        "operationId": "publicApi-getInvoiceById",
        "summary": "Get a detail breakdown of a specific invoice",
        "tags": [
          "Billing"
        ],
        "security": [
          {
            "Authorization": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "organizationId",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "in": "path",
            "name": "invoiceId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "number": {
                      "type": "string"
                    },
                    "status": {
                      "anyOf": [
                        {
                          "type": "string",
                          "const": "FINALIZED"
                        },
                        {
                          "type": "string",
                          "const": "PAID"
                        },
                        {
                          "type": "string",
                          "const": "PAST_DUE"
                        },
                        {
                          "type": "string",
                          "const": "VOIDED"
                        },
                        {
                          "type": "string",
                          "const": "REFUNDED"
                        },
                        {
                          "type": "string",
                          "const": "UNCOLLECTIBLE"
                        }
                      ]
                    },
                    "subtotal": {
                      "type": "object",
                      "properties": {
                        "amountInMinorUnit": {
                          "type": "number"
                        },
                        "currency": {
                          "description": "ISO 4217 currency code (e.g. \"AUD\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "amountInMinorUnit",
                        "currency"
                      ],
                      "additionalProperties": false
                    },
                    "totalExcludingTax": {
                      "type": "object",
                      "properties": {
                        "amountInMinorUnit": {
                          "type": "number"
                        },
                        "currency": {
                          "description": "ISO 4217 currency code (e.g. \"AUD\")",
                          "type": "string"
                        }
                      },
                      "required": [
                        "amountInMinorUnit",
                        "currency"
                      ],
                      "additionalProperties": false
                    },
                    "dueDate": {
                      "type": "string",
                      "format": "date",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
                    },
                    "paidAt": {
                      "type": "string",
                      "format": "date",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
                    },
                    "pdfUrl": {
                      "type": "string"
                    },
                    "lineItems": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "description": {
                            "type": "string"
                          },
                          "taxRate": {
                            "type": "number"
                          },
                          "quantity": {
                            "type": "number"
                          },
                          "unitAmountExcludingTax": {
                            "type": "object",
                            "properties": {
                              "amountInMinorUnit": {
                                "type": "number"
                              },
                              "currency": {
                                "description": "ISO 4217 currency code (e.g. \"AUD\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "amountInMinorUnit",
                              "currency"
                            ],
                            "additionalProperties": false
                          }
                        },
                        "required": [
                          "description",
                          "taxRate",
                          "quantity",
                          "unitAmountExcludingTax"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "id",
                    "number",
                    "status",
                    "subtotal",
                    "totalExcludingTax",
                    "lineItems"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "Invalid input data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.BAD_REQUEST"
                }
              }
            }
          },
          "401": {
            "description": "Authorization not provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.UNAUTHORIZED"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient access",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.FORBIDDEN"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.NOT_FOUND"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
                }
              }
            }
          }
        }
      }
    },
    "/v0/organizations/{organizationId}/invoices": {
      "get": {
        "operationId": "publicApi-listInvoices",
        "summary": "List all the invoices belonging to an account - accessible only by the account owner",
        "tags": [
          "Billing"
        ],
        "security": [
          {
            "Authorization": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "organizationId",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "number": {
                            "type": "string"
                          },
                          "status": {
                            "anyOf": [
                              {
                                "type": "string",
                                "const": "FINALIZED"
                              },
                              {
                                "type": "string",
                                "const": "PAID"
                              },
                              {
                                "type": "string",
                                "const": "PAST_DUE"
                              },
                              {
                                "type": "string",
                                "const": "VOIDED"
                              },
                              {
                                "type": "string",
                                "const": "REFUNDED"
                              },
                              {
                                "type": "string",
                                "const": "UNCOLLECTIBLE"
                              }
                            ]
                          },
                          "subtotal": {
                            "type": "object",
                            "properties": {
                              "amountInMinorUnit": {
                                "type": "number"
                              },
                              "currency": {
                                "description": "ISO 4217 currency code (e.g. \"AUD\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "amountInMinorUnit",
                              "currency"
                            ],
                            "additionalProperties": false
                          },
                          "totalExcludingTax": {
                            "type": "object",
                            "properties": {
                              "amountInMinorUnit": {
                                "type": "number"
                              },
                              "currency": {
                                "description": "ISO 4217 currency code (e.g. \"AUD\")",
                                "type": "string"
                              }
                            },
                            "required": [
                              "amountInMinorUnit",
                              "currency"
                            ],
                            "additionalProperties": false
                          },
                          "dueDate": {
                            "type": "string",
                            "format": "date",
                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
                          },
                          "paidAt": {
                            "type": "string",
                            "format": "date",
                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
                          }
                        },
                        "required": [
                          "id",
                          "number",
                          "status",
                          "subtotal",
                          "totalExcludingTax"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "items"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "Invalid input data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.BAD_REQUEST"
                }
              }
            }
          },
          "401": {
            "description": "Authorization not provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.UNAUTHORIZED"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient access",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.FORBIDDEN"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.NOT_FOUND"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
                }
              }
            }
          }
        }
      }
    },
    "/v0/organizations/{organizationId}/inventory": {
      "get": {
        "operationId": "inventory-publicApiAllInventory",
        "summary": "Get inventory levels for all items across warehouse locations.",
        "tags": [
          "Inventory"
        ],
        "security": [
          {
            "Authorization": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "organizationId",
            "schema": {
              "description": "The organization ID for which to fetch inventory numbers for.",
              "type": "string"
            },
            "required": true,
            "description": "The organization ID for which to fetch inventory numbers for."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "warehouseId": {
                            "type": "string"
                          },
                          "items": {
                            "type": "array",
                            "items": {
                              "type": "object",
                              "properties": {
                                "barcode": {
                                  "description": "Barcode for the item we are reporting inventory levels for.",
                                  "type": "string"
                                },
                                "onHand": {
                                  "description": "On-hand inventory represents the number of items that are physically received at a warehouse location.",
                                  "type": "integer",
                                  "minimum": -9007199254740991,
                                  "maximum": 9007199254740991
                                },
                                "sellable": {
                                  "description": "Sellable inventory represents the number of items available, not already reserved or allocated for fulfilment.",
                                  "type": "integer",
                                  "minimum": -9007199254740991,
                                  "maximum": 9007199254740991
                                }
                              },
                              "required": [
                                "barcode",
                                "onHand",
                                "sellable"
                              ],
                              "additionalProperties": false
                            }
                          }
                        },
                        "required": [
                          "warehouseId",
                          "items"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "items"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "Invalid input data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.BAD_REQUEST"
                }
              }
            }
          },
          "401": {
            "description": "Authorization not provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.UNAUTHORIZED"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient access",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.FORBIDDEN"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.NOT_FOUND"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
                }
              }
            }
          }
        }
      }
    },
    "/oauth2/token": {
      "post": {
        "summary": "Client credentials token exchange flow",
        "description": "Exchanges your `client_id` and `client_secret` for a JWT access token. The request body is `application/x-www-form-urlencoded` -- not JSON.\n\nOry pins each client to exactly one client authentication method, fixed when the client is created. Presenting credentials the other way fails with `401 invalid_client`, and the `error_description` names the method your client is registered for. **Credentials issued from the API Keys page of this portal are registered for `client_secret_post`.**\n\nSwitch between the two methods with the request example selector; the sample request updates to match.\n\n- **`client_secret_post`** -- `client_id` and `client_secret` are two more fields in the form body, and nothing goes in the `Authorization` header.\n- **`client_secret_basic`** -- the body carries only `grant_type`, and the pair travels in the `Authorization` header instead, as `Basic base64(client_id + \":\" + client_secret)`. The sample request does not show this header: it is your credential, not something the gateway supplies. Both values must be form-urlencoded *before* they are base64-encoded ([RFC 6749 2.3.1](https://datatracker.ietf.org/doc/html/rfc6749#section-2.3.1)); `curl -u` does not do that for you, so percent-encode any character outside `A-Z a-z 0-9 - . _ ~` yourself first.\n\nThe returned `access_token` is a signed JWT. The gateway verifies it against the authorization server's JWKS, so tokens cannot be minted or modified anywhere else. You do not need to parse or validate it yourself -- send it back as `Authorization: Bearer <access_token>`. To find which authorization server issues tokens for this gateway, request `/.well-known/oauth-protected-resource`; its `authorization_servers` entry points at the issuer, whose `/.well-known/openid-configuration` carries the JWKS location.",
        "operationId": "oauth2-token",
        "tags": [
          "Authentication"
        ],
        "security": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "oneOf": [
                  {
                    "title": "client_secret_post",
                    "type": "object",
                    "description": "Credentials travel in the form body. This is the method credentials issued from the API Keys page are registered for.",
                    "required": [
                      "grant_type",
                      "client_id",
                      "client_secret"
                    ],
                    "properties": {
                      "grant_type": {
                        "type": "string",
                        "enum": [
                          "client_credentials"
                        ],
                        "description": "Always `client_credentials`.",
                        "example": "client_credentials"
                      },
                      "client_id": {
                        "type": "string",
                        "description": "The client id issued to you.",
                        "example": "8f0a0d2e-1c3b-4a5d-9e7f-6b2c1d3e4f50"
                      },
                      "client_secret": {
                        "type": "string",
                        "format": "password",
                        "description": "The client secret issued to you.",
                        "example": "s3cr3t-value-shown-once"
                      },
                      "scope": {
                        "type": "string",
                        "description": "Optional, space-delimited. SKUTOPIA APIs do not currently require a scope -- leave this unset unless you have been told otherwise."
                      }
                    }
                  },
                  {
                    "title": "client_secret_basic",
                    "type": "object",
                    "description": "Credentials travel in the `Authorization: Basic ...` header instead of the body, so the body carries only the grant. Only for clients registered for `client_secret_basic`.",
                    "required": [
                      "grant_type"
                    ],
                    "properties": {
                      "grant_type": {
                        "type": "string",
                        "enum": [
                          "client_credentials"
                        ],
                        "description": "Always `client_credentials`.",
                        "example": "client_credentials"
                      },
                      "scope": {
                        "type": "string",
                        "description": "Optional, space-delimited. SKUTOPIA APIs do not currently require a scope -- leave this unset unless you have been told otherwise."
                      }
                    }
                  }
                ]
              },
              "examples": {
                "clientSecretPost": {
                  "summary": "client_secret_post — credentials in the body",
                  "description": "Everything travels in the form body, so the sample request is complete as shown. This is the method credentials issued from the API Keys page are registered for.",
                  "value": {
                    "grant_type": "client_credentials",
                    "client_id": "8f0a0d2e-1c3b-4a5d-9e7f-6b2c1d3e4f50",
                    "client_secret": "s3cr3t-value-shown-once"
                  }
                },
                "clientSecretBasic": {
                  "summary": "client_secret_basic — credentials in the Authorization header",
                  "description": "The body carries only the grant. The credentials go in the `Authorization` header as `Basic base64(client_id + \":\" + client_secret)`, which is why they are absent below -- add that header yourself.",
                  "value": {
                    "grant_type": "client_credentials"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "A new access token.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "access_token",
                    "token_type",
                    "expires_in"
                  ],
                  "properties": {
                    "access_token": {
                      "type": "string",
                      "description": "The JWT to send as `Authorization: Bearer <access_token>`.",
                      "example": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjZmNTRhMWMyLTNiNGQtNGU1Zi04YTliLTBjMWQyZTNmNGE1YiIsInR5cCI6IkpXVCJ9.eyJhdWQiOltdLCJjbGllbnRfaWQiOiI4ZjBhMGQyZS0xYzNiLTRhNWQtOWU3Zi02YjJjMWQzZTRmNTAiLCJleHAiOjE3ODc3Mzg0MDAsImlhdCI6MTc4NzczNDgwMCwiaXNzIjoiaHR0cHM6Ly9vcnkuc2t1dG9waWEuY29tIiwianRpIjoiYjFkOWMwZTctNTJhNC00ZjE4LTlkM2MtN2U2YTViNGMzZDJlIiwic2NwIjpbXSwic3ViIjoiOGYwYTBkMmUtMWMzYi00YTVkLTllN2YtNmIyYzFkM2U0ZjUwIn0.EXAMPLE-SIGNATURE-NOT-VALID"
                    },
                    "token_type": {
                      "type": "string",
                      "description": "Always `bearer`.",
                      "example": "bearer"
                    },
                    "expires_in": {
                      "type": "integer",
                      "description": "Seconds until the token expires. Reuse the token until shortly before this elapses rather than minting one per request.",
                      "example": 3599
                    },
                    "scope": {
                      "type": "string",
                      "description": "The scopes granted. Empty unless you requested one.",
                      "example": ""
                    }
                  }
                },
                "examples": {
                  "accessToken": {
                    "summary": "A newly minted access token",
                    "description": "The `access_token` here is a structurally valid sample -- its header and payload decode, its signature does not verify.",
                    "value": {
                      "access_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjZmNTRhMWMyLTNiNGQtNGU1Zi04YTliLTBjMWQyZTNmNGE1YiIsInR5cCI6IkpXVCJ9.eyJhdWQiOltdLCJjbGllbnRfaWQiOiI4ZjBhMGQyZS0xYzNiLTRhNWQtOWU3Zi02YjJjMWQzZTRmNTAiLCJleHAiOjE3ODc3Mzg0MDAsImlhdCI6MTc4NzczNDgwMCwiaXNzIjoiaHR0cHM6Ly9vcnkuc2t1dG9waWEuY29tIiwianRpIjoiYjFkOWMwZTctNTJhNC00ZjE4LTlkM2MtN2U2YTViNGMzZDJlIiwic2NwIjpbXSwic3ViIjoiOGYwYTBkMmUtMWMzYi00YTVkLTllN2YtNmIyYzFkM2U0ZjUwIn0.EXAMPLE-SIGNATURE-NOT-VALID",
                      "expires_in": 3599,
                      "scope": "",
                      "token_type": "bearer"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "A required form field is missing or malformed, or no credentials were supplied by either method. Note that Ory authenticates the client before it validates the grant, so bad credentials surface as a 401 even when `grant_type` is also wrong.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "The OAuth 2.0 error response defined by [RFC 6749](https://datatracker.ietf.org/doc/html/rfc6749#section-5.2). Additional diagnostic fields may be present; do not depend on them.",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "string",
                      "description": "The error code, e.g. `invalid_client`, `invalid_request`, `unsupported_grant_type`.",
                      "example": "invalid_client"
                    },
                    "error_description": {
                      "type": "string",
                      "description": "A human-readable explanation. For display and logs -- branch on `error`, not on this."
                    }
                  }
                },
                "examples": {
                  "missingGrantType": {
                    "summary": "No credentials supplied by either method",
                    "value": {
                      "error": "invalid_request",
                      "error_description": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Client credentials missing or malformed in both HTTP Authorization header and HTTP POST body."
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "The `client_id` is unknown, the `client_secret` is wrong, the client has been revoked, or the credentials were presented using the method the client is *not* registered for.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "The OAuth 2.0 error response defined by [RFC 6749](https://datatracker.ietf.org/doc/html/rfc6749#section-5.2). Additional diagnostic fields may be present; do not depend on them.",
                  "required": [
                    "error"
                  ],
                  "properties": {
                    "error": {
                      "type": "string",
                      "description": "The error code, e.g. `invalid_client`, `invalid_request`, `unsupported_grant_type`.",
                      "example": "invalid_client"
                    },
                    "error_description": {
                      "type": "string",
                      "description": "A human-readable explanation. For display and logs -- branch on `error`, not on this."
                    }
                  }
                },
                "examples": {
                  "unknownClient": {
                    "summary": "Unknown client or wrong secret",
                    "value": {
                      "error": "invalid_client",
                      "error_description": "Client authentication failed (e.g., unknown client, no client authentication included, or unsupported authentication method). Unable to locate the resource"
                    }
                  },
                  "wrongAuthMethod": {
                    "summary": "Right credentials, wrong authentication method",
                    "value": {
                      "error": "invalid_client",
                      "error_description": "Client authentication failed (e.g., unknown client, no client authentication included, or unsupported authentication method). The OAuth 2.0 Client supports client authentication method 'client_secret_basic', but method 'client_secret_post' was requested. You must configure the OAuth 2.0 client's 'token_endpoint_auth_method' value to accept 'client_secret_post'."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v0/whoami": {
      "get": {
        "operationId": "oauth2Clients-whoAmI",
        "summary": "Debug endpoint to return the identity of the OAuth2 authenticated caller",
        "tags": [
          "User"
        ],
        "security": [
          {
            "Authorization": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "properties": {
                        "clientType": {
                          "type": "string",
                          "const": "USER"
                        },
                        "clientId": {
                          "type": "string"
                        },
                        "userId": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "clientType",
                        "clientId",
                        "userId"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "object",
                      "properties": {
                        "clientType": {
                          "type": "string",
                          "const": "ORGANIZATION"
                        },
                        "clientId": {
                          "type": "string"
                        },
                        "organizationId": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "clientType",
                        "clientId",
                        "organizationId"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "object",
                      "properties": {
                        "clientType": {
                          "type": "string",
                          "const": "CONNECTOR"
                        },
                        "clientId": {
                          "type": "string"
                        },
                        "connectionIds": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "clientType",
                        "clientId",
                        "connectionIds"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "object",
                      "properties": {
                        "clientType": {
                          "type": "string",
                          "const": "SERVICE"
                        },
                        "clientId": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "clientType",
                        "clientId"
                      ],
                      "additionalProperties": false
                    }
                  ],
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Invalid input data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.BAD_REQUEST"
                }
              }
            }
          },
          "401": {
            "description": "Authorization not provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.UNAUTHORIZED"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient access",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.FORBIDDEN"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.NOT_FOUND"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
                }
              }
            }
          }
        }
      }
    },
    "/v0/organizations": {
      "get": {
        "operationId": "organizations-listOauthTokenAuthorizedOrganizations",
        "summary": "List the organizations the authenticated context has access to.",
        "tags": [
          "Organizations"
        ],
        "security": [
          {
            "Authorization": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "organizations": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "name"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "organizations"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "Invalid input data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.BAD_REQUEST"
                }
              }
            }
          },
          "401": {
            "description": "Authorization not provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.UNAUTHORIZED"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient access",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.FORBIDDEN"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.NOT_FOUND"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
                }
              }
            }
          }
        }
      }
    },
    "/v0/organizations/{organizationId}/stores/{storeId}/sales-orders": {
      "post": {
        "operationId": "salesOrders-createSalesOrder",
        "summary": "Create a sales order",
        "description": "Accepts a sales order for ingestion into SKUTOPIA.",
        "tags": [
          "Sales Orders"
        ],
        "security": [
          {
            "Authorization": []
          }
        ],
        "parameters": [
          {
            "in": "header",
            "name": "Idempotency-Key",
            "schema": {
              "description": "Client-supplied key used for idempotency, requests using the same key will return the same result for at least 3 months.",
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "organizationId",
            "schema": {
              "description": "The organization the store belongs to.",
              "type": "string"
            },
            "required": true,
            "description": "The organization the store belongs to."
          },
          {
            "in": "path",
            "name": "storeId",
            "schema": {
              "description": "The store to create the sales order against.",
              "type": "string"
            },
            "required": true,
            "description": "The store to create the sales order against."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "orderReference": {
                    "description": "Your reference for the order. Displayed for informational purposes.",
                    "type": "string",
                    "minLength": 1
                  },
                  "placedAt": {
                    "description": "ISO 8601 timestamp at which the order was placed.",
                    "type": "string"
                  },
                  "note": {
                    "description": "A generic order note, can be attached to the order and viewed in the SKUTOPIA Shipping Platform",
                    "type": "string"
                  },
                  "customer": {
                    "type": "object",
                    "properties": {
                      "firstName": {
                        "type": "string"
                      },
                      "lastName": {
                        "type": "string"
                      },
                      "contactNumber": {
                        "type": "string"
                      },
                      "email": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "firstName"
                    ]
                  },
                  "lineItems": {
                    "minItems": 1,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "name": {
                          "description": "Product name.",
                          "type": "string"
                        },
                        "sku": {
                          "description": "Stock Keeping Unit.",
                          "type": "string",
                          "minLength": 1
                        },
                        "barcode": {
                          "type": "string"
                        },
                        "quantity": {
                          "type": "integer",
                          "minimum": 1,
                          "maximum": 9007199254740991
                        },
                        "price": {
                          "description": "Price of a single item.",
                          "type": "object",
                          "properties": {
                            "currency": {
                              "description": "ISO 4217 currency code.",
                              "example": "AUD",
                              "type": "string",
                              "enum": [
                                "AED",
                                "AFN",
                                "ALL",
                                "AMD",
                                "ANG",
                                "AOA",
                                "ARS",
                                "AUD",
                                "AWG",
                                "AZN",
                                "BAM",
                                "BBD",
                                "BDT",
                                "BGN",
                                "BHD",
                                "BIF",
                                "BMD",
                                "BND",
                                "BOB",
                                "BOV",
                                "BRL",
                                "BSD",
                                "BTN",
                                "BWP",
                                "BYN",
                                "BZD",
                                "CAD",
                                "CDF",
                                "CHE",
                                "CHF",
                                "CHW",
                                "CLF",
                                "CLP",
                                "CNY",
                                "COP",
                                "COU",
                                "CRC",
                                "CUC",
                                "CUP",
                                "CVE",
                                "CZK",
                                "DJF",
                                "DKK",
                                "DOP",
                                "DZD",
                                "EGP",
                                "ERN",
                                "ETB",
                                "EUR",
                                "FJD",
                                "FKP",
                                "GBP",
                                "GEL",
                                "GHS",
                                "GIP",
                                "GMD",
                                "GNF",
                                "GTQ",
                                "GYD",
                                "HKD",
                                "HNL",
                                "HTG",
                                "HUF",
                                "IDR",
                                "ILS",
                                "INR",
                                "IQD",
                                "IRR",
                                "ISK",
                                "JMD",
                                "JOD",
                                "JPY",
                                "KES",
                                "KGS",
                                "KHR",
                                "KMF",
                                "KPW",
                                "KRW",
                                "KWD",
                                "KYD",
                                "KZT",
                                "LAK",
                                "LBP",
                                "LKR",
                                "LRD",
                                "LSL",
                                "LYD",
                                "MAD",
                                "MDL",
                                "MGA",
                                "MKD",
                                "MMK",
                                "MNT",
                                "MOP",
                                "MRU",
                                "MUR",
                                "MVR",
                                "MWK",
                                "MXN",
                                "MXV",
                                "MYR",
                                "MZN",
                                "NAD",
                                "NGN",
                                "NIO",
                                "NOK",
                                "NPR",
                                "NZD",
                                "OMR",
                                "PAB",
                                "PEN",
                                "PGK",
                                "PHP",
                                "PKR",
                                "PLN",
                                "PYG",
                                "QAR",
                                "RON",
                                "RSD",
                                "RUB",
                                "RWF",
                                "SAR",
                                "SBD",
                                "SCR",
                                "SDG",
                                "SEK",
                                "SGD",
                                "SHP",
                                "SLE",
                                "SOS",
                                "SRD",
                                "SSP",
                                "STN",
                                "SVC",
                                "SYP",
                                "SZL",
                                "THB",
                                "TJS",
                                "TMT",
                                "TND",
                                "TOP",
                                "TRY",
                                "TTD",
                                "TWD",
                                "TZS",
                                "UAH",
                                "UGX",
                                "USD",
                                "USN",
                                "UYI",
                                "UYU",
                                "UYW",
                                "UZS",
                                "VED",
                                "VES",
                                "VND",
                                "VUV",
                                "WST",
                                "XAF",
                                "XCD",
                                "XOF",
                                "XPF",
                                "YER",
                                "ZAR",
                                "ZMW",
                                "ZWG"
                              ]
                            },
                            "amountInMinorUnit": {
                              "description": "Amount in the smallest unit of the currency (ie. cents for USD or AUD).",
                              "example": 1550,
                              "type": "integer",
                              "minimum": -9007199254740991,
                              "maximum": 9007199254740991
                            }
                          },
                          "required": [
                            "currency",
                            "amountInMinorUnit"
                          ]
                        },
                        "minShelfLifeDays": {
                          "description": "Minimum remaining shelf life, in days, required for this item at the time it is picked.",
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        },
                        "weightGram": {
                          "description": "Weight of a single item in grams. When omitted, the weight of the matching product configured in the SKUTOPIA Shipping Platform is used.",
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        },
                        "harmonizedCode": {
                          "description": "Harmonized System code, used for customs declarations.",
                          "type": "string"
                        },
                        "countryCodeOfOrigin": {
                          "description": "ISO 3166-1 alpha-2 code of the country of origin.",
                          "type": "string",
                          "enum": [
                            "AF",
                            "AX",
                            "AL",
                            "DZ",
                            "AS",
                            "AD",
                            "AO",
                            "AI",
                            "AQ",
                            "AG",
                            "AR",
                            "AM",
                            "AW",
                            "AU",
                            "AT",
                            "AZ",
                            "BS",
                            "BH",
                            "BD",
                            "BB",
                            "BY",
                            "BE",
                            "BZ",
                            "BJ",
                            "BM",
                            "BT",
                            "BO",
                            "BA",
                            "BW",
                            "BV",
                            "BR",
                            "IO",
                            "BN",
                            "BG",
                            "BF",
                            "BI",
                            "KH",
                            "CM",
                            "CA",
                            "CV",
                            "CW",
                            "KY",
                            "CF",
                            "TD",
                            "CL",
                            "CN",
                            "CX",
                            "CC",
                            "CO",
                            "KM",
                            "CG",
                            "CD",
                            "CK",
                            "CR",
                            "CI",
                            "HR",
                            "CU",
                            "CY",
                            "CZ",
                            "DK",
                            "DJ",
                            "DM",
                            "DO",
                            "EC",
                            "EG",
                            "SV",
                            "GQ",
                            "ER",
                            "EE",
                            "ET",
                            "FK",
                            "FO",
                            "FJ",
                            "FI",
                            "FR",
                            "GF",
                            "PF",
                            "TF",
                            "GA",
                            "GM",
                            "GE",
                            "DE",
                            "GH",
                            "GI",
                            "GR",
                            "GL",
                            "GD",
                            "GP",
                            "GU",
                            "GT",
                            "GG",
                            "GN",
                            "GW",
                            "GY",
                            "HT",
                            "HM",
                            "VA",
                            "HN",
                            "HK",
                            "HU",
                            "IS",
                            "IN",
                            "ID",
                            "IR",
                            "IQ",
                            "IE",
                            "IM",
                            "IL",
                            "IT",
                            "JM",
                            "JP",
                            "JE",
                            "JO",
                            "KZ",
                            "KE",
                            "KI",
                            "KR",
                            "KW",
                            "KG",
                            "LA",
                            "LV",
                            "LB",
                            "LS",
                            "LR",
                            "LY",
                            "LI",
                            "LT",
                            "LU",
                            "MO",
                            "MK",
                            "MG",
                            "MW",
                            "MY",
                            "MV",
                            "ML",
                            "MT",
                            "MH",
                            "MQ",
                            "MR",
                            "MU",
                            "YT",
                            "MX",
                            "FM",
                            "MD",
                            "MC",
                            "MN",
                            "ME",
                            "MS",
                            "MA",
                            "MZ",
                            "MM",
                            "NA",
                            "NR",
                            "NP",
                            "NL",
                            "AN",
                            "NC",
                            "NZ",
                            "NI",
                            "NE",
                            "NG",
                            "NU",
                            "NF",
                            "MP",
                            "NO",
                            "OM",
                            "PK",
                            "PW",
                            "PS",
                            "PA",
                            "PG",
                            "PY",
                            "PE",
                            "PH",
                            "PN",
                            "PL",
                            "PT",
                            "PR",
                            "QA",
                            "RE",
                            "RO",
                            "RU",
                            "RW",
                            "BL",
                            "SH",
                            "KN",
                            "LC",
                            "MF",
                            "PM",
                            "VC",
                            "WS",
                            "SM",
                            "ST",
                            "SA",
                            "SN",
                            "RS",
                            "SC",
                            "SL",
                            "SG",
                            "SK",
                            "SI",
                            "SB",
                            "SO",
                            "ZA",
                            "GS",
                            "ES",
                            "LK",
                            "SD",
                            "SR",
                            "SJ",
                            "SX",
                            "SZ",
                            "SE",
                            "CH",
                            "SY",
                            "TW",
                            "TJ",
                            "TZ",
                            "TH",
                            "TL",
                            "TG",
                            "TK",
                            "TO",
                            "TT",
                            "TN",
                            "TR",
                            "TM",
                            "TC",
                            "TV",
                            "UG",
                            "UA",
                            "AE",
                            "GB",
                            "US",
                            "UM",
                            "UY",
                            "UZ",
                            "VU",
                            "VE",
                            "VN",
                            "VG",
                            "VI",
                            "WF",
                            "EH",
                            "YE",
                            "ZM",
                            "ZW",
                            "XK"
                          ]
                        }
                      },
                      "required": [
                        "name",
                        "sku",
                        "barcode",
                        "quantity",
                        "price"
                      ]
                    }
                  },
                  "shipping": {
                    "type": "object",
                    "properties": {
                      "method": {
                        "description": "Shipping method, used to configure shipping rules within the SKUTOPIA Shipping Platform.",
                        "type": "string"
                      },
                      "authorityToLeave": {
                        "description": "Whether the carrier is authorised to leave the parcel.",
                        "default": "NOT_SPECIFIED",
                        "type": "string",
                        "enum": [
                          "NOT_SPECIFIED",
                          "YES",
                          "NO"
                        ]
                      },
                      "labelNote": {
                        "description": "Optional note to print on the shipping label.",
                        "type": "string"
                      },
                      "address": {
                        "type": "object",
                        "properties": {
                          "line1": {
                            "type": "string"
                          },
                          "line2": {
                            "type": "string"
                          },
                          "locality": {
                            "description": "Locality, for example a city or suburb.",
                            "type": "string"
                          },
                          "stateProvince": {
                            "type": "string"
                          },
                          "postalCode": {
                            "type": "string"
                          },
                          "countryCode": {
                            "description": "ISO 3166-1 alpha-2 country code.",
                            "type": "string",
                            "enum": [
                              "AF",
                              "AX",
                              "AL",
                              "DZ",
                              "AS",
                              "AD",
                              "AO",
                              "AI",
                              "AQ",
                              "AG",
                              "AR",
                              "AM",
                              "AW",
                              "AU",
                              "AT",
                              "AZ",
                              "BS",
                              "BH",
                              "BD",
                              "BB",
                              "BY",
                              "BE",
                              "BZ",
                              "BJ",
                              "BM",
                              "BT",
                              "BO",
                              "BA",
                              "BW",
                              "BV",
                              "BR",
                              "IO",
                              "BN",
                              "BG",
                              "BF",
                              "BI",
                              "KH",
                              "CM",
                              "CA",
                              "CV",
                              "CW",
                              "KY",
                              "CF",
                              "TD",
                              "CL",
                              "CN",
                              "CX",
                              "CC",
                              "CO",
                              "KM",
                              "CG",
                              "CD",
                              "CK",
                              "CR",
                              "CI",
                              "HR",
                              "CU",
                              "CY",
                              "CZ",
                              "DK",
                              "DJ",
                              "DM",
                              "DO",
                              "EC",
                              "EG",
                              "SV",
                              "GQ",
                              "ER",
                              "EE",
                              "ET",
                              "FK",
                              "FO",
                              "FJ",
                              "FI",
                              "FR",
                              "GF",
                              "PF",
                              "TF",
                              "GA",
                              "GM",
                              "GE",
                              "DE",
                              "GH",
                              "GI",
                              "GR",
                              "GL",
                              "GD",
                              "GP",
                              "GU",
                              "GT",
                              "GG",
                              "GN",
                              "GW",
                              "GY",
                              "HT",
                              "HM",
                              "VA",
                              "HN",
                              "HK",
                              "HU",
                              "IS",
                              "IN",
                              "ID",
                              "IR",
                              "IQ",
                              "IE",
                              "IM",
                              "IL",
                              "IT",
                              "JM",
                              "JP",
                              "JE",
                              "JO",
                              "KZ",
                              "KE",
                              "KI",
                              "KR",
                              "KW",
                              "KG",
                              "LA",
                              "LV",
                              "LB",
                              "LS",
                              "LR",
                              "LY",
                              "LI",
                              "LT",
                              "LU",
                              "MO",
                              "MK",
                              "MG",
                              "MW",
                              "MY",
                              "MV",
                              "ML",
                              "MT",
                              "MH",
                              "MQ",
                              "MR",
                              "MU",
                              "YT",
                              "MX",
                              "FM",
                              "MD",
                              "MC",
                              "MN",
                              "ME",
                              "MS",
                              "MA",
                              "MZ",
                              "MM",
                              "NA",
                              "NR",
                              "NP",
                              "NL",
                              "AN",
                              "NC",
                              "NZ",
                              "NI",
                              "NE",
                              "NG",
                              "NU",
                              "NF",
                              "MP",
                              "NO",
                              "OM",
                              "PK",
                              "PW",
                              "PS",
                              "PA",
                              "PG",
                              "PY",
                              "PE",
                              "PH",
                              "PN",
                              "PL",
                              "PT",
                              "PR",
                              "QA",
                              "RE",
                              "RO",
                              "RU",
                              "RW",
                              "BL",
                              "SH",
                              "KN",
                              "LC",
                              "MF",
                              "PM",
                              "VC",
                              "WS",
                              "SM",
                              "ST",
                              "SA",
                              "SN",
                              "RS",
                              "SC",
                              "SL",
                              "SG",
                              "SK",
                              "SI",
                              "SB",
                              "SO",
                              "ZA",
                              "GS",
                              "ES",
                              "LK",
                              "SD",
                              "SR",
                              "SJ",
                              "SX",
                              "SZ",
                              "SE",
                              "CH",
                              "SY",
                              "TW",
                              "TJ",
                              "TZ",
                              "TH",
                              "TL",
                              "TG",
                              "TK",
                              "TO",
                              "TT",
                              "TN",
                              "TR",
                              "TM",
                              "TC",
                              "TV",
                              "UG",
                              "UA",
                              "AE",
                              "GB",
                              "US",
                              "UM",
                              "UY",
                              "UZ",
                              "VU",
                              "VE",
                              "VN",
                              "VG",
                              "VI",
                              "WF",
                              "EH",
                              "YE",
                              "ZM",
                              "ZW",
                              "XK"
                            ]
                          }
                        },
                        "required": [
                          "countryCode"
                        ]
                      },
                      "recipient": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "company": {
                            "type": "string"
                          },
                          "contactNumber": {
                            "type": "string"
                          },
                          "email": {
                            "type": "string"
                          }
                        }
                      },
                      "charged": {
                        "description": "What the customer was charged for shipping.",
                        "type": "object",
                        "properties": {
                          "amountExcludingTax": {
                            "description": "A monetary amount in an ISO 4217 currency.",
                            "type": "object",
                            "properties": {
                              "currency": {
                                "description": "ISO 4217 currency code.",
                                "example": "AUD",
                                "type": "string",
                                "enum": [
                                  "AED",
                                  "AFN",
                                  "ALL",
                                  "AMD",
                                  "ANG",
                                  "AOA",
                                  "ARS",
                                  "AUD",
                                  "AWG",
                                  "AZN",
                                  "BAM",
                                  "BBD",
                                  "BDT",
                                  "BGN",
                                  "BHD",
                                  "BIF",
                                  "BMD",
                                  "BND",
                                  "BOB",
                                  "BOV",
                                  "BRL",
                                  "BSD",
                                  "BTN",
                                  "BWP",
                                  "BYN",
                                  "BZD",
                                  "CAD",
                                  "CDF",
                                  "CHE",
                                  "CHF",
                                  "CHW",
                                  "CLF",
                                  "CLP",
                                  "CNY",
                                  "COP",
                                  "COU",
                                  "CRC",
                                  "CUC",
                                  "CUP",
                                  "CVE",
                                  "CZK",
                                  "DJF",
                                  "DKK",
                                  "DOP",
                                  "DZD",
                                  "EGP",
                                  "ERN",
                                  "ETB",
                                  "EUR",
                                  "FJD",
                                  "FKP",
                                  "GBP",
                                  "GEL",
                                  "GHS",
                                  "GIP",
                                  "GMD",
                                  "GNF",
                                  "GTQ",
                                  "GYD",
                                  "HKD",
                                  "HNL",
                                  "HTG",
                                  "HUF",
                                  "IDR",
                                  "ILS",
                                  "INR",
                                  "IQD",
                                  "IRR",
                                  "ISK",
                                  "JMD",
                                  "JOD",
                                  "JPY",
                                  "KES",
                                  "KGS",
                                  "KHR",
                                  "KMF",
                                  "KPW",
                                  "KRW",
                                  "KWD",
                                  "KYD",
                                  "KZT",
                                  "LAK",
                                  "LBP",
                                  "LKR",
                                  "LRD",
                                  "LSL",
                                  "LYD",
                                  "MAD",
                                  "MDL",
                                  "MGA",
                                  "MKD",
                                  "MMK",
                                  "MNT",
                                  "MOP",
                                  "MRU",
                                  "MUR",
                                  "MVR",
                                  "MWK",
                                  "MXN",
                                  "MXV",
                                  "MYR",
                                  "MZN",
                                  "NAD",
                                  "NGN",
                                  "NIO",
                                  "NOK",
                                  "NPR",
                                  "NZD",
                                  "OMR",
                                  "PAB",
                                  "PEN",
                                  "PGK",
                                  "PHP",
                                  "PKR",
                                  "PLN",
                                  "PYG",
                                  "QAR",
                                  "RON",
                                  "RSD",
                                  "RUB",
                                  "RWF",
                                  "SAR",
                                  "SBD",
                                  "SCR",
                                  "SDG",
                                  "SEK",
                                  "SGD",
                                  "SHP",
                                  "SLE",
                                  "SOS",
                                  "SRD",
                                  "SSP",
                                  "STN",
                                  "SVC",
                                  "SYP",
                                  "SZL",
                                  "THB",
                                  "TJS",
                                  "TMT",
                                  "TND",
                                  "TOP",
                                  "TRY",
                                  "TTD",
                                  "TWD",
                                  "TZS",
                                  "UAH",
                                  "UGX",
                                  "USD",
                                  "USN",
                                  "UYI",
                                  "UYU",
                                  "UYW",
                                  "UZS",
                                  "VED",
                                  "VES",
                                  "VND",
                                  "VUV",
                                  "WST",
                                  "XAF",
                                  "XCD",
                                  "XOF",
                                  "XPF",
                                  "YER",
                                  "ZAR",
                                  "ZMW",
                                  "ZWG"
                                ]
                              },
                              "amountInMinorUnit": {
                                "description": "Amount in the smallest unit of the currency (ie. cents for USD or AUD).",
                                "example": 1550,
                                "type": "integer",
                                "minimum": -9007199254740991,
                                "maximum": 9007199254740991
                              }
                            },
                            "required": [
                              "currency",
                              "amountInMinorUnit"
                            ]
                          },
                          "tax": {
                            "description": "A monetary amount in an ISO 4217 currency.",
                            "type": "object",
                            "properties": {
                              "currency": {
                                "description": "ISO 4217 currency code.",
                                "example": "AUD",
                                "type": "string",
                                "enum": [
                                  "AED",
                                  "AFN",
                                  "ALL",
                                  "AMD",
                                  "ANG",
                                  "AOA",
                                  "ARS",
                                  "AUD",
                                  "AWG",
                                  "AZN",
                                  "BAM",
                                  "BBD",
                                  "BDT",
                                  "BGN",
                                  "BHD",
                                  "BIF",
                                  "BMD",
                                  "BND",
                                  "BOB",
                                  "BOV",
                                  "BRL",
                                  "BSD",
                                  "BTN",
                                  "BWP",
                                  "BYN",
                                  "BZD",
                                  "CAD",
                                  "CDF",
                                  "CHE",
                                  "CHF",
                                  "CHW",
                                  "CLF",
                                  "CLP",
                                  "CNY",
                                  "COP",
                                  "COU",
                                  "CRC",
                                  "CUC",
                                  "CUP",
                                  "CVE",
                                  "CZK",
                                  "DJF",
                                  "DKK",
                                  "DOP",
                                  "DZD",
                                  "EGP",
                                  "ERN",
                                  "ETB",
                                  "EUR",
                                  "FJD",
                                  "FKP",
                                  "GBP",
                                  "GEL",
                                  "GHS",
                                  "GIP",
                                  "GMD",
                                  "GNF",
                                  "GTQ",
                                  "GYD",
                                  "HKD",
                                  "HNL",
                                  "HTG",
                                  "HUF",
                                  "IDR",
                                  "ILS",
                                  "INR",
                                  "IQD",
                                  "IRR",
                                  "ISK",
                                  "JMD",
                                  "JOD",
                                  "JPY",
                                  "KES",
                                  "KGS",
                                  "KHR",
                                  "KMF",
                                  "KPW",
                                  "KRW",
                                  "KWD",
                                  "KYD",
                                  "KZT",
                                  "LAK",
                                  "LBP",
                                  "LKR",
                                  "LRD",
                                  "LSL",
                                  "LYD",
                                  "MAD",
                                  "MDL",
                                  "MGA",
                                  "MKD",
                                  "MMK",
                                  "MNT",
                                  "MOP",
                                  "MRU",
                                  "MUR",
                                  "MVR",
                                  "MWK",
                                  "MXN",
                                  "MXV",
                                  "MYR",
                                  "MZN",
                                  "NAD",
                                  "NGN",
                                  "NIO",
                                  "NOK",
                                  "NPR",
                                  "NZD",
                                  "OMR",
                                  "PAB",
                                  "PEN",
                                  "PGK",
                                  "PHP",
                                  "PKR",
                                  "PLN",
                                  "PYG",
                                  "QAR",
                                  "RON",
                                  "RSD",
                                  "RUB",
                                  "RWF",
                                  "SAR",
                                  "SBD",
                                  "SCR",
                                  "SDG",
                                  "SEK",
                                  "SGD",
                                  "SHP",
                                  "SLE",
                                  "SOS",
                                  "SRD",
                                  "SSP",
                                  "STN",
                                  "SVC",
                                  "SYP",
                                  "SZL",
                                  "THB",
                                  "TJS",
                                  "TMT",
                                  "TND",
                                  "TOP",
                                  "TRY",
                                  "TTD",
                                  "TWD",
                                  "TZS",
                                  "UAH",
                                  "UGX",
                                  "USD",
                                  "USN",
                                  "UYI",
                                  "UYU",
                                  "UYW",
                                  "UZS",
                                  "VED",
                                  "VES",
                                  "VND",
                                  "VUV",
                                  "WST",
                                  "XAF",
                                  "XCD",
                                  "XOF",
                                  "XPF",
                                  "YER",
                                  "ZAR",
                                  "ZMW",
                                  "ZWG"
                                ]
                              },
                              "amountInMinorUnit": {
                                "description": "Amount in the smallest unit of the currency (ie. cents for USD or AUD).",
                                "example": 1550,
                                "type": "integer",
                                "minimum": -9007199254740991,
                                "maximum": 9007199254740991
                              }
                            },
                            "required": [
                              "currency",
                              "amountInMinorUnit"
                            ]
                          }
                        },
                        "required": [
                          "amountExcludingTax",
                          "tax"
                        ]
                      },
                      "discount": {
                        "description": "Shipping discount applied to the order. Send a zero amount when no discount applies.",
                        "type": "object",
                        "properties": {
                          "amountExcludingTax": {
                            "description": "A monetary amount in an ISO 4217 currency.",
                            "type": "object",
                            "properties": {
                              "currency": {
                                "description": "ISO 4217 currency code.",
                                "example": "AUD",
                                "type": "string",
                                "enum": [
                                  "AED",
                                  "AFN",
                                  "ALL",
                                  "AMD",
                                  "ANG",
                                  "AOA",
                                  "ARS",
                                  "AUD",
                                  "AWG",
                                  "AZN",
                                  "BAM",
                                  "BBD",
                                  "BDT",
                                  "BGN",
                                  "BHD",
                                  "BIF",
                                  "BMD",
                                  "BND",
                                  "BOB",
                                  "BOV",
                                  "BRL",
                                  "BSD",
                                  "BTN",
                                  "BWP",
                                  "BYN",
                                  "BZD",
                                  "CAD",
                                  "CDF",
                                  "CHE",
                                  "CHF",
                                  "CHW",
                                  "CLF",
                                  "CLP",
                                  "CNY",
                                  "COP",
                                  "COU",
                                  "CRC",
                                  "CUC",
                                  "CUP",
                                  "CVE",
                                  "CZK",
                                  "DJF",
                                  "DKK",
                                  "DOP",
                                  "DZD",
                                  "EGP",
                                  "ERN",
                                  "ETB",
                                  "EUR",
                                  "FJD",
                                  "FKP",
                                  "GBP",
                                  "GEL",
                                  "GHS",
                                  "GIP",
                                  "GMD",
                                  "GNF",
                                  "GTQ",
                                  "GYD",
                                  "HKD",
                                  "HNL",
                                  "HTG",
                                  "HUF",
                                  "IDR",
                                  "ILS",
                                  "INR",
                                  "IQD",
                                  "IRR",
                                  "ISK",
                                  "JMD",
                                  "JOD",
                                  "JPY",
                                  "KES",
                                  "KGS",
                                  "KHR",
                                  "KMF",
                                  "KPW",
                                  "KRW",
                                  "KWD",
                                  "KYD",
                                  "KZT",
                                  "LAK",
                                  "LBP",
                                  "LKR",
                                  "LRD",
                                  "LSL",
                                  "LYD",
                                  "MAD",
                                  "MDL",
                                  "MGA",
                                  "MKD",
                                  "MMK",
                                  "MNT",
                                  "MOP",
                                  "MRU",
                                  "MUR",
                                  "MVR",
                                  "MWK",
                                  "MXN",
                                  "MXV",
                                  "MYR",
                                  "MZN",
                                  "NAD",
                                  "NGN",
                                  "NIO",
                                  "NOK",
                                  "NPR",
                                  "NZD",
                                  "OMR",
                                  "PAB",
                                  "PEN",
                                  "PGK",
                                  "PHP",
                                  "PKR",
                                  "PLN",
                                  "PYG",
                                  "QAR",
                                  "RON",
                                  "RSD",
                                  "RUB",
                                  "RWF",
                                  "SAR",
                                  "SBD",
                                  "SCR",
                                  "SDG",
                                  "SEK",
                                  "SGD",
                                  "SHP",
                                  "SLE",
                                  "SOS",
                                  "SRD",
                                  "SSP",
                                  "STN",
                                  "SVC",
                                  "SYP",
                                  "SZL",
                                  "THB",
                                  "TJS",
                                  "TMT",
                                  "TND",
                                  "TOP",
                                  "TRY",
                                  "TTD",
                                  "TWD",
                                  "TZS",
                                  "UAH",
                                  "UGX",
                                  "USD",
                                  "USN",
                                  "UYI",
                                  "UYU",
                                  "UYW",
                                  "UZS",
                                  "VED",
                                  "VES",
                                  "VND",
                                  "VUV",
                                  "WST",
                                  "XAF",
                                  "XCD",
                                  "XOF",
                                  "XPF",
                                  "YER",
                                  "ZAR",
                                  "ZMW",
                                  "ZWG"
                                ]
                              },
                              "amountInMinorUnit": {
                                "description": "Amount in the smallest unit of the currency (ie. cents for USD or AUD).",
                                "example": 1550,
                                "type": "integer",
                                "minimum": -9007199254740991,
                                "maximum": 9007199254740991
                              }
                            },
                            "required": [
                              "currency",
                              "amountInMinorUnit"
                            ]
                          },
                          "tax": {
                            "description": "A monetary amount in an ISO 4217 currency.",
                            "type": "object",
                            "properties": {
                              "currency": {
                                "description": "ISO 4217 currency code.",
                                "example": "AUD",
                                "type": "string",
                                "enum": [
                                  "AED",
                                  "AFN",
                                  "ALL",
                                  "AMD",
                                  "ANG",
                                  "AOA",
                                  "ARS",
                                  "AUD",
                                  "AWG",
                                  "AZN",
                                  "BAM",
                                  "BBD",
                                  "BDT",
                                  "BGN",
                                  "BHD",
                                  "BIF",
                                  "BMD",
                                  "BND",
                                  "BOB",
                                  "BOV",
                                  "BRL",
                                  "BSD",
                                  "BTN",
                                  "BWP",
                                  "BYN",
                                  "BZD",
                                  "CAD",
                                  "CDF",
                                  "CHE",
                                  "CHF",
                                  "CHW",
                                  "CLF",
                                  "CLP",
                                  "CNY",
                                  "COP",
                                  "COU",
                                  "CRC",
                                  "CUC",
                                  "CUP",
                                  "CVE",
                                  "CZK",
                                  "DJF",
                                  "DKK",
                                  "DOP",
                                  "DZD",
                                  "EGP",
                                  "ERN",
                                  "ETB",
                                  "EUR",
                                  "FJD",
                                  "FKP",
                                  "GBP",
                                  "GEL",
                                  "GHS",
                                  "GIP",
                                  "GMD",
                                  "GNF",
                                  "GTQ",
                                  "GYD",
                                  "HKD",
                                  "HNL",
                                  "HTG",
                                  "HUF",
                                  "IDR",
                                  "ILS",
                                  "INR",
                                  "IQD",
                                  "IRR",
                                  "ISK",
                                  "JMD",
                                  "JOD",
                                  "JPY",
                                  "KES",
                                  "KGS",
                                  "KHR",
                                  "KMF",
                                  "KPW",
                                  "KRW",
                                  "KWD",
                                  "KYD",
                                  "KZT",
                                  "LAK",
                                  "LBP",
                                  "LKR",
                                  "LRD",
                                  "LSL",
                                  "LYD",
                                  "MAD",
                                  "MDL",
                                  "MGA",
                                  "MKD",
                                  "MMK",
                                  "MNT",
                                  "MOP",
                                  "MRU",
                                  "MUR",
                                  "MVR",
                                  "MWK",
                                  "MXN",
                                  "MXV",
                                  "MYR",
                                  "MZN",
                                  "NAD",
                                  "NGN",
                                  "NIO",
                                  "NOK",
                                  "NPR",
                                  "NZD",
                                  "OMR",
                                  "PAB",
                                  "PEN",
                                  "PGK",
                                  "PHP",
                                  "PKR",
                                  "PLN",
                                  "PYG",
                                  "QAR",
                                  "RON",
                                  "RSD",
                                  "RUB",
                                  "RWF",
                                  "SAR",
                                  "SBD",
                                  "SCR",
                                  "SDG",
                                  "SEK",
                                  "SGD",
                                  "SHP",
                                  "SLE",
                                  "SOS",
                                  "SRD",
                                  "SSP",
                                  "STN",
                                  "SVC",
                                  "SYP",
                                  "SZL",
                                  "THB",
                                  "TJS",
                                  "TMT",
                                  "TND",
                                  "TOP",
                                  "TRY",
                                  "TTD",
                                  "TWD",
                                  "TZS",
                                  "UAH",
                                  "UGX",
                                  "USD",
                                  "USN",
                                  "UYI",
                                  "UYU",
                                  "UYW",
                                  "UZS",
                                  "VED",
                                  "VES",
                                  "VND",
                                  "VUV",
                                  "WST",
                                  "XAF",
                                  "XCD",
                                  "XOF",
                                  "XPF",
                                  "YER",
                                  "ZAR",
                                  "ZMW",
                                  "ZWG"
                                ]
                              },
                              "amountInMinorUnit": {
                                "description": "Amount in the smallest unit of the currency (ie. cents for USD or AUD).",
                                "example": 1550,
                                "type": "integer",
                                "minimum": -9007199254740991,
                                "maximum": 9007199254740991
                              }
                            },
                            "required": [
                              "currency",
                              "amountInMinorUnit"
                            ]
                          }
                        },
                        "required": [
                          "amountExcludingTax",
                          "tax"
                        ]
                      }
                    },
                    "required": [
                      "method",
                      "address",
                      "recipient",
                      "charged",
                      "discount"
                    ]
                  }
                },
                "required": [
                  "orderReference",
                  "placedAt",
                  "customer",
                  "lineItems",
                  "shipping"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "salesOrderId": {
                      "description": "The SKUTOPIA identifier assigned to the order.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "salesOrderId"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "Invalid input data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.BAD_REQUEST"
                }
              }
            }
          },
          "401": {
            "description": "Authorization not provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.UNAUTHORIZED"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient access",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.FORBIDDEN"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
                }
              }
            }
          }
        }
      }
    },
    "/v0/organizations/{organizationId}/stores/{storeId}/sales-orders/{salesOrderId}": {
      "get": {
        "operationId": "salesOrders-getSalesOrderById",
        "summary": "Get a sales order",
        "description": "Fetch a single sales order by its SKUTOPIA identifier.",
        "tags": [
          "Sales Orders"
        ],
        "security": [
          {
            "Authorization": []
          }
        ],
        "parameters": [
          {
            "in": "path",
            "name": "organizationId",
            "schema": {
              "description": "The organization the store belongs to.",
              "type": "string"
            },
            "required": true,
            "description": "The organization the store belongs to."
          },
          {
            "in": "path",
            "name": "storeId",
            "schema": {
              "description": "The store the sales order belongs to.",
              "type": "string"
            },
            "required": true,
            "description": "The store the sales order belongs to."
          },
          {
            "in": "path",
            "name": "salesOrderId",
            "schema": {
              "description": "The SKUTOPIA identifier of the sales order.",
              "type": "string"
            },
            "required": true,
            "description": "The SKUTOPIA identifier of the sales order."
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "description": "The SKUTOPIA identifier assigned to the order.",
                      "type": "string"
                    },
                    "organizationId": {
                      "description": "The organization the store belongs to.",
                      "type": "string"
                    },
                    "storeId": {
                      "description": "The store the sales order belongs to.",
                      "type": "string"
                    },
                    "orderReference": {
                      "description": "Your reference for the order.",
                      "example": "PUB-100234",
                      "type": "string"
                    },
                    "status": {
                      "description": "The current status of the sales order.",
                      "type": "string",
                      "const": "OPEN"
                    },
                    "placedAt": {
                      "description": "ISO 8601 timestamp at which the order was placed.",
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                    },
                    "lastUpdatedAt": {
                      "description": "ISO 8601 timestamp at which the order was last updated.",
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                    },
                    "lineItems": {
                      "description": "The line items on the order.",
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "name": {
                            "description": "Product name.",
                            "type": "string"
                          },
                          "sku": {
                            "description": "Stock Keeping Unit.",
                            "type": "string"
                          },
                          "barcode": {
                            "description": "Barcode.",
                            "type": "string"
                          },
                          "quantity": {
                            "description": "Quantity ordered.",
                            "type": "integer",
                            "minimum": -9007199254740991,
                            "maximum": 9007199254740991
                          }
                        },
                        "required": [
                          "name",
                          "sku",
                          "quantity"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "shipping": {
                      "description": "Shipping details for the order.",
                      "type": "object",
                      "properties": {
                        "address": {
                          "type": "object",
                          "properties": {
                            "line1": {
                              "description": "Address line 1.",
                              "type": "string"
                            },
                            "line2": {
                              "description": "Address line 2.",
                              "type": "string"
                            },
                            "locality": {
                              "description": "Locality, for example a city or suburb.",
                              "type": "string"
                            },
                            "stateProvince": {
                              "description": "State or province.",
                              "type": "string"
                            },
                            "postalCode": {
                              "description": "Postal code.",
                              "type": "string"
                            },
                            "countryCode": {
                              "description": "ISO 3166-1 alpha-2 country code.",
                              "example": "AU",
                              "type": "string"
                            }
                          },
                          "required": [
                            "countryCode"
                          ],
                          "additionalProperties": false
                        },
                        "recipient": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "description": "Recipient name.",
                              "type": "string"
                            },
                            "company": {
                              "description": "Recipient company.",
                              "type": "string"
                            },
                            "contactNumber": {
                              "description": "Recipient contact number.",
                              "type": "string"
                            },
                            "email": {
                              "description": "Recipient email.",
                              "type": "string"
                            }
                          },
                          "additionalProperties": false
                        }
                      },
                      "required": [
                        "address",
                        "recipient"
                      ],
                      "additionalProperties": false
                    }
                  },
                  "required": [
                    "id",
                    "organizationId",
                    "storeId",
                    "orderReference",
                    "status",
                    "placedAt",
                    "lastUpdatedAt",
                    "lineItems",
                    "shipping"
                  ],
                  "additionalProperties": false
                }
              }
            }
          },
          "400": {
            "description": "Invalid input data",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.BAD_REQUEST"
                }
              }
            }
          },
          "401": {
            "description": "Authorization not provided",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.UNAUTHORIZED"
                }
              }
            }
          },
          "403": {
            "description": "Insufficient access",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.FORBIDDEN"
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.NOT_FOUND"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "error.BAD_REQUEST": {
        "title": "Invalid input data error (400)",
        "description": "The error information",
        "example": {
          "code": "BAD_REQUEST",
          "message": "Invalid input data",
          "issues": []
        },
        "type": "object",
        "properties": {
          "message": {
            "description": "The error message",
            "example": "Invalid input data",
            "type": "string"
          },
          "code": {
            "description": "The error code",
            "example": "BAD_REQUEST",
            "type": "string"
          },
          "issues": {
            "description": "An array of issues that were responsible for the error",
            "example": [],
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "message",
          "code"
        ],
        "additionalProperties": false
      },
      "error.UNAUTHORIZED": {
        "title": "Authorization not provided error (401)",
        "description": "The error information",
        "example": {
          "code": "UNAUTHORIZED",
          "message": "Authorization not provided",
          "issues": []
        },
        "type": "object",
        "properties": {
          "message": {
            "description": "The error message",
            "example": "Authorization not provided",
            "type": "string"
          },
          "code": {
            "description": "The error code",
            "example": "UNAUTHORIZED",
            "type": "string"
          },
          "issues": {
            "description": "An array of issues that were responsible for the error",
            "example": [],
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "message",
          "code"
        ],
        "additionalProperties": false
      },
      "error.FORBIDDEN": {
        "title": "Insufficient access error (403)",
        "description": "The error information",
        "example": {
          "code": "FORBIDDEN",
          "message": "Insufficient access",
          "issues": []
        },
        "type": "object",
        "properties": {
          "message": {
            "description": "The error message",
            "example": "Insufficient access",
            "type": "string"
          },
          "code": {
            "description": "The error code",
            "example": "FORBIDDEN",
            "type": "string"
          },
          "issues": {
            "description": "An array of issues that were responsible for the error",
            "example": [],
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "message",
          "code"
        ],
        "additionalProperties": false
      },
      "error.NOT_FOUND": {
        "title": "Not found error (404)",
        "description": "The error information",
        "example": {
          "code": "NOT_FOUND",
          "message": "Not found",
          "issues": []
        },
        "type": "object",
        "properties": {
          "message": {
            "description": "The error message",
            "example": "Not found",
            "type": "string"
          },
          "code": {
            "description": "The error code",
            "example": "NOT_FOUND",
            "type": "string"
          },
          "issues": {
            "description": "An array of issues that were responsible for the error",
            "example": [],
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "message",
          "code"
        ],
        "additionalProperties": false
      },
      "error.INTERNAL_SERVER_ERROR": {
        "title": "Internal server error error (500)",
        "description": "The error information",
        "example": {
          "code": "INTERNAL_SERVER_ERROR",
          "message": "Internal server error",
          "issues": []
        },
        "type": "object",
        "properties": {
          "message": {
            "description": "The error message",
            "example": "Internal server error",
            "type": "string"
          },
          "code": {
            "description": "The error code",
            "example": "INTERNAL_SERVER_ERROR",
            "type": "string"
          },
          "issues": {
            "description": "An array of issues that were responsible for the error",
            "example": [],
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "message"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "message",
          "code"
        ],
        "additionalProperties": false
      }
    },
    "securitySchemes": {
      "Authorization": {
        "type": "http",
        "scheme": "bearer"
      },
      "skutopiaOAuth2": {
        "type": "oauth2",
        "description": "OAuth 2.0 client credentials. Exchange the `client_id` and `client_secret` issued from the API Keys page for an access token at this gateway's token endpoint, then send it as `Authorization: Bearer <access_token>`.",
        "flows": {
          "clientCredentials": {
            "tokenUrl": "/oauth2/token",
            "scopes": {}
          }
        }
      }
    }
  }
}