Inspectorio Quality Risk Management API

Quality risk management (Sight) integration API — inspections, bookings, assignments, lab tests, purchase orders, CAPA, customer/product/BOM data, measurement charts, and time & actions.

OpenAPI Specification

inspectorio-qrm-openapi.json Raw ↑
{  "openapi": "3.0.3",  "info": {    "title": "Inspectorio Quality Risk Management API",    "version": "v1"  },  "servers": [    {      "description": "Production Environment",      "url": "https://sight.inspectorio.com"    },    {      "description": "Pre-Production Environment",      "url": "https://sight.pre.inspectorio.com"    }  ],  "security": [    {      "ApiKeyAuth": []    }  ],  "paths": {    "/api/v1/analytics/factory-risk-profile": {      "get": {        "summary": "List Factory Risk Profiles",        "description": "List Factory Risk Profiles",        "parameters": [          {            "description": "Limit result of list",            "in": "query",            "name": "limit",            "required": false,            "schema": {              "default": 10,              "maximum": 100,              "minimum": 1,              "type": "integer"            }          },          {            "description": "The type of the filtered date. Case-sensitive.",            "in": "query",            "name": "date_type",            "required": false,            "schema": {              "enum": [                "process_computed_date"              ],              "example": "process_computed_date",              "nullable": true,              "type": "string"            }          },          {            "description": "Start date of the query range in yyyy-mm-dd format",            "in": "query",            "name": "date_from",            "required": true,            "schema": {              "example": "2020-01-01",              "format": "date",              "type": "string"            }          },          {            "in": "query",            "name": "offset",            "required": false,            "schema": {              "default": 0,              "minimum": 0,              "type": "integer"            }          },          {            "description": "End date of the query range in yyyy-mm-dd format",            "in": "query",            "name": "date_to",            "required": true,            "schema": {              "example": "2020-10-01",              "format": "date",              "type": "string"            }          }        ],        "responses": {          "200": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/FactoryRiskProfileListResponse"                }              }            },            "description": "OK"          },          "400": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/BadRequestApiError"                }              }            },            "description": "Bad request"          },          "401": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/UnauthenticatedApiError"                }              }            },            "description": "Unauthorized"          },          "422": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/ValidateApiError"                }              }            },            "description": "Validation Error"          },          "429": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/TooManyResponsesApiError"                }              }            },            "description": "Rate-limiting Error"          },          "500": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/InternalApiError"                }              }            },            "description": "Internal Error"          }        },        "tags": [          "ANALYTICS"        ]      }    },    "/api/v1/analytics/factory-risk-profile/{factory_id}": {      "get": {        "summary": "Get Factory Risk Profile",        "description": "Get Factory Risk Profile",        "parameters": [          {            "description": "The type of the filtered date. Case-sensitive.",            "in": "query",            "name": "date_type",            "required": false,            "schema": {              "enum": [                "process_computed_date"              ],              "example": "process_computed_date",              "nullable": true,              "type": "string"            }          },          {            "description": "Start date of the query range in yyyy-mm-dd format",            "in": "query",            "name": "date_from",            "required": true,            "schema": {              "example": "2020-01-01",              "format": "date",              "type": "string"            }          },          {            "description": "End date of the query range in yyyy-mm-dd format",            "in": "query",            "name": "date_to",            "required": true,            "schema": {              "example": "2020-10-01",              "format": "date",              "type": "string"            }          },          {            "description": "Unique identifier of the Brand or Retailer that the factory produces for",            "in": "query",            "name": "client_id",            "required": false,            "schema": {              "example": "client_1",              "nullable": true,              "type": "string"            }          },          {            "in": "path",            "name": "factory_id",            "required": true,            "schema": {              "type": "string"            }          }        ],        "responses": {          "200": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/FactoryRiskProfileResponse"                }              }            },            "description": "OK"          },          "400": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/BadRequestApiError"                }              }            },            "description": "Bad request"          },          "401": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/UnauthenticatedApiError"                }              }            },            "description": "Unauthorized"          },          "422": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/ValidateApiError"                }              }            },            "description": "Validation Error"          },          "429": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/TooManyResponsesApiError"                }              }            },            "description": "Rate-limiting Error"          },          "500": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/InternalApiError"                }              }            },            "description": "Internal Error"          }        },        "tags": [          "ANALYTICS"        ]      }    },    "/api/v1/assignments": {      "get": {        "summary": "List Assignments",        "description": "List Assignments",        "parameters": [          {            "description": "Factory's country code (two-letter country code) of assignments. Case-insensitive",            "in": "query",            "name": "factory_country",            "required": false,            "schema": {              "example": "US",              "nullable": true,              "type": "string"            }          },          {            "description": "Inspection Executor of assignments. Allow filtering with the Local Organization ID or the text \"owner\". Case-sensitive",            "in": "query",            "name": "executor_organization",            "required": false,            "schema": {              "example": "owner",              "type": "string"            }          },          {            "description": "Assignment updated to in date and time",            "in": "query",            "name": "assignment_updated_to",            "required": false,            "schema": {              "example": "2021-06-15T23:59:59Z",              "format": "date-time",              "type": "string"            }          },          {            "description": "Assignment created from in date and time",            "in": "query",            "name": "assignment_created_from",            "required": false,            "schema": {              "example": "2021-05-23T23:59:59Z",              "format": "date-time",              "type": "string"            }          },          {            "description": "Limit result of list",            "in": "query",            "name": "limit",            "required": false,            "schema": {              "default": 10,              "maximum": 100,              "minimum": 1,              "type": "integer"            }          },          {            "description": "Status of assignments",            "in": "query",            "name": "assignment_status",            "required": false,            "schema": {              "enum": [                "NEW",                "PRE-ASSIGNED",                "ASSIGNED",                "RELEASED",                "IN-PROGRESS",                "COMPLETED",                "ABORTED"              ],              "example": "COMPLETED",              "type": "string"            }          },          {            "description": "Assignment created to in date and time",            "in": "query",            "name": "assignment_created_to",            "required": false,            "schema": {              "example": "2021-06-15T23:59:59Z",              "format": "date-time",              "type": "string"            }          },          {            "description": "Factory's city of assignments. Case-sensitive",            "in": "query",            "name": "factory_city",            "required": false,            "schema": {              "example": "New York",              "nullable": true,              "type": "string"            }          },          {            "description": "Start date of the range of the expected inspection date in assignments. Allow only date format",            "in": "query",            "name": "expected_inspection_date_from",            "required": false,            "schema": {              "example": "2021-02-28",              "format": "date",              "nullable": true,              "type": "string"            }          },          {            "description": "Order of the list of assignments",            "in": "query",            "name": "order",            "required": false,            "schema": {              "example": "assignment_created_date:desc",              "type": "string"            }          },          {            "description": "End date of the range of the expected inspection date in assignments. Allow only date format",            "in": "query",            "name": "expected_inspection_date_to",            "required": false,            "schema": {              "example": "2021-02-28",              "format": "date",              "nullable": true,              "type": "string"            }          },          {            "in": "query",            "name": "offset",            "required": false,            "schema": {              "default": 0,              "minimum": 0,              "type": "integer"            }          },          {            "description": "Assignment updated from in date and time",            "in": "query",            "name": "assignment_updated_from",            "required": false,            "schema": {              "example": "2021-05-23T23:59:59Z",              "format": "date-time",              "type": "string"            }          }        ],        "responses": {          "200": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/AssignmentListResponse"                }              }            },            "description": "OK"          },          "400": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/BadRequestApiError"                }              }            },            "description": "Bad request"          },          "401": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/UnauthenticatedApiError"                }              }            },            "description": "Unauthorized"          },          "422": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/ValidateApiError"                }              }            },            "description": "Validation Error"          },          "429": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/TooManyResponsesApiError"                }              }            },            "description": "Rate-limiting Error"          },          "500": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/InternalApiError"                }              }            },            "description": "Internal Error"          }        },        "tags": [          "ASSIGNMENT"        ]      }    },    "/api/v1/assignments/{assignment_id}": {      "get": {        "summary": "Get Assignment",        "description": "Get Assignment",        "parameters": [          {            "in": "path",            "name": "assignment_id",            "required": true,            "schema": {              "type": "string"            }          }        ],        "responses": {          "200": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/CustomResponse12"                }              }            },            "description": "OK"          },          "400": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/BadRequestApiError"                }              }            },            "description": "Bad request"          },          "401": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/UnauthenticatedApiError"                }              }            },            "description": "Unauthorized"          },          "422": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/ValidateApiError"                }              }            },            "description": "Validation Error"          },          "429": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/TooManyResponsesApiError"                }              }            },            "description": "Rate-limiting Error"          },          "500": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/InternalApiError"                }              }            },            "description": "Internal Error"          }        },        "tags": [          "ASSIGNMENT"        ]      }    },    "/api/v1/auth/login": {      "post": {        "deprecated": true,        "summary": "Login and Retrieve Access Token",        "description": "Login and Retrieve Access Token",        "parameters": [],        "requestBody": {          "content": {            "application/json": {              "schema": {                "$ref": "#/components/schemas/LoginForm"              }            }          }        },        "responses": {          "200": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/CustomResponse3"                }              }            },            "description": "OK"          },          "400": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/BadRequestApiError"                }              }            },            "description": "Bad request"          },          "401": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/UnauthenticatedApiError"                }              }            },            "description": "Unauthorized"          },          "422": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/ValidateApiError"                }              }            },            "description": "Validation Error"          },          "429": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/TooManyResponsesApiError"                }              }            },            "description": "Rate-limiting Error"          },          "500": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/InternalApiError"                }              }            },            "description": "Internal Error"          }        },        "security": [],        "tags": [          "AUTH"        ]      }    },    "/api/v1/bookings": {      "get": {        "summary": "List Bookings",        "description": "List Bookings",        "parameters": [          {            "description": "Organization ID that the booking is booked to",            "in": "query",            "name": "to_organization_id",            "required": false,            "schema": {              "example": "F123456",              "type": "string"            }          },          {            "description": "Limit result of list",            "in": "query",            "name": "limit",            "required": false,            "schema": {              "default": 10,              "maximum": 100,              "minimum": 1,              "type": "integer"            }          },          {            "description": "Booking created to in date and time",            "in": "query",            "name": "created_to",            "required": false,            "schema": {              "example": "2021-06-15T23:59:59Z",              "format": "date-time",              "type": "string"            }          },          {            "description": "Booking updated to in date and time",            "in": "query",            "name": "updated_to",            "required": false,            "schema": {              "example": "2021-06-15T23:59:59Z",              "format": "date-time",              "type": "string"            }          },          {            "description": "Order of bookings in the response",            "in": "query",            "name": "order",            "required": false,            "schema": {              "default": "created_date:desc",              "example": "created_date:desc|asc",              "type": "string"            }          },          {            "in": "query",            "name": "offset",            "required": false,            "schema": {              "default": 0,              "minimum": 0,              "type": "integer"            }          },          {            "description": "Booking updated from in date and time",            "in": "query",            "name": "updated_from",            "required": false,            "schema": {              "example": "2021-05-23T23:59:59Z",              "format": "date-time",              "type": "string"            }          },          {            "description": "Booking created from in date and time",            "in": "query",            "name": "created_from",            "required": false,            "schema": {              "example": "2021-05-23T23:59:59Z",              "format": "date-time",              "type": "string"            }          },          {            "in": "query",            "name": "status",            "required": false,            "schema": {              "enum": [                "NEW",                "WAIVED",                "CONFIRMED",                "REJECTED",                "MERGED",                "CANCELED"              ],              "type": "string"            }          }        ],        "responses": {          "200": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/BookingListResponse"                }              }            },            "description": "OK"          },          "400": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/BadRequestApiError"                }              }            },            "description": "Bad request"          },          "401": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/UnauthenticatedApiError"                }              }            },            "description": "Unauthorized"          },          "422": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/ValidateApiError"                }              }            },            "description": "Validation Error"          },          "429": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/TooManyResponsesApiError"                }              }            },            "description": "Rate-limiting Error"          },          "500": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/InternalApiError"                }              }            },            "description": "Internal Error"          }        },        "tags": [          "BOOKING"        ]      }    },    "/api/v1/bookings/{booking_id}": {      "get": {        "summary": "Get Booking",        "description": "Get Booking",        "parameters": [          {            "in": "path",            "name": "booking_id",            "required": true,            "schema": {              "type": "string"            }          }        ],        "responses": {          "200": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/CustomResponse11"                }              }            },            "description": "OK"          },          "400": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/BadRequestApiError"                }              }            },            "description": "Bad request"          },          "401": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/UnauthenticatedApiError"                }              }            },            "description": "Unauthorized"          },          "422": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/ValidateApiError"                }              }            },            "description": "Validation Error"          },          "429": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/TooManyResponsesApiError"                }              }            },            "description": "Rate-limiting Error"          },          "500": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/InternalApiError"                }              }            },            "description": "Internal Error"          }        },        "tags": [          "BOOKING"        ]      }    },    "/api/v1/inspections": {      "get": {        "summary": "List Inspections",        "description": "List inspections for the authenticated organization.\n",        "operationId": "listInspectionsV1",        "tags": [          "Inspections"        ],        "parameters": [          {            "$ref": "#/components/parameters/InspectionListOwnership"          },          {            "$ref": "#/components/parameters/InspectionListStatus"          },          {            "$ref": "#/components/parameters/InspectionListOrder"          },          {            "$ref": "#/components/parameters/InspectionListCreatedFrom"          },          {            "$ref": "#/components/parameters/InspectionListCreatedTo"          },          {            "$ref": "#/components/parameters/InspectionListUpdatedFrom"          },          {            "$ref": "#/components/parameters/InspectionListUpdatedTo"          },          {            "$ref": "#/components/parameters/InspectionListLimit"          },          {            "$ref": "#/components/parameters/InspectionListOffset"          }        ],        "responses": {          "200": {            "$ref": "#/components/responses/InspectionList200"          },          "400": {            "$ref": "#/components/responses/BadRequest400"          }        }      }    },    "/api/v1/inspections/{uuid}": {      "get": {        "summary": "Get Inspection",        "description": "Retrieve a single inspection by UUID.\n",        "operationId": "getInspectionV1",        "tags": [          "Inspections"        ],        "parameters": [          {            "in": "path",            "name": "uuid",            "required": true,            "description": "Inspection UUID (equals bookingId).",            "schema": {              "type": "string",              "format": "uuid"            }          },          {            "in": "query",            "name": "include_pull_sample",            "required": false,            "description": "When set to `1`, embeds the AQL-derived `itemPullSample` on each solid\nand assortment configuration item under `detailOfPIPO`. Requires the\nworkmanship step to be configured with an AQL table; otherwise the field\nis omitted.\n",            "schema": {              "type": "integer",              "enum": [                0,                1              ],              "default": 0            }          }        ],        "responses": {          "200": {            "$ref": "#/components/responses/InspectionDetail200"          },          "404": {            "$ref": "#/components/responses/NotFound404"          }        }      }    },    "/api/v1/brands": {      "get": {        "summary": "List Brands",        "description": "List Brands",        "parameters": [          {            "in": "query",            "name": "offset",            "required": false,            "schema": {              "default": 0,              "minimum": 0,              "type": "integer"            }          },          {            "description": "Limit result of list",            "in": "query",            "name": "limit",            "required": false,            "schema": {              "default": 10,              "maximum": 100,              "minimum": 1,              "type": "integer"            }          }        ],        "responses": {          "200": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/BrandListResponse"                }              }            },            "description": "OK"          },          "400": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/BadRequestApiError"                }              }            },            "description": "Bad request"          },          "401": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/UnauthenticatedApiError"                }              }            },            "description": "Unauthorized"          },          "422": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/ValidateApiError"                }              }            },            "description": "Validation Error"          },          "429": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/TooManyResponsesApiError"                }              }            },            "description": "Rate-limiting Error"          },          "500": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/InternalApiError"                }              }            },            "description": "Internal Error"          }        },        "tags": [          "BRAND"        ]      },      "post": {        "summary": "Create Brand",        "description": "Create Brand",        "parameters": [],        "requestBody": {          "content": {            "application/json": {              "schema": {                "$ref": "#/components/schemas/BrandCreate"              }            }          }        },        "responses": {          "201": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/BrandResponse"                }              }            },            "description": "Created"          },          "400": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/BadRequestApiError"                }              }            },            "description": "Bad request"          },          "401": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/UnauthenticatedApiError"                }              }            },            "description": "Unauthorized"          },          "422": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/ValidateApiError"                }              }            },            "description": "Validation Error"          },          "429": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/TooManyResponsesApiError"                }              }            },            "description": "Rate-limiting Error"          },          "500": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/InternalApiError"                }              }            },            "description": "Internal Error"          }        },        "tags": [          "BRAND"        ]      }    },    "/api/v1/brands/{brand_id}": {      "delete": {        "summary": "Delete Brand",        "description": "Delete Brand",        "parameters": [          {            "in": "path",            "name": "brand_id",            "required": true,            "schema": {              "type": "string"            }          }        ],        "responses": {          "204": {            "content": {              "application/json": {                "schema": {}              }            },            "description": "No Content"          },          "400": {            "content": {              "application/json": {                "schema": {                  "$ref": "#/components/schemas/BadRequestApiError"                }              }            },            "description": "Bad request"          },          "401": {            "content

# --- truncated at 32 KB (734 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/inspectorio/refs/heads/main/openapi/inspectorio-qrm-openapi.json