Phasio Manufacturer Order Controller API

API for managing manufacturing orders and their lifecycle

Operations 25

PUT /api/manufacturer/v1/order/{id}/edit Edit a confirmed or paid order #
GET /api/manufacturer/v1/order Get orders with filtering #
POST /api/manufacturer/v1/order Create a new order #
POST /api/manufacturer/v1/order/{id}/resend-estimate #
POST /api/manufacturer/v1/order/{id}/payment Create payment for an order #
POST /api/manufacturer/v1/order/{id}/convert Convert a draft quote into an open quote #
POST /api/manufacturer/v1/order/{id}/confirmation #
POST /api/manufacturer/v1/order/{id}/clone Clone an order #
GET /api/manufacturer/v1/order/{id} Get order by ID #
DELETE /api/manufacturer/v1/order/{id} Delete an order #
PATCH /api/manufacturer/v1/order/{id} Update an existing order #
PATCH /api/manufacturer/v1/order/{id}/unarchive Unarchive an order #
PATCH /api/manufacturer/v1/order/{id}/shipment Update order shipment #
PATCH /api/manufacturer/v1/order/{id}/purchase-order Update purchase order #
PATCH /api/manufacturer/v1/order/{id}/payment/confirm Confirm order payment #
PATCH /api/manufacturer/v1/order/{id}/owner Update order owner #
PATCH /api/manufacturer/v1/order/{id}/kanban-column Update order kanban column #
DELETE /api/manufacturer/v1/order/{id}/discount Remove discount from an order #
PATCH /api/manufacturer/v1/order/{id}/discount Apply discount to an order #
PATCH /api/manufacturer/v1/order/{id}/custom-reference Update order custom reference #
PATCH /api/manufacturer/v1/order/{id}/bypass-purchasability-check Bypass purchasability checks for an order #
PATCH /api/manufacturer/v1/order/{id}/awaiting-status Update order awaiting status #
PATCH /api/manufacturer/v1/order/{id}/archive Archive an order #
GET /api/manufacturer/v1/order/{id}/purchasability Validate order purchasability #
GET /api/manufacturer/v1/order/{id}/manufacturability Validate part manufacturability for an order #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/phasio-manufacturer-order-controller-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

phasio-manufacturer-order-controller-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Phasio Activity Internal Manufacturer Order 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 Order Controller
  description: API for managing manufacturing orders and their lifecycle
paths:
  /api/manufacturer/v1/order/{id}/edit:
    put:
      tags:
      - Manufacturer Order Controller
      summary: Edit a confirmed or paid order
      description: Edits an order in-place (for CONFIRMED/PAID orders). Unlike the PATCH endpoint which voids and replaces quotes, this preserves the order ID and edits requisitions in-place.
      operationId: editOrder
      parameters:
      - name: id
        in: path
        description: ID of the order to edit
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EditOrderDto'
        required: true
      responses:
        '200':
          description: Order successfully edited
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrderResponseDto'
        '400':
          description: Invalid order data or edit failed
        '401':
          description: Unauthorized - missing operator context
        '404':
          description: Order not found
  /api/manufacturer/v1/order:
    get:
      tags:
      - Manufacturer Order Controller
      summary: Get orders with filtering
      description: Retrieves a paginated list of orders with optional filtering and search
      operationId: get_7
      parameters:
      - name: filter
        in: query
        description: RSQL query string for filtering (e.g. paymentStatus=in=(PAID,UNPAID);price>10)
        required: true
        schema:
          type: string
      - name: page
        in: query
        description: Zero-based page index (0..N)
        required: false
        schema:
          type: integer
          default: 0
          minimum: 0
      - name: size
        in: query
        description: The size of the page to be returned
        required: false
        schema:
          type: integer
          default: 20
          minimum: 1
      - name: sort
        in: query
        description: 'Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.'
        required: false
        schema:
          type: array
          default:
          - createdAt,DESC
          items:
            type: string
      - name: search
        in: query
        description: Optional search term
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successfully retrieved orders
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Paginated'
        '400':
          description: Invalid filter specification
    post:
      tags:
      - Manufacturer Order Controller
      summary: Create a new order
      description: Creates a new manufacturing order with the provided details
      operationId: create_10
      parameters:
      - name: threadId
        in: query
        description: ID of the thread to associate with the order
        required: false
        schema:
          type: integer
          format: int64
      - name: customerOrganisationId
        in: query
        description: ID of the customer organisation to associated with the order
        required: true
        schema:
          type: integer
          format: int64
      - name: draft
        in: query
        description: Whether to save the quote as a draft. Draft quotes are internal and not visible to customers.
        required: false
        schema:
          type: boolean
          default: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrderDto'
        required: true
      responses:
        '200':
          description: Order successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrderResponseDto'
        '400':
          description: Invalid order data or creation failed
        '401':
          description: Unauthorized - missing operator context
  /api/manufacturer/v1/order/{id}/resend-estimate:
    post:
      tags:
      - Manufacturer Order Controller
      operationId: resendEstimate
      parameters:
      - name: id
        in: path
        description: ID of the order to resend estimate for
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      - name: includePaymentLink
        in: query
        description: Whether to include payment link in the estimate
        required: false
        schema:
          type: boolean
          default: false
        example: true
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: string
  /api/manufacturer/v1/order/{id}/payment:
    post:
      tags:
      - Manufacturer Order Controller
      summary: Create payment for an order
      description: Initiates payment processing for the specified order
      operationId: createPayment
      parameters:
      - name: id
        in: path
        description: ID of the order to create payment for
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      responses:
        '200':
          description: Payment successfully created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedPaymentDto'
        '400':
          description: Failed to create payment
  /api/manufacturer/v1/order/{id}/convert:
    post:
      tags:
      - Manufacturer Order Controller
      summary: Convert a draft quote into an open quote
      description: 'Converts a draft quote into an open quote. This is a one-way transition: the order must currently be a draft. On conversion the customer can view the quote, the customer is notified, and any accounting estimate is moved into the open state.'
      operationId: convertDraftToOpen
      parameters:
      - name: id
        in: path
        description: ID of the draft quote to convert
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      responses:
        '200':
          description: Draft successfully converted to an open quote
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderDto'
        '400':
          description: Order is not a draft or conversion failed
        '404':
          description: Order not found
  /api/manufacturer/v1/order/{id}/confirmation:
    post:
      tags:
      - Manufacturer Order Controller
      operationId: sendOrderConfirmation
      parameters:
      - name: id
        in: path
        description: ID of the order to resend order confirmation for
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                type: string
  /api/manufacturer/v1/order/{id}/clone:
    post:
      tags:
      - Manufacturer Order Controller
      summary: Clone an order
      description: Creates a new order as a copy of an existing one
      operationId: clone
      parameters:
      - name: id
        in: path
        description: ID of the order to clone
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      responses:
        '200':
          description: Order successfully cloned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderDto'
        '404':
          description: Original order not found
  /api/manufacturer/v1/order/{id}:
    get:
      tags:
      - Manufacturer Order Controller
      summary: Get order by ID
      description: Retrieves a specific order by its ID
      operationId: getById_2
      parameters:
      - name: id
        in: path
        description: ID of the order to retrieve
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      responses:
        '200':
          description: Successfully retrieved order
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderDto'
        '404':
          description: Order not found
    delete:
      tags:
      - Manufacturer Order Controller
      summary: Delete an order
      description: Deletes an order by its ID
      operationId: delete_9
      parameters:
      - name: id
        in: path
        description: ID of the order to delete
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      responses:
        '200':
          description: Order successfully deleted
          content:
            text/plain: {}
        '400':
          description: Failed to delete order
          content:
            text/plain: {}
    patch:
      tags:
      - Manufacturer Order Controller
      summary: Update an existing order
      description: Updates an order with the provided details
      operationId: update_13
      parameters:
      - name: id
        in: path
        description: ID of the order to update
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOrderDto'
        required: true
      responses:
        '200':
          description: Order successfully updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOrderResponseDto'
        '400':
          description: Invalid order data or update failed
        '401':
          description: Unauthorized - missing operator context
        '404':
          description: Order not found
  /api/manufacturer/v1/order/{id}/unarchive:
    patch:
      tags:
      - Manufacturer Order Controller
      summary: Unarchive an order
      description: Removes archived status from an order
      operationId: unarchive
      parameters:
      - name: id
        in: path
        description: ID of the order to unarchive
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      responses:
        '200':
          description: Order successfully unarchived
          content:
            text/plain: {}
        '400':
          description: Failed to unarchive order
          content:
            text/plain: {}
        '404':
          description: Order not found
  /api/manufacturer/v1/order/{id}/shipment:
    patch:
      tags:
      - Manufacturer Order Controller
      summary: Update order shipment
      description: Updates shipment information for an order
      operationId: updateShipment
      parameters:
      - name: id
        in: path
        description: ID of the order to update shipment for
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateOrderShipmentDto'
        required: true
      responses:
        '200':
          description: Shipment successfully updated
          content:
            text/plain: {}
        '400':
          description: Failed to update shipment
        '401':
          description: Unauthorized - missing operator context
        '404':
          description: Order not found
  /api/manufacturer/v1/order/{id}/purchase-order:
    patch:
      tags:
      - Manufacturer Order Controller
      summary: Update purchase order
      description: Update an order's purchase order
      operationId: updatePurchaseOrder
      parameters:
      - name: id
        in: path
        description: ID of the order to update purchase order for
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      - name: purchaseOrderNumber
        in: query
        description: Purchase order details
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                  description: Purchase order PDF file
      responses:
        '200':
          description: Purchase order updated successfully
          content:
            text/plain: {}
        '400':
          description: Failed to update purchase order
          content:
            text/plain: {}
        '404':
          description: Order not found
  /api/manufacturer/v1/order/{id}/payment/confirm:
    patch:
      tags:
      - Manufacturer Order Controller
      summary: Confirm order payment
      description: Marks an order's payment as confirmed
      operationId: markPaymentConfirmed
      parameters:
      - name: id
        in: path
        description: ID of the order to confirm payment for
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      - name: purchaseOrderNumber
        in: query
        description: Purchase order number
        required: false
        schema:
          type: string
      - name: message
        in: query
        description: Message
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                  description: Purchase order PDF file
      responses:
        '200':
          description: Payment successfully confirmed
          content:
            text/plain: {}
        '400':
          description: Failed to confirm payment
          content:
            text/plain: {}
        '404':
          description: Order not found
  /api/manufacturer/v1/order/{id}/owner:
    patch:
      tags:
      - Manufacturer Order Controller
      summary: Update order owner
      description: Reassigns the order owner. The new owner must be a user belonging to the same operator team as the order. Pass a null/blank owner to clear the assignment.
      operationId: updateOwner
      parameters:
      - name: id
        in: path
        description: ID of the order to update
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateOrderOwnerDto'
        required: true
      responses:
        '200':
          description: Owner successfully updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderDto'
        '400':
          description: Owner does not belong to this operator
        '404':
          description: Order not found
  /api/manufacturer/v1/order/{id}/kanban-column:
    patch:
      tags:
      - Manufacturer Order Controller
      summary: Update order kanban column
      description: Moves an order to a different kanban column. Optional skipAutomationTypes field suppresses the named column automations for this request only.
      operationId: updateKanbanColumn
      parameters:
      - name: id
        in: path
        description: ID of the order to update
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateOrderKanbanColumnDto'
        required: true
      responses:
        '204':
          description: Kanban column successfully updated
        '400':
          description: Failed to update kanban column
        '404':
          description: Order or kanban column not found
  /api/manufacturer/v1/order/{id}/discount:
    delete:
      tags:
      - Manufacturer Order Controller
      summary: Remove discount from an order
      description: Removes any applied discount from an order
      operationId: removeDiscount
      parameters:
      - name: id
        in: path
        description: ID of the order to remove discount from
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      responses:
        '204':
          description: Discount successfully removed
        '400':
          description: Failed to remove discount
        '404':
          description: Order not found
    patch:
      tags:
      - Manufacturer Order Controller
      summary: Apply discount to an order
      description: Applies a specified discount to an order
      operationId: applyDiscount
      parameters:
      - name: id
        in: path
        description: ID of the order to apply discount to
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateOrderDiscountDto'
        required: true
      responses:
        '204':
          description: Discount successfully applied
        '400':
          description: Failed to apply discount
        '404':
          description: Order or discount not found
  /api/manufacturer/v1/order/{id}/custom-reference:
    patch:
      tags:
      - Manufacturer Order Controller
      summary: Update order custom reference
      description: Updates the custom reference for an order. This can be done on any order status.
      operationId: updateCustomReference
      parameters:
      - name: id
        in: path
        description: ID of the order to update
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateCustomReferenceDto'
        required: true
      responses:
        '200':
          description: Custom reference successfully updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderDto'
        '404':
          description: Order not found
  /api/manufacturer/v1/order/{id}/bypass-purchasability-check:
    patch:
      tags:
      - Manufacturer Order Controller
      summary: Bypass purchasability checks for an order
      description: Marks an order as bypassing purchasability validation
      operationId: bypassPurchasabilityChecks
      parameters:
      - name: id
        in: path
        description: ID of the order to bypass checks for
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      responses:
        '200':
          description: Purchasability checks successfully bypassed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderPurchasabilityDto'
        '400':
          description: Failed to bypass purchasability checks
        '404':
          description: Order not found
  /api/manufacturer/v1/order/{id}/awaiting-status:
    patch:
      tags:
      - Manufacturer Order Controller
      summary: Update order awaiting status
      description: Updates the awaiting status of an order with additional details
      operationId: updateAwaitingStatus
      parameters:
      - name: id
        in: path
        description: ID of the order to update
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateAwaitingStatusDto'
        required: true
      responses:
        '200':
          description: Awaiting status successfully updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderDto'
        '400':
          description: Failed to update awaiting status
        '404':
          description: Order not found
  /api/manufacturer/v1/order/{id}/archive:
    patch:
      tags:
      - Manufacturer Order Controller
      summary: Archive an order
      description: Marks an order as archived with an optional message
      operationId: archive
      parameters:
      - name: id
        in: path
        description: ID of the order to archive
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ArchiveOrderDto'
        required: true
      responses:
        '200':
          description: Order successfully archived
          content:
            text/plain: {}
        '400':
          description: Failed to archive order
          content:
            text/plain: {}
        '404':
          description: Order not found
  /api/manufacturer/v1/order/{id}/purchasability:
    get:
      tags:
      - Manufacturer Order Controller
      summary: Validate order purchasability
      description: Checks if an order can be purchased by validating its details
      operationId: validateOrderPurchasability
      parameters:
      - name: id
        in: path
        description: ID of the order to validate
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      responses:
        '200':
          description: Purchasability validation successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderPurchasabilityDto'
        '400':
          description: Failed to validate purchasability
        '404':
          description: Order not found
  /api/manufacturer/v1/order/{id}/manufacturability:
    get:
      tags:
      - Manufacturer Order Controller
      summary: Validate part manufacturability for an order
      description: Checks if all parts in an order can be manufactured with current setup
      operationId: validatePartManufacturabilityForOrder
      parameters:
      - name: id
        in: path
        description: ID of the order to validate parts for
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      responses:
        '200':
          description: Manufacturability validation completed
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PartManufacturabilityDto'
        '404':
          description: Order not found
components:
  schemas:
    CreateHourlyExpenseDto:
      allOf:
      - $ref: '#/components/schemas/CreateExpenseDto'
      - type: object
        properties:
          hours:
            type: number
          rate:
            type: number
      required:
      - hours
      - name
      - rate
      - type
    CreateRequisitionConstraintDto:
      type: object
      discriminator:
        propertyName: constraintType
      properties:
        constraintType:
          type: string
      required:
      - constraintType
    CreateGenericDiscountDto:
      allOf:
      - $ref: '#/components/schemas/CreateDiscountDto'
      - type: object
        properties:
          code:
            type: string
          startTime:
            type: string
            format: date-time
          endTime:
            type: string
            format: date-time
          genericDiscountNoe:
            type: string
      required:
      - code
      - discountType
      - endTime
      - genericDiscountNoe
      - percentage
      - startTime
    CreateInstantDiscountDto:
      allOf:
      - $ref: '#/components/schemas/CreateDiscountDto'
      - type: object
        properties:
          note:
            type: string
      required:
      - discountType
      - note
      - percentage
    KanbanColumnDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        sequence:
          type: integer
          format: int32
        orderStatus:
          type: string
        automations:
          type: array
          items:
            $ref: '#/components/schemas/KanbanColumnAutomationDto'
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      required:
      - automations
      - createdAt
      - id
      - name
      - orderStatus
      - sequence
      - updatedAt
    TrackingDto:
      type: object
      properties:
        id:
          type: integer
          format: int64
        shipmentId:
          type: integer
          format: int64
        trackingNumber:
          type: string
      required:
      - id
      - shipmentId
      - trackingNumber
    CarrierAccountShipmentDto:
      allOf:
      - $ref: '#/components/schemas/ShipmentDto'
      - type: object
        properties:
          toAddressDto:
            $ref: '#/components/schemas/CustomerAddressDto'
          carrierAccountProvider:
            type: string
          carrierAccountServiceType:
            type: string
          carrierAccountServiceName:
            type: string
          estimatedRate:
            type: number
          finalRatePaid:
            type: number
          trackingDto:
            $ref: '#/components/schemas/TrackingDto'
      required:
      - shippingMode
    ExpenseDto:
      type: object
      properties:
        expenseId:
          type: integer
          format: int64
        name:
          type: string
        description:
          type: string
        type:
          type: string
      required:
      - expenseId
      - name
      - type
    CreateDiscountDto:
      type: object
      properties:
        discountType:
          type: string
        percentage:
          type: number
      required:
      - discountType
      - percentage
    OrderTaxComponentDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
        shortName:
          type: string
        longName:
          type: string
        percentage:
          type: number
        amount:
          type: number
        localAmount:
          type: number
      required:
      - amount
      - id
      - localAmount
      - longName
      - percentage
      - shortName
    Paginated:
      type: object
      properties:
        content:
          type: array
          items: {}
        totalElements:
          type: integer
        totalPages:
          type: integer
        pageNumber:
          type: integer
        pageSize:
          type: integer
        isEmpty:
          type: boolean
        isFirst:
          type: boolean
        isLast:
          type: boolean
      required:
      - content
      - isEmpty
      - isFirst
      - isLast
      - pageNumber
      - pageSize
      - totalElements
      - totalPages
    ShipmentDto:
      type: object
      discriminator:
        propertyName: shippingMode
      properties:
        id:
          type: integer
          format: int64
        shippingMode:
          type: string
          enum:
          - SELF_COLLECTION
          - FIXED_PRICE
          - CARRIER_ACCOUNT
        shippingMethodId:
          type: integer
          format: int64
        rateId:
          type: string
        toAddressId:
          type: integer
          format: int64
        status:
          type: string
        dispatchDate:
          type: string
          format: date
      required:
      - shippingMode
    PartManufacturabilityWarningsDto:
      type: object
      properties:
        hasOptimalWallThickness:
          type: boolean
      required:
      - hasOptimalWallThickness
    CreateRequisitionDto:
      type: object
      properties:
        requisitionIntentId:
          type: string
          format: uuid
        partRevisionId:
          type: string
          format: uuid
        units:
          type: string
          enum:
          - CENTIMETERS
          - MILLIMETERS
          - METRES
          - INCHES
          - FEET
        quantity:
          type: integer
        materialId:
          type: integer
          format: int64
        processPricesId:
          type: string
          format: uuid
        infillId:
          type: integer
          format: int64
        precisionId:
          type: integer
          format: int64
        colorId:
          type: integer
          format: int64
        postProcessing:
          type: array
          items:
            $ref: '#/components/schemas/CreateRequisitionPostProcessingDto'
          uniqueItems: true
        variables:
          type: object
          additionalProperties:
            type: number
        manualPrice:
          type: number
        leadTimeId:
          type: string
          format: uuid
        comments:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/CreateLocationCommentDto'
            - $ref: '#/components/schemas/CreateRequisitionCommentDto'
        name:
          type: string
        constraints:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/CreateFixedOrientationRequisitionConstraintDto'
      required:
      - comments
      - constraints
      - materialId
      - partRevisionId
      - postProcessing
      - processPricesId
      - quantity
      - requisitionIntentId
      - units
      - variables
    CreatedPaymentDto:
      type: object
      properties:
        id:
          type: string
        clientSecret:
          type: string
        paymentPrincipal:
          type: string
        merchantAccount:
          type: string
        provider:
          type: string
        finalPrice:
          type: number
        tax:
          type: number
        currency:
          type: string
        woocommerceOrderKey:
          type: string
        flywireGatewayUrl:
          type: string
        stripePaymentIntentStatus:
          type: string
      required:
      - currency
      - finalPrice
      - id
      - provider
      - tax
    OrderTaxDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
        components:
          type: array
          items:
            $ref: '#/components/schemas/OrderTaxComponentDto'
        totalPrice:
          type: number
        localTotalPrice:
          type: number
        isTaxAppliedToShipping:
          type: boolean
        isTaxExempted:
          type: boolean
        taxNumber:
          type: string
      required:
      - components
      - id
      - isTaxAppliedToShipping
      - isTaxExempted
      - localTotalPrice
      - totalPrice
    GenerateShippingLabelDto:
      allOf:
      - $ref: '#/components/schemas/KanbanColumnAutomationRequestDto'
      - type: object
        properties:
          parcelContentsType:
            type: string
          parcelContentsDescription:
            type: string
      required:
      - parcelContentsDescription
      - parcelContentsType
      - type
    CreateRequisitionCommentDto:
      allOf:
      - $ref: '#/components/schemas/CreateOrderCommentDto'
      required:
      - conversationType
      - message
    UpdateOrderShipmentDto:
      type: object
      description: Shipment details
      properties:
        shipment:
          oneOf:
          - $ref: '#/components/schemas/CarrierAccountShipmentDto'
          - $ref: '#/component

# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/phasio/refs/heads/main/openapi/phasio-manufacturer-order-controller-api-openapi.yml