{
  "openapi": "3.0.4",
  "info": {
    "title": "InventoryFlo Public API",
    "description": "Read your inventory (items, variants, stock by location, movements, locations, suppliers, purchase orders, stock counts) and create drafts (a purchase order in Draft, an open stock count, counted quantities). Nothing here posts a stock movement or sends anything to a supplier.\n\nAuthenticate with an API key from Settings > Integrations & developers > API keys: `Authorization: Bearer ifk_live_...`. Each key has scopes and a per-minute rate limit set by your plan (429 with Retry-After when exceeded). Lists are paginated: pass `nextCursor` back as `cursor`. Errors are RFC 7807 problem details; authentication errors follow RFC 6750.",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://api.inventoryflo.app"
    }
  ],
  "paths": {
    "/api/public/v1/items": {
      "get": {
        "tags": [
          "PublicCatalog"
        ],
        "operationId": "PublicCatalog_GetItems",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeArchived",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "updatedSince",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicItemDtoPublicPage"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/v1/items/{id}": {
      "get": {
        "tags": [
          "PublicCatalog"
        ],
        "operationId": "PublicCatalog_GetItem",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicItemDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/T1ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/v1/variants": {
      "get": {
        "tags": [
          "PublicCatalog"
        ],
        "operationId": "PublicCatalog_GetVariants",
        "parameters": [
          {
            "name": "itemId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "sku",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "barcode",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeArchived",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicVariantDtoPublicPage"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/v1/me": {
      "get": {
        "tags": [
          "PublicMe"
        ],
        "operationId": "PublicMe_Get",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicMeDto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/T1ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/v1/purchase-orders": {
      "get": {
        "tags": [
          "PublicPurchaseOrders"
        ],
        "operationId": "PublicPurchaseOrders_GetPurchaseOrders",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "supplierId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicPurchaseOrderDtoPublicPage"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "PublicPurchaseOrders"
        ],
        "operationId": "PublicPurchaseOrders_CreateDraft",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PublicDraftPurchaseOrderRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PublicDraftPurchaseOrderRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PublicDraftPurchaseOrderRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDraftCreatedDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/T1ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/v1/purchase-orders/{id}": {
      "get": {
        "tags": [
          "PublicPurchaseOrders"
        ],
        "operationId": "PublicPurchaseOrders_GetPurchaseOrder",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicPurchaseOrderDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/T1ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/v1/locations": {
      "get": {
        "tags": [
          "PublicStock"
        ],
        "operationId": "PublicStock_GetLocations",
        "parameters": [
          {
            "name": "includeArchived",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicLocationDtoPublicPage"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/v1/stock-levels": {
      "get": {
        "tags": [
          "PublicStock"
        ],
        "operationId": "PublicStock_GetStockLevels",
        "parameters": [
          {
            "name": "variantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "sku",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeZero",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicStockLevelDtoPublicPage"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/v1/low-stock": {
      "get": {
        "tags": [
          "PublicStock"
        ],
        "operationId": "PublicStock_GetLowStock",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PublicLowStockDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/public/v1/expiring-lots": {
      "get": {
        "tags": [
          "PublicStock"
        ],
        "operationId": "PublicStock_GetExpiringLots",
        "parameters": [
          {
            "name": "withinDays",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 30
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PublicExpiringLotDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/public/v1/movements": {
      "get": {
        "tags": [
          "PublicStock"
        ],
        "operationId": "PublicStock_GetMovements",
        "parameters": [
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "until",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "variantId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "locationId",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "sku",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicMovementDtoPublicPage"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/v1/stock-counts": {
      "get": {
        "tags": [
          "PublicStockCounts"
        ],
        "operationId": "PublicStockCounts_GetStockCounts",
        "parameters": [
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicStockCountDtoPublicPage"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "PublicStockCounts"
        ],
        "operationId": "PublicStockCounts_Create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PublicDraftStockCountRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PublicDraftStockCountRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PublicDraftStockCountRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDraftCreatedDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/T1ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/v1/stock-counts/{id}": {
      "get": {
        "tags": [
          "PublicStockCounts"
        ],
        "operationId": "PublicStockCounts_GetStockCount",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicStockCountDto"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/T1ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/v1/stock-counts/{id}/lines": {
      "post": {
        "tags": [
          "PublicStockCounts"
        ],
        "operationId": "PublicStockCounts_RecordLine",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PublicCountLineRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PublicCountLineRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PublicCountLineRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicStockCountLineDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/T1ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/T1ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/T1ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/v1/suppliers": {
      "get": {
        "tags": [
          "PublicSuppliers"
        ],
        "operationId": "PublicSuppliers_GetSuppliers",
        "parameters": [
          {
            "name": "search",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeArchived",
            "in": "query",
            "schema": {
              "type": "boolean",
              "default": false
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicSupplierDtoPublicPage"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/v1/webhooks": {
      "get": {
        "tags": [
          "PublicWebhooks"
        ],
        "operationId": "PublicWebhooks_List",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PublicWebhookSubscriptionDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "PublicWebhooks"
        ],
        "operationId": "PublicWebhooks_Create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PublicWebhookSubscriptionRequest"
                  }
                ]
              }
            },
            "text/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PublicWebhookSubscriptionRequest"
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PublicWebhookSubscriptionRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCreatedWebhookSubscriptionDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/T1ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/T1ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/public/v1/webhooks/{id}": {
      "delete": {
        "tags": [
          "PublicWebhooks"
        ],
        "operationId": "PublicWebhooks_Delete",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/T1ProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Error": {
        "required": [
          "code",
          "detail",
          "legacyCode",
          "message",
          "property"
        ],
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "legacyCode": {
            "type": "string",
            "readOnly": true,
            "deprecated": true
          },
          "property": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "detail": {
            "type": "string",
            "readOnly": true
          }
        },
        "additionalProperties": { }
      },
      "PublicCountLineRequest": {
        "required": [
          "countedQuantity"
        ],
        "type": "object",
        "properties": {
          "variantId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "sku": {
            "type": "string",
            "nullable": true
          },
          "countedQuantity": {
            "type": "number",
            "format": "double"
          },
          "note": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PublicCreatedWebhookSubscriptionDto": {
        "required": [
          "secret",
          "subscription"
        ],
        "type": "object",
        "properties": {
          "subscription": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PublicWebhookSubscriptionDto"
              }
            ]
          },
          "secret": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PublicDraftCreatedDto": {
        "required": [
          "id",
          "lineCount",
          "status"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "status": {
            "type": "string"
          },
          "lineCount": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "PublicDraftPurchaseOrderLine": {
        "required": [
          "quantity"
        ],
        "type": "object",
        "properties": {
          "variantId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "sku": {
            "type": "string",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "unitCost": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "note": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PublicDraftPurchaseOrderRequest": {
        "required": [
          "lines"
        ],
        "type": "object",
        "properties": {
          "supplierId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "supplierName": {
            "type": "string",
            "nullable": true
          },
          "locationId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "expectedDeliveryDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "supplierReference": {
            "type": "string",
            "nullable": true
          },
          "lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicDraftPurchaseOrderLine"
            }
          }
        },
        "additionalProperties": false
      },
      "PublicDraftStockCountRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "locationId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "blind": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "PublicExpiringLotDto": {
        "required": [
          "daysLeft",
          "expiryDate",
          "itemName",
          "lotId",
          "onHand",
          "unit",
          "variantId"
        ],
        "type": "object",
        "properties": {
          "lotId": {
            "type": "string",
            "format": "uuid"
          },
          "variantId": {
            "type": "string",
            "format": "uuid"
          },
          "itemName": {
            "type": "string"
          },
          "sku": {
            "type": "string",
            "nullable": true
          },
          "batchNumber": {
            "type": "string",
            "nullable": true
          },
          "expiryDate": {
            "type": "string",
            "format": "date-time"
          },
          "daysLeft": {
            "type": "integer",
            "format": "int32"
          },
          "onHand": {
            "type": "number",
            "format": "double"
          },
          "unit": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PublicItemDto": {
        "required": [
          "baseUnit",
          "createdAt",
          "id",
          "isArchived",
          "name",
          "onHand",
          "variants"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "categoryId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "categoryName": {
            "type": "string",
            "nullable": true
          },
          "baseUnit": {
            "type": "string"
          },
          "isArchived": {
            "type": "boolean"
          },
          "onHand": {
            "type": "number",
            "format": "double"
          },
          "variants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicVariantDto"
            }
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PublicItemDtoPublicPage": {
        "required": [
          "data",
          "hasMore"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicItemDto"
            }
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "PublicLocationDto": {
        "required": [
          "id",
          "isArchived",
          "isQuarantine",
          "name",
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "parentId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "isArchived": {
            "type": "boolean"
          },
          "isQuarantine": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "PublicLocationDtoPublicPage": {
        "required": [
          "data",
          "hasMore"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicLocationDto"
            }
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "PublicLowStockDto": {
        "required": [
          "itemId",
          "itemName",
          "onHand",
          "reorderPoint",
          "unit",
          "variantId"
        ],
        "type": "object",
        "properties": {
          "variantId": {
            "type": "string",
            "format": "uuid"
          },
          "itemId": {
            "type": "string",
            "format": "uuid"
          },
          "itemName": {
            "type": "string"
          },
          "sku": {
            "type": "string",
            "nullable": true
          },
          "onHand": {
            "type": "number",
            "format": "double"
          },
          "reorderPoint": {
            "type": "number",
            "format": "double"
          },
          "unit": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PublicMeDto": {
        "required": [
          "credentialName",
          "credentialType",
          "organizationId",
          "organizationName",
          "plan",
          "requestsPerMinute",
          "scopes"
        ],
        "type": "object",
        "properties": {
          "organizationId": {
            "type": "string",
            "format": "uuid"
          },
          "organizationName": {
            "type": "string"
          },
          "plan": {
            "type": "string"
          },
          "credentialType": {
            "type": "string"
          },
          "credentialName": {
            "type": "string"
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "requestsPerMinute": {
            "type": "integer",
            "format": "int32"
          }
        },
        "additionalProperties": false
      },
      "PublicMovementDto": {
        "required": [
          "entryId",
          "id",
          "itemId",
          "itemName",
          "occurredAt",
          "quantity",
          "type",
          "unit",
          "variantId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "entryId": {
            "type": "string",
            "format": "uuid"
          },
          "occurredAt": {
            "type": "string",
            "format": "date-time"
          },
          "type": {
            "type": "string"
          },
          "sourceType": {
            "type": "string",
            "nullable": true
          },
          "sourceId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "variantId": {
            "type": "string",
            "format": "uuid"
          },
          "itemId": {
            "type": "string",
            "format": "uuid"
          },
          "itemName": {
            "type": "string"
          },
          "sku": {
            "type": "string",
            "nullable": true
          },
          "locationId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "locationName": {
            "type": "string",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "format": "double"
          },
          "unit": {
            "type": "string"
          },
          "unitCost": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "reasonCode": {
            "type": "string",
            "nullable": true
          },
          "note": {
            "type": "string",
            "nullable": true
          },
          "batchNumber": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PublicMovementDtoPublicPage": {
        "required": [
          "data",
          "hasMore"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicMovementDto"
            }
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "PublicPurchaseOrderDto": {
        "required": [
          "createdAt",
          "currency",
          "id",
          "lineCount",
          "orderNumber",
          "status",
          "supplierId",
          "total"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "orderNumber": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "supplierId": {
            "type": "string",
            "format": "uuid"
          },
          "supplierName": {
            "type": "string",
            "nullable": true
          },
          "locationId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "currency": {
            "type": "string"
          },
          "total": {
            "type": "number",
            "format": "double"
          },
          "expectedDeliveryDate": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "sentAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "completedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lineCount": {
            "type": "integer",
            "format": "int32"
          },
          "lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicPurchaseOrderLineDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PublicPurchaseOrderDtoPublicPage": {
        "required": [
          "data",
          "hasMore"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicPurchaseOrderDto"
            }
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "PublicPurchaseOrderLineDto": {
        "required": [
          "id",
          "itemId",
          "itemName",
          "quantityOrdered",
          "quantityReceived",
          "unit",
          "unitCost",
          "variantId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "itemId": {
            "type": "string",
            "format": "uuid"
          },
          "variantId": {
            "type": "string",
            "format": "uuid"
          },
          "itemName": {
            "type": "string"
          },
          "sku": {
            "type": "string",
            "nullable": true
          },
          "quantityOrdered": {
            "type": "number",
            "format": "double"
          },
          "quantityReceived": {
            "type": "number",
            "format": "double"
          },
          "unit": {
            "type": "string"
          },
          "unitCost": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "PublicStockCountDto": {
        "required": [
          "countedLineCount",
          "createdAt",
          "id",
          "isBlind",
          "lineCount",
          "status"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string"
          },
          "locationId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "locationName": {
            "type": "string",
            "nullable": true
          },
          "isBlind": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "completedAt": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "lineCount": {
            "type": "integer",
            "format": "int32"
          },
          "countedLineCount": {
            "type": "integer",
            "format": "int32"
          },
          "lines": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicStockCountLineDto"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PublicStockCountDtoPublicPage": {
        "required": [
          "data",
          "hasMore"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicStockCountDto"
            }
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "PublicStockCountLineDto": {
        "required": [
          "id",
          "itemId",
          "itemName",
          "unit",
          "variantId"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "itemId": {
            "type": "string",
            "format": "uuid"
          },
          "variantId": {
            "type": "string",
            "format": "uuid"
          },
          "itemName": {
            "type": "string"
          },
          "sku": {
            "type": "string",
            "nullable": true
          },
          "unit": {
            "type": "string"
          },
          "systemQuantity": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "countedQuantity": {
            "type": "number",
            "format": "double",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "PublicStockLevelDto": {
        "required": [
          "itemId",
          "itemName",
          "onHand",
          "unit",
          "variantId"
        ],
        "type": "object",
        "properties": {
          "variantId": {
            "type": "string",
            "format": "uuid"
          },
          "itemId": {
            "type": "string",
            "format": "uuid"
          },
          "itemName": {
            "type": "string"
          },
          "sku": {
            "type": "string",
            "nullable": true
          },
          "locationId": {
            "type": "string",
            "format": "uuid",
            "nullable": true
          },
          "locationName": {
            "type": "string",
            "nullable": true
          },
          "onHand": {
            "type": "number",
            "format": "double"
          },
          "unit": {
            "type": "string"
          }
        },
        "additionalProperties": false
      },
      "PublicStockLevelDtoPublicPage": {
        "required": [
          "data",
          "hasMore"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicStockLevelDto"
            }
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "PublicSupplierDto": {
        "required": [
          "id",
          "isArchived",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string"
          },
          "contactName": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "website": {
            "type": "string",
            "nullable": true
          },
          "leadTimeDays": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "isArchived": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "PublicSupplierDtoPublicPage": {
        "required": [
          "data",
          "hasMore"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicSupplierDto"
            }
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "PublicVariantDto": {
        "required": [
          "id",
          "isArchived",
          "isDefault",
          "itemId",
          "itemName",
          "onHand",
          "unit"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "itemId": {
            "type": "string",
            "format": "uuid"
          },
          "itemName": {
            "type": "string"
          },
          "sku": {
            "type": "string",
            "nullable": true
          },
          "barcode": {
            "type": "string",
            "nullable": true
          },
          "attributes": {
            "type": "string",
            "nullable": true
          },
          "isDefault": {
            "type": "boolean"
          },
          "isArchived": {
            "type": "boolean"
          },
          "cost": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "sellPrice": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "currency": {
            "type": "string",
            "nullable": true
          },
          "reorderPoint": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "maxStockLevel": {
            "type": "number",
            "format": "double",
            "nullable": true
          },
          "unit": {
            "type": "string"
          },
          "onHand": {
            "type": "number",
            "format": "double"
          }
        },
        "additionalProperties": false
      },
      "PublicVariantDtoPublicPage": {
        "required": [
          "data",
          "hasMore"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PublicVariantDto"
            }
          },
          "nextCursor": {
            "type": "string",
            "nullable": true
          },
          "hasMore": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "PublicWebhookSubscriptionDto": {
        "required": [
          "eventTypes",
          "id",
          "isEnabled",
          "url"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "url": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "eventTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "isEnabled": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "PublicWebhookSubscriptionRequest": {
        "required": [
          "eventTypes",
          "url"
        ],
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "eventTypes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "T1ProblemDetails": {
        "required": [
          "errors"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          },
          "errors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Error"
            },
            "readOnly": true
          }
        },
        "additionalProperties": { }
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "description": "An API key (ifk_live_...) or an OAuth access token issued to a connected app (ifo_at_...).",
        "scheme": "bearer"
      }
    }
  },
  "security": [
    {
      "Bearer": [ ]
    }
  ],
  "tags": [
    {
      "name": "PublicCatalog"
    },
    {
      "name": "PublicMe"
    },
    {
      "name": "PublicPurchaseOrders"
    },
    {
      "name": "PublicStock"
    },
    {
      "name": "PublicStockCounts"
    },
    {
      "name": "PublicSuppliers"
    },
    {
      "name": "PublicWebhooks"
    }
  ]
}