{
  "opencollection": "1.0.0",
  "info": {
    "name": "Phasio Manufacturer Part Revision Controller API",
    "version": "1.0"
  },
  "items": [
    {
      "info": {
        "name": "Manufacturer Part Revision Controller",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Set part revision version name",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://m-api.eu.phas.io/api/manufacturer/v1/part-revision/:partRevisionId/version-name",
            "params": [
              {
                "name": "partRevisionId",
                "value": "",
                "type": "path",
                "description": "ID of the part revision to update"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Sets a custom revision name (e.g. the customer's own revision reference) shown in place of the version number"
        },
        {
          "info": {
            "name": "Upload part revision",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://m-api.eu.phas.io/api/manufacturer/v1/part-revision/upload",
            "headers": [
              {
                "name": "X-Filename",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "designId",
                "value": "",
                "type": "query",
                "description": "ID of the design to associate with this revision (optional)"
              },
              {
                "name": "customerOrganisationId",
                "value": "",
                "type": "query",
                "description": "ID of the customer organization (optional)"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Uploads a 3D model file for analysis and creates a new part revision"
        },
        {
          "info": {
            "name": "Recognize a single part from a camera image",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://m-api.eu.phas.io/api/manufacturer/v1/part-revision/recognize",
            "params": [
              {
                "name": "count",
                "value": "5",
                "type": "query",
                "description": "Maximum number of results to return (1-100)"
              }
            ]
          },
          "docs": "Analyses an image and returns the top-N most visually similar part revisions. This is a simpler, 'raw' alternative to the /detect-and-embed endpoint"
        },
        {
          "info": {
            "name": "Detect parts in an image and find similar part revisions per detection",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://m-api.eu.phas.io/api/manufacturer/v1/part-revision/detect-and-embed",
            "params": [
              {
                "name": "count",
                "value": "10",
                "type": "query",
                "description": "Maximum number of similar part revisions per detection (1-100)"
              }
            ]
          },
          "docs": "Detect parts in the image and, for each detected part, returns the top-N visually similar part revisions. Bounding boxes are in original-image pixel coordinates ([x, y, width, height]) so the consumer can overlay them on the uploaded image."
        },
        {
          "info": {
            "name": "Get multiple part revisions by IDs",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://m-api.eu.phas.io/api/manufacturer/v1/part-revision/bulk",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Retrieves multiple part revisions by their IDs"
        },
        {
          "info": {
            "name": "Get part revisions with filtering",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://m-api.eu.phas.io/api/manufacturer/v1/part-revision",
            "params": [
              {
                "name": "filter",
                "value": "",
                "type": "query",
                "description": "filter specification"
              },
              {
                "name": "page",
                "value": "",
                "type": "query",
                "description": "Zero-based page index (0..N)"
              },
              {
                "name": "size",
                "value": "",
                "type": "query",
                "description": "The size of the page to be returned"
              },
              {
                "name": "sort",
                "value": "",
                "type": "query",
                "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported."
              },
              {
                "name": "search",
                "value": "",
                "type": "query",
                "description": "Optional search term"
              }
            ]
          },
          "docs": "Retrieves a paginated list of part revisions with optional filtering and search"
        },
        {
          "info": {
            "name": "Get part revision by ID",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://m-api.eu.phas.io/api/manufacturer/v1/part-revision/:partRevisionId",
            "params": [
              {
                "name": "partRevisionId",
                "value": "",
                "type": "path",
                "description": "ID of the part revision to retrieve"
              }
            ]
          },
          "docs": "Retrieves a specific part revision by its ID"
        },
        {
          "info": {
            "name": "Retrieve a thumbnail image of a part revision",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://m-api.eu.phas.io/api/manufacturer/v1/part-revision/:partRevisionId/thumbnail",
            "params": [
              {
                "name": "partRevisionId",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Retrieves a PNG format thumbnail image for a part revision"
        },
        {
          "info": {
            "name": "Download part revision file",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://m-api.eu.phas.io/api/manufacturer/v1/part-revision/:partRevisionId/download/:type",
            "params": [
              {
                "name": "partRevisionId",
                "value": "",
                "type": "path",
                "description": "ID of the part revision"
              },
              {
                "name": "type",
                "value": "",
                "type": "path",
                "description": "Type of file to download"
              }
            ]
          },
          "docs": "Downloads a specific file type associated with a part revision"
        },
        {
          "info": {
            "name": "Get file analysis results",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://m-api.eu.phas.io/api/manufacturer/v1/part-revision/upload/:analysisId/results",
            "params": [
              {
                "name": "analysisId",
                "value": "",
                "type": "path",
                "description": "ID of the analysis to retrieve results for"
              }
            ]
          },
          "docs": "Retrieves the results and processed file for a completed analysis as a MessagePack payload"
        },
        {
          "info": {
            "name": "Get file analysis status",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://m-api.eu.phas.io/api/manufacturer/v1/part-revision/upload/status",
            "params": [
              {
                "name": "analysisIds",
                "value": "",
                "type": "query",
                "description": "Set of analysis IDs to check status for"
              }
            ]
          },
          "docs": "Checks the processing status of uploaded 3D model files"
        },
        {
          "info": {
            "name": "Get part revisions by requisition ID",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://m-api.eu.phas.io/api/manufacturer/v1/part-revision/requisition/:requisitionId",
            "params": [
              {
                "name": "requisitionId",
                "value": "",
                "type": "path",
                "description": "ID of the requisition to get part revisions for"
              }
            ]
          },
          "docs": "Retrieves all part revisions associated with a specific requisition"
        },
        {
          "info": {
            "name": "Get part revisions by order ID",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://m-api.eu.phas.io/api/manufacturer/v1/part-revision/order/:orderId",
            "params": [
              {
                "name": "orderId",
                "value": "",
                "type": "path",
                "description": "ID of the order to get part revisions for"
              },
              {
                "name": "includeHistory",
                "value": "false",
                "type": "query",
                "description": "Whether to include historical revisions"
              }
            ]
          },
          "docs": "Retrieves all part revisions associated with a specific order"
        },
        {
          "info": {
            "name": "Get part revisions by design ID",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://m-api.eu.phas.io/api/manufacturer/v1/part-revision/design/:designId",
            "params": [
              {
                "name": "designId",
                "value": "",
                "type": "path",
                "description": "ID of the design to get part revisions for"
              }
            ]
          },
          "docs": "Retrieves all part revisions associated with a specific design"
        }
      ]
    }
  ],
  "bundled": true
}