Phasio Manufacturer CAMSPEC Controller API

Endpoints for exporting CAMSPEC files and managing manifest mappings

OpenAPI Specification

phasio-manufacturer-camspec-controller-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Phasio Activity Internal Manufacturer CAMSPEC Controller API
  description: This is the API documentation for the Phasio application.
  version: '1.0'
servers:
- url: https://m-api.eu.phas.io
  description: Generated server url
security:
- Phasio API Bearer Token: []
tags:
- name: Manufacturer CAMSPEC Controller
  description: Endpoints for exporting CAMSPEC files and managing manifest mappings
paths:
  /api/manufacturer/v1/camspec/manifest-mappings/lookup:
    post:
      tags:
      - Manufacturer CAMSPEC Controller
      summary: Get manifest mappings by manifest IDs (bulk lookup)
      description: Retrieves the mapping between CAMSPEC manifest IDs and requisition IDs for the specified manifest IDs. Supports hundreds of manifest IDs.
      operationId: getManifestMappings
      requestBody:
        content:
          application/json:
            schema:
              type: array
              description: Set of manifest IDs to look up
              items:
                type: string
                format: uuid
              uniqueItems: true
        required: true
      responses:
        '200':
          description: Manifest mappings retrieved successfully
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CamspecManifestMappingDto'
        '400':
          description: Invalid request parameters
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CamspecManifestMappingDto'
  /api/manufacturer/v1/camspec/export:
    post:
      tags:
      - Manufacturer CAMSPEC Controller
      summary: Export CAMSPEC archive for requisitions
      description: Creates and downloads a CAMSPEC archive (.camspec file) containing manufacturing constraints and CAD files for the specified requisitions
      operationId: exportCamspec
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CamspecExportRequestDto'
        required: true
      responses:
        '200':
          description: CAMSPEC archive created successfully
          content:
            application/zip: {}
        '400':
          description: Invalid request parameters
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/StreamingResponseBody'
        '404':
          description: One or more requisitions not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/StreamingResponseBody'
  /api/manufacturer/v1/camspec/requisitions/{requisitionId}/manifest-mappings:
    get:
      tags:
      - Manufacturer CAMSPEC Controller
      summary: Get manifest mappings by requisition ID
      description: Retrieves all CAMSPEC manifest mappings for a specific requisition ID (reverse lookup)
      operationId: getManifestMappingsByRequisition
      parameters:
      - name: requisitionId
        in: path
        description: The requisition ID to look up
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Manifest mappings retrieved successfully
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CamspecManifestMappingDto'
        '404':
          description: Requisition not found
          content:
            '*/*':
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CamspecManifestMappingDto'
  /api/manufacturer/v1/camspec/manifest-mappings/{manifestId}:
    get:
      tags:
      - Manufacturer CAMSPEC Controller
      summary: Get manifest mapping by manifest ID
      description: Retrieves the mapping between a single CAMSPEC manifest ID and its corresponding requisition ID
      operationId: getManifestMapping
      parameters:
      - name: manifestId
        in: path
        description: The manifest ID to look up
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Manifest mapping retrieved successfully
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/CamspecManifestMappingDto'
        '404':
          description: Manifest mapping not found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/CamspecManifestMappingDto'
components:
  schemas:
    CamspecExportRequestDto:
      type: object
      description: CAMSPEC export request containing requisition IDs with quantities and priority
      properties:
        requisitionEntries:
          type: array
          items:
            $ref: '#/components/schemas/CamspecRequisitionEntryDto'
        fileType:
          type: string
          enum:
          - ORIGINAL_CAD_FILE
          - CORE_GEOMETRY
          - THUMBNAIL
          - PDF_DESIGN_FILE
          - WALL_THICKNESS_ANALYSIS
        priority:
          type: integer
          format: int32
      required:
      - fileType
      - priority
      - requisitionEntries
    CamspecManifestMappingDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
        requisitionId:
          type: integer
          format: int64
        createdAt:
          type: string
          format: date-time
      required:
      - createdAt
      - id
      - requisitionId
    CamspecRequisitionEntryDto:
      type: object
      properties:
        requisitionId:
          type: integer
          format: int64
        quantity:
          type: integer
          format: int32
      required:
      - quantity
      - requisitionId
    StreamingResponseBody: {}
  securitySchemes:
    Phasio API Bearer Token:
      type: http
      name: Authorization
      in: header
      scheme: bearer
      bearerFormat: JWT