Phasio Manufacturer Requisition Controller API
API for managing part requisitions and production batches
API for managing part requisitions and production batches
openapi: 3.1.0
info:
title: Phasio Activity Internal Manufacturer Requisition 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 Requisition Controller
description: API for managing part requisitions and production batches
paths:
/api/manufacturer/v1/requisition/{requisitionId}/work-order:
post:
tags:
- Manufacturer Requisition Controller
summary: Create an additional work order
description: Creates a new work order on the requisition and schedules the requested quantity into its first operation, distinct from the idempotent bulk schedule path. Uses the ad-hoc routing given by optional ordered operationIds, else the template given by optional routingTemplateId, else the spec's designated default template, else a system-derived routing. routingTemplateId alongside operationIds records which template the ad-hoc steps were customized from. Its routing can be diverged afterward via the routing editor.
operationId: addWorkOrder
parameters:
- name: requisitionId
in: path
required: true
schema:
type: integer
format: int64
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWorkOrderRequest'
required: true
responses:
'200':
description: OK
content:
'*/*':
schema:
$ref: '#/components/schemas/WorkOrderDto'
/api/manufacturer/v1/requisition/work-orders:
post:
tags:
- Manufacturer Requisition Controller
summary: Create work orders
description: Creates a new work order for every part and quantity in the request
operationId: createWorkOrder
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ScheduleBatchesDto'
required: true
responses:
'200':
description: Successfully created work orders
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BatchBalanceDto'
'400':
description: Failed to create work orders
/api/manufacturer/v1/requisition/batch-status:
post:
tags:
- Manufacturer Requisition Controller
summary: Create production batches
description: 'Creates production batches for the specified parts and quantities. Idempotent: parts whose work order is already in production are skipped'
operationId: createBatchesLegacy
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ScheduleBatchesDto'
required: true
responses:
'200':
description: Successfully created production batches
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BatchBalanceDto'
'400':
description: Failed to create production batches
/api/manufacturer/v1/requisition/create-batches:
post:
tags:
- Manufacturer Requisition Controller
summary: Create production batches
description: 'Creates production batches for the specified parts and quantities. Idempotent: parts whose work order is already in production are skipped'
operationId: createBatchesLegacy_1
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ScheduleBatchesDto'
required: true
responses:
'200':
description: Successfully created production batches
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BatchBalanceDto'
'400':
description: Failed to create production batches
/api/manufacturer/v1/requisition/bulk:
post:
tags:
- Manufacturer Requisition Controller
summary: Get requisitions by ids
description: Retrieves requisitions for the given ids, regardless of current step. Used to hydrate paginated completed-order rows whose requisitions fall outside the operation-scoped set.
operationId: getByIds
requestBody:
content:
application/json:
schema:
type: array
items:
type: integer
format: int64
uniqueItems: true
required: true
responses:
'200':
description: Successfully retrieved requisitions
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RequisitionDto'
/api/manufacturer/v1/requisition/auto-create-batches/{orderId}:
post:
tags:
- Manufacturer Requisition Controller
summary: Automatically create batches for an order
description: Creates production batches for all parts in the specified order
operationId: autoCreateBatches
parameters:
- name: orderId
in: path
description: ID of the order to create batches for
required: true
schema:
type: integer
format: int64
example: 1
responses:
'200':
description: Successfully created production batches
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BatchBalanceDto'
'400':
description: Failed to create production batches
/api/manufacturer/v1/requisition:
get:
tags:
- Manufacturer Requisition Controller
summary: Get all requisitions for current operator
description: Retrieves all requisitions for the current operator
operationId: getByOperator_1
parameters:
- name: archived
in: query
description: Include archived requisitions
required: true
schema:
type: boolean
example: false
responses:
'200':
description: Successfully retrieved requisitions
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RequisitionDto'
'401':
description: Unauthorized - missing operator context
/api/manufacturer/v1/requisition/{requisitionId}/thumbnail:
get:
tags:
- Manufacturer Requisition Controller
summary: Download requisition part thumbnail
description: Downloads the thumbnail image for a requisition's part
operationId: downloadThumbnail
parameters:
- name: requisitionId
in: path
description: ID of the requisition
required: true
schema:
type: integer
format: int64
responses:
'200':
description: Thumbnail successfully downloaded
content:
image/png: {}
'400':
description: Invalid requisition ID or thumbnail not available
'401':
description: Unauthorized - missing or invalid authentication
/api/manufacturer/v1/requisition/{id}:
get:
tags:
- Manufacturer Requisition Controller
summary: Get requisition by ID
description: Retrieves a specific requisition by its ID
operationId: get_16
parameters:
- name: id
in: path
description: ID of the requisition to retrieve
required: true
schema:
type: integer
format: int64
example: 1
responses:
'200':
description: Successfully retrieved requisition
content:
application/json:
schema:
$ref: '#/components/schemas/RequisitionDto'
'404':
description: Requisition not found
/api/manufacturer/v1/requisition/production-step/{stepId}:
get:
tags:
- Manufacturer Requisition Controller
summary: Get requisitions by production step
description: Retrieves all requisitions at the specified production step
operationId: getByProductionStep
parameters:
- name: stepId
in: path
description: UUID of the production step to filter by
required: true
schema:
type: string
format: uuid
- name: archived
in: query
description: Include archived requisitions
required: true
schema:
type: boolean
example: false
responses:
'200':
description: Successfully retrieved requisitions
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RequisitionDto'
/api/manufacturer/v1/requisition/part-specification/{specificationId}:
get:
tags:
- Manufacturer Requisition Controller
summary: Get requisitions by part specification ID
description: Retrieves all requisitions for the specified part specification
operationId: getByPartSpecification
parameters:
- name: specificationId
in: path
description: UUID of the part specification to filter by
required: true
schema:
type: string
format: uuid
- name: archived
in: query
description: Include archived requisitions
required: false
schema:
type: boolean
example: false
responses:
'200':
description: Successfully retrieved requisitions
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RequisitionDto'
/api/manufacturer/v1/requisition/order:
get:
tags:
- Manufacturer Requisition Controller
summary: Get requisitions by order ID
description: Retrieves all requisitions for the specified order
operationId: getByOrder
parameters:
- name: orderId
in: query
description: ID of the order to filter by
required: true
schema:
type: integer
format: int64
example: 1
responses:
'200':
description: Successfully retrieved requisitions
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RequisitionDto'
/api/manufacturer/v1/requisition/operation/{operationId}:
get:
tags:
- Manufacturer Requisition Controller
summary: Get requisitions by operation
description: Retrieves all requisitions with the specified operation
operationId: getByOperation
parameters:
- name: operationId
in: path
description: UUID of the operation to filter by
required: true
schema:
type: string
format: uuid
- name: archived
in: query
description: Include archived requisitions
required: false
schema:
type: boolean
example: false
responses:
'200':
description: Successfully retrieved requisitions
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RequisitionDto'
/api/manufacturer/v1/requisition/batch-transitions:
get:
tags:
- Manufacturer Requisition Controller
summary: Get batch transitions for parts
description: Retrieves all batch transitions for the specified part IDs
operationId: getBatchTransitions
parameters:
- name: requisitionIds
in: query
description: List of part IDs to get transitions for
required: true
schema:
type: array
items:
type: integer
format: int64
uniqueItems: true
responses:
'200':
description: Successfully retrieved batch transitions
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/BatchTransitionDto'
/api/manufacturer/v1/requisition/backlog:
get:
tags:
- Manufacturer Requisition Controller
summary: Get backlogged requisitions
description: Retrieves all requisitions in the operator's backlog
operationId: getBacklogByOperator
responses:
'200':
description: Successfully retrieved backlogged requisitions
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RequisitionDto'
'401':
description: Unauthorized - missing operator context
components:
schemas:
RoutingStepDto:
type: object
properties:
operationId:
type: string
format: uuid
sequence:
type: integer
format: int32
statusId:
type: string
format: uuid
required:
- operationId
- sequence
- statusId
FixedOrientationConstraintDto:
allOf:
- $ref: '#/components/schemas/ConstraintDto'
- type: object
properties:
rotationMatrix:
type: array
items:
type: array
items:
type: number
required:
- constraintType
- createdAt
- id
- partSpecificationId
- rotationMatrix
- updatedAt
BatchBalanceDto:
type: object
properties:
operationId:
type: string
format: uuid
operationName:
type: string
sequence:
type: integer
format: int64
requisitionId:
type: integer
format: int64
workOrderId:
type: string
format: uuid
processPricesId:
type: string
format: uuid
materialId:
type: integer
format: int64
colorId:
type: integer
format: int64
dispatchDate:
type: string
format: date
requisitionDuration:
type: integer
quantity:
type: integer
stepId:
type: string
format: uuid
groupId:
type: string
prefix:
type: string
stepType:
type: string
orderId:
type: integer
format: int64
orderNumber:
type: integer
format: int64
threadId:
type: integer
format: int64
purchaseOrderNumber:
type: string
commentCount:
type: integer
format: int64
closedAt:
type: string
format: date-time
outstandingAt:
type: string
format: date-time
batchStatusId:
type: string
format: uuid
batchStatusName:
type: string
required:
- batchStatusId
- batchStatusName
- commentCount
- groupId
- materialId
- operationId
- operationName
- outstandingAt
- prefix
- processPricesId
- quantity
- requisitionId
- sequence
- stepId
- stepType
- workOrderId
RequisitionDto:
type: object
properties:
id:
type: integer
format: int64
orderId:
type: integer
format: int64
partRevisionId:
type: string
format: uuid
units:
type: string
enum:
- CENTIMETERS
- MILLIMETERS
- METRES
- INCHES
- FEET
name:
type: string
quantity:
type: integer
colorId:
type: integer
format: int64
precisionId:
type: integer
format: int64
materialId:
type: integer
format: int64
processPricesId:
type: string
format: uuid
infillId:
type: integer
format: int64
pricePaid:
type: number
postProcessingIds:
type: array
items:
type: integer
format: int64
watertight:
type: boolean
createdAt:
type: string
format: date-time
lastUpdated:
type: string
format: date-time
leadTimeId:
type: string
format: uuid
constraints:
type: array
items:
oneOf:
- $ref: '#/components/schemas/ConstraintDto'
- $ref: '#/components/schemas/FixedOrientationConstraintDto'
required:
- constraints
- createdAt
- id
- lastUpdated
- materialId
- name
- orderId
- partRevisionId
- postProcessingIds
- processPricesId
- quantity
- units
- watertight
WorkOrderDto:
type: object
properties:
id:
type: string
format: uuid
workOrderNumber:
type: integer
format: int64
routingTemplateId:
type: string
format: uuid
name:
type: string
quantity:
type: integer
routing:
type: array
items:
$ref: '#/components/schemas/RoutingStepDto'
createdAt:
type: string
format: date-time
required:
- createdAt
- id
- quantity
- routing
CreateWorkOrderRequest:
type: object
properties:
quantity:
type: integer
name:
type: string
routingTemplateId:
type: string
format: uuid
operationIds:
type: array
items:
type: string
format: uuid
required:
- quantity
BatchTransitionDto:
type: object
discriminator:
propertyName: type
properties:
id:
type: string
format: uuid
requisitionId:
type: integer
format: int64
workOrderId:
type: string
format: uuid
fromOperationId:
type: string
format: uuid
fromOperationName:
type: string
fromStepId:
type: string
format: uuid
fromStepBuildId:
type: string
fromStepPrefix:
type: string
batchSize:
type: integer
createdAt:
type: string
format: date-time
updateDt:
type: string
format: date-time
type:
type: string
fromStatusId:
type: string
format: uuid
fromStatusName:
type: string
required:
- type
ConstraintDto:
type: object
discriminator:
propertyName: constraintType
properties:
id:
type: string
format: uuid
constraintType:
type: string
partSpecificationId:
type: string
format: uuid
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
required:
- constraintType
- createdAt
- id
- partSpecificationId
- updatedAt
ScheduleBatchesDto:
type: object
properties:
requisitionId:
type: integer
format: int64
quantity:
type: integer
name:
type: string
routingTemplateId:
type: string
format: uuid
operationIds:
type: array
items:
type: string
format: uuid
required:
- quantity
- requisitionId
securitySchemes:
Phasio API Bearer Token:
type: http
name: Authorization
in: header
scheme: bearer
bearerFormat: JWT