Phasio Manufacturer Process Prices Controller API

Endpoints for managing manufacturing process pricing configurations

OpenAPI Specification

phasio-manufacturer-process-prices-controller-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Phasio Activity Internal Manufacturer Process Prices 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 Process Prices Controller
  description: Endpoints for managing manufacturing process pricing configurations
paths:
  /api/manufacturer/v1/processes/{processPricesId}/bounding-box-limit:
    put:
      tags:
      - Manufacturer Process Prices Controller
      summary: Update bounding box limit
      description: Updates the maximum build volume dimensions for a process pricing configuration
      operationId: updateBoundingBoxLimit
      parameters:
      - name: processPricesId
        in: path
        description: ID of the process pricing to update
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateBoundingBoxLimitDto'
        required: true
      responses:
        '204':
          description: Bounding box limit successfully updated
        '400':
          description: Invalid bounding box data, process pricing not found, or operator not found
    delete:
      tags:
      - Manufacturer Process Prices Controller
      summary: Delete bounding box limit
      description: Removes the maximum build volume dimensions constraint from a process pricing configuration
      operationId: deleteBoundingBoxLimit
      parameters:
      - name: processPricesId
        in: path
        description: ID of the process pricing from which to remove the bounding box limit
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '204':
          description: Bounding box limit successfully deleted
        '400':
          description: Process pricing not found or operator not found
  /api/manufacturer/v1/processes:
    get:
      tags:
      - Manufacturer Process Prices Controller
      summary: Get all process pricings
      description: Retrieves all manufacturing process pricing configurations for the current operator
      operationId: get_5
      responses:
        '200':
          description: Process pricings successfully retrieved
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ProcessPricesDto'
        '400':
          description: Operator not found
    post:
      tags:
      - Manufacturer Process Prices Controller
      summary: Create process pricing
      description: Creates a new manufacturing process pricing configuration
      operationId: create_6
      parameters:
      - name: organisationId
        in: query
        description: Optional organization ID to associate with this pricing
        required: false
        schema:
          type: integer
          format: int64
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProcessPricesDto'
        required: true
      responses:
        '200':
          description: Process pricing successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessPricesDto'
        '400':
          description: Invalid process pricing data or operator not found
  /api/manufacturer/v1/processes/{processPricesId}/stereotype:
    post:
      tags:
      - Manufacturer Process Prices Controller
      summary: Apply a stereotype to an existing process
      description: Generates the technology-default equation and variable schema, appending them to the target process. Fails if equations already exist or variable names collide.
      operationId: applyStereotype
      parameters:
      - name: processPricesId
        in: path
        description: ID of the process pricing to apply the stereotype to
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Stereotype applied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessPricesDto'
        '400':
          description: Process not found, technology has no stereotype, or process already has equations
        '409':
          description: Variable name collision, or concurrent modification
  /api/manufacturer/v1/processes/{processPricesId}/material-variable:
    post:
      tags:
      - Manufacturer Process Prices Controller
      operationId: createMaterialVariable
      parameters:
      - name: processPricesId
        in: path
        description: ID of the process to create a material variable for
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MaterialPricesVariableSchemaRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/MaterialPricesPropertySchemaDto'
  /api/manufacturer/v1/processes/{processPricesId}/duplicate:
    post:
      tags:
      - Manufacturer Process Prices Controller
      summary: Duplicate process pricing
      description: Creates a duplicate of an existing process pricing configuration with new settings
      operationId: duplicate
      parameters:
      - name: processPricesId
        in: path
        description: ID of the process pricing to duplicate
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DuplicateProcessPricesDto'
        required: true
      responses:
        '200':
          description: Process pricing successfully duplicated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessPricesDto'
        '400':
          description: Invalid duplication data, process pricing not found, or operator not found
  /api/manufacturer/v1/processes/stereotype:
    post:
      tags:
      - Manufacturer Process Prices Controller
      summary: Create process pricing with an initial stereotype
      description: Creates a new manufacturing process pricing configuration with a skeleton stereotype structure
      operationId: createStereotype
      parameters:
      - name: technology
        in: query
        description: The technology that this process is based upon
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Process pricing successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessPricesDto'
        '400':
          description: Invalid process pricing data or operator not found
  /api/manufacturer/v1/processes/{processPricesId}:
    get:
      tags:
      - Manufacturer Process Prices Controller
      summary: Get process pricing by ID
      description: Retrieves a specific manufacturing process pricing configuration by its ID
      operationId: get_13
      parameters:
      - name: processPricesId
        in: path
        description: ID of the process pricing to retrieve
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Process pricing found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProcessPricesDto'
        '400':
          description: Process pricing not found or operator not found
    delete:
      tags:
      - Manufacturer Process Prices Controller
      summary: Delete process pricing
      description: Deletes an existing manufacturing process pricing configuration
      operationId: delete_6
      parameters:
      - name: processPricesId
        in: path
        description: ID of the process pricing to delete
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '204':
          description: Process pricing successfully deleted
        '400':
          description: Process pricing not found or operator not found
    patch:
      tags:
      - Manufacturer Process Prices Controller
      summary: Update process pricing
      description: Updates an existing manufacturing process pricing configuration
      operationId: update_8
      parameters:
      - name: processPricesId
        in: path
        description: ID of the process pricing to update
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateProcessPricesDto'
        required: true
      responses:
        '204':
          description: Process pricing successfully updated
        '400':
          description: Invalid update data, process pricing not found, or operator not found
  /api/manufacturer/v1/processes/{processPricesId}/post-processings:
    patch:
      tags:
      - Manufacturer Process Prices Controller
      summary: Update available post-processings
      description: Updates which post-processing options are available for a process pricing configuration
      operationId: updatePostProcessings
      parameters:
      - name: processPricesId
        in: path
        description: ID of the process pricing to update
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              type: array
              description: List of post-processing IDs to associate with this process pricing
              items:
                type: integer
                format: int64
        required: true
      responses:
        '204':
          description: Available post-processings successfully updated
        '400':
          description: Invalid post-processing IDs, process pricing not found, or operator not found
  /api/manufacturer/v1/processes/{processPricesId}/default:
    patch:
      tags:
      - Manufacturer Process Prices Controller
      summary: Set process pricing as default
      description: Sets a process pricing configuration as the default for its technology
      operationId: selectDefault
      parameters:
      - name: processPricesId
        in: path
        description: ID of the process pricing to set as default
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '204':
          description: Process pricing successfully set as default
        '400':
          description: Process pricing not found or operator not found
  /api/manufacturer/v1/processes/{processPricesId}/default/unselect:
    patch:
      tags:
      - Manufacturer Process Prices Controller
      summary: Unset process pricing as default
      description: Removes the default status from a process pricing configuration
      operationId: unselectDefault
      parameters:
      - name: processPricesId
        in: path
        description: ID of the process pricing to unset as default
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '204':
          description: Process pricing default status successfully removed
        '400':
          description: Process pricing not found or operation failed
        '401':
          description: Unauthorized - operator not found
  /api/manufacturer/v1/processes/material-variable/{materialVariableId}:
    delete:
      tags:
      - Manufacturer Process Prices Controller
      operationId: deleteMaterialVariable
      parameters:
      - name: materialVariableId
        in: path
        description: ID of the material variable to delete
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/MaterialPricesPropertySchemaDto'
components:
  schemas:
    InfillDto:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        value:
          type: number
        default:
          type: boolean
      required:
      - default
      - id
      - name
      - value
    MaterialPricesVariableSchemaRequest:
      type: object
      properties:
        name:
          type: string
      required:
      - name
    CreateProcessPricesDto:
      type: object
      description: Process pricing data to create
      properties:
        technology:
          type: string
        pricingAlgo:
          type: string
        description:
          type: string
        isInternal:
          type: boolean
      required:
      - isInternal
      - pricingAlgo
      - technology
    UpdateProcessPricesDto:
      type: object
      description: Updated process pricing data
      properties:
        pricingAlgorithm:
          type: string
        description:
          type: string
        isInternal:
          type: boolean
        operationIds:
          type: array
          items:
            type: string
            format: uuid
          uniqueItems: true
        bulkPricingQuantities:
          type: array
          items:
            type: integer
          uniqueItems: true
      required:
      - bulkPricingQuantities
      - isInternal
      - operationIds
      - pricingAlgorithm
    ColorDto:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        code:
          type: string
      required:
      - code
      - id
      - name
    ProcessPricesDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
        technology:
          type: string
        description:
          type: string
        materials:
          type: array
          items:
            $ref: '#/components/schemas/MaterialDto'
        infills:
          type: array
          items:
            $ref: '#/components/schemas/InfillDto'
        precisions:
          type: array
          items:
            $ref: '#/components/schemas/PrecisionPricesDto'
        postProcessings:
          type: array
          items:
            $ref: '#/components/schemas/PostProcessingDto'
        isInternal:
          type: boolean
        isDefault:
          type: boolean
        bulkPricingQuantities:
          type: array
          items:
            type: integer
      required:
      - bulkPricingQuantities
      - id
      - infills
      - isDefault
      - isInternal
      - materials
      - postProcessings
      - precisions
      - technology
    PrecisionPricesDto:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        price:
          type: number
        isActive:
          type: boolean
      required:
      - id
      - isActive
      - name
      - price
    PostProcessingDto:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        purchasable:
          type: boolean
        isDefault:
          type: boolean
        colors:
          type: array
          items:
            $ref: '#/components/schemas/ColorDto'
        incompatibleMaterialIds:
          type: array
          items:
            type: integer
            format: int64
        mutuallyExclusiveGroup:
          type: string
      required:
      - colors
      - incompatibleMaterialIds
      - isDefault
      - name
      - purchasable
    MaterialPricesPropertySchemaDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
      required:
      - id
      - name
    UpdateBoundingBoxLimitDto:
      type: object
      description: Bounding box limit dimensions
      properties:
        length:
          type: number
        width:
          type: number
        height:
          type: number
      required:
      - height
      - length
      - width
    DuplicateProcessPricesDto:
      type: object
      description: Duplication details
      properties:
        technology:
          type: string
        newOrganisationId:
          type: integer
          format: int64
        description:
          type: string
      required:
      - technology
    MaterialDto:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
        datasheetSummary:
          type: string
        quoteOnly:
          type: boolean
        colorDtos:
          type: array
          items:
            $ref: '#/components/schemas/ColorDto'
        isDefault:
          type: boolean
        wallThicknessWarning:
          type: number
        wallThicknessLimit:
          type: number
      required:
      - colorDtos
      - id
      - isDefault
      - name
      - quoteOnly
  securitySchemes:
    Phasio API Bearer Token:
      type: http
      name: Authorization
      in: header
      scheme: bearer
      bearerFormat: JWT