Fulcrumpro Job Full Routing API
The Job Full Routing API from Fulcrumpro — 14 operation(s) for job full routing.
The Job Full Routing API from Fulcrumpro — 14 operation(s) for job full routing.
openapi: 3.0.4
info:
title: Fulcrum Public Accounting Code Job Full Routing API
version: v1
servers:
- url: https://api.fulcrumpro.com
tags:
- name: Job Full Routing
paths:
/api/jobs/{jobId}/routing/{routingId}/operations/{operationId}/ipts/{phase}/{iptId}:
delete:
tags:
- Job Full Routing
summary: Deletes a full routing operation in process tracking field for a job
operationId: JobFullRoutingIptDelete
parameters:
- name: jobId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: operationId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: phase
in: path
required: true
schema:
$ref: '#/components/schemas/DomainInProcessTrackingFieldCheckpointPhase'
- name: iptId
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: OK
/api/jobs/{jobId}/routing/{routingId}/operations/{operationId}/ipts/{phase}/list:
post:
tags:
- Job Full Routing
summary: Lists full routing operation in process tracking field for a job
operationId: JobPartLineItemFullRoutingIptList
parameters:
- name: jobId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: operationId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: phase
in: path
required: true
schema:
$ref: '#/components/schemas/DomainInProcessTrackingFieldCheckpointPhase'
- name: skip
in: query
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: take
in: query
schema:
maximum: 5000
minimum: 0
type: integer
format: int32
default: 50
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/RoutingRequestIptFindParameters'
application/json:
schema:
$ref: '#/components/schemas/RoutingRequestIptFindParameters'
text/json:
schema:
$ref: '#/components/schemas/RoutingRequestIptFindParameters'
application/*+json:
schema:
$ref: '#/components/schemas/RoutingRequestIptFindParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemRoutingIptDto'
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemRoutingIptDto'
x-c4-required-permissions:
- Jobs-Jobs-View Job
/api/jobs/{JobId}/routing/{routingId}/input-items:
post:
tags:
- Job Full Routing
summary: Create a full routing input item for a job
operationId: JobFullRoutingInputItemCreate
parameters:
- name: jobId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemCreateDto'
application/json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemCreateDto'
text/json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemCreateDto'
application/*+json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemCreateDto'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreatedResponseDto'
application/problem+json:
schema:
$ref: '#/components/schemas/CreatedResponseDto'
/api/jobs/{jobId}/routing/{routingId}/input-items/{inputItemId}:
delete:
tags:
- Job Full Routing
summary: Delete a full routing input item from job
operationId: JobFullRoutingInputItemDelete
parameters:
- name: jobId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: inputItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
responses:
'200':
description: OK
get:
tags:
- Job Full Routing
summary: Gets a full routing input item for a job
operationId: JobFullRoutingInputItemGet
parameters:
- name: jobId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: inputItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemDto'
application/problem+json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemDto'
x-c4-required-permissions:
- Jobs-Jobs-View Job
post:
tags:
- Job Full Routing
summary: Update a full routing input item for a job
operationId: JobFullRoutingInputItemUpdate
parameters:
- name: jobId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: inputItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemCreateDto'
application/json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemCreateDto'
text/json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemCreateDto'
application/*+json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemCreateDto'
required: true
responses:
'200':
description: OK
/api/jobs/{jobId}/routing/{routingId}/input-items/list:
post:
tags:
- Job Full Routing
summary: Lists the full routing input items for a job
operationId: JobFullRoutingInputItemList
parameters:
- name: jobId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: skip
in: query
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: take
in: query
schema:
maximum: 5000
minimum: 0
type: integer
format: int32
default: 50
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
application/json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
text/json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
application/*+json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemRoutingInputItemDto'
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemRoutingInputItemDto'
x-c4-required-permissions:
- Jobs-Jobs-View Job
/api/jobs/{jobId}/routing/{routingId}/input-materials/list:
post:
tags:
- Job Full Routing
summary: List input materials for a job's routing
operationId: JobFullRoutingInputMaterialList
parameters:
- name: jobId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: skip
in: query
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: take
in: query
schema:
maximum: 5000
minimum: 0
type: integer
format: int32
default: 50
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
application/json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
text/json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
application/*+json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemRoutingInputMaterialDto'
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemRoutingInputMaterialDto'
x-c4-required-permissions:
- Jobs-Jobs-View Job
/api/jobs/{jobId}/routing/{routingId}/operations/{operationId}/ipts/{phase}:
post:
tags:
- Job Full Routing
summary: Creates a full routing operation in process tracking field for a job
operationId: JobFullRoutingIptCreate
parameters:
- name: jobId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: operationId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: phase
in: path
required: true
schema:
$ref: '#/components/schemas/DomainInProcessTrackingFieldCheckpointPhase'
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/ItemRoutingIptCreateDto'
application/json:
schema:
$ref: '#/components/schemas/ItemRoutingIptCreateDto'
text/json:
schema:
$ref: '#/components/schemas/ItemRoutingIptCreateDto'
application/*+json:
schema:
$ref: '#/components/schemas/ItemRoutingIptCreateDto'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreatedResponseDto'
application/problem+json:
schema:
$ref: '#/components/schemas/CreatedResponseDto'
/api/jobs/{jobId}/make-summary:
get:
tags:
- Job Full Routing
summary: Get a summary of the make routing for a job
operationId: JobFullRoutingMakeSummaryGet
parameters:
- name: jobId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RoutingDataFullRoutingMakeSummaryDto'
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/RoutingDataFullRoutingMakeSummaryDto'
x-c4-required-permissions:
- Jobs-Jobs-View Job
/api/jobs/{jobId}/routing/{routingId}/operations:
post:
tags:
- Job Full Routing
summary: Creates a full routing operation for a job
operationId: JobFullRoutingOperationCreate
parameters:
- name: jobId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/ItemRoutingOperationCreateDto'
application/json:
schema:
$ref: '#/components/schemas/ItemRoutingOperationCreateDto'
text/json:
schema:
$ref: '#/components/schemas/ItemRoutingOperationCreateDto'
application/*+json:
schema:
$ref: '#/components/schemas/ItemRoutingOperationCreateDto'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CreatedResponseDto'
application/problem+json:
schema:
$ref: '#/components/schemas/CreatedResponseDto'
/api/jobs/{jobId}/routing/{routingId}/operations/{operationId}:
delete:
tags:
- Job Full Routing
summary: Removes a full routing operation for a job
operationId: JobFullRoutingOperationDelete
parameters:
- name: jobId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: operationId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
responses:
'200':
description: OK
get:
tags:
- Job Full Routing
summary: Gets a full routing operation for a job
operationId: JobFullRoutingOperationGet
parameters:
- name: jobId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: operationId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ItemRoutingOperationDto'
application/problem+json:
schema:
$ref: '#/components/schemas/ItemRoutingOperationDto'
x-c4-required-permissions:
- Jobs-Jobs-View Job
post:
tags:
- Job Full Routing
summary: Updates a full routing operation for a job
operationId: JobFullRoutingOperationUpdate
parameters:
- name: jobId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: operationId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/ItemRoutingOperationUpdateDto'
application/json:
schema:
$ref: '#/components/schemas/ItemRoutingOperationUpdateDto'
text/json:
schema:
$ref: '#/components/schemas/ItemRoutingOperationUpdateDto'
application/*+json:
schema:
$ref: '#/components/schemas/ItemRoutingOperationUpdateDto'
required: true
responses:
'200':
description: OK
/api/jobs/{jobId}/routing/{routingId}/operations/{operationId}/items/{operationItemId}:
get:
tags:
- Job Full Routing
summary: Gets a full routing operation item for a job
operationId: JobFullRoutingOperationItemGet
parameters:
- name: jobId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: operationId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: operationItemId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemDto'
application/problem+json:
schema:
$ref: '#/components/schemas/ItemRoutingInputItemDto'
x-c4-required-permissions:
- Jobs-Jobs-View Job
/api/jobs/{jobId}/routing/{routingId}/operations/{operationId}/items/list:
post:
tags:
- Job Full Routing
summary: List full routing operation items for a job
operationId: JobFullRoutingOperationItemList
parameters:
- name: jobId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: operationId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: skip
in: query
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: take
in: query
schema:
maximum: 5000
minimum: 0
type: integer
format: int32
default: 50
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
application/json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
text/json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
application/*+json:
schema:
$ref: '#/components/schemas/RoutingRequestItemFindParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemRoutingInputItemDto'
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemRoutingInputItemDto'
x-c4-required-permissions:
- Jobs-Jobs-View Job
/api/jobs/{jobId}/routing/{routingId}/operations/list:
post:
tags:
- Job Full Routing
summary: Lists full routing operations for a job
operationId: JobFullRoutingOperationList
parameters:
- name: jobId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
- name: skip
in: query
schema:
minimum: 0
type: integer
format: int32
default: 0
- name: take
in: query
schema:
maximum: 5000
minimum: 0
type: integer
format: int32
default: 50
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/RoutingRequestOperationFindParameters'
application/json:
schema:
$ref: '#/components/schemas/RoutingRequestOperationFindParameters'
text/json:
schema:
$ref: '#/components/schemas/RoutingRequestOperationFindParameters'
application/*+json:
schema:
$ref: '#/components/schemas/RoutingRequestOperationFindParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemRoutingOperationDto'
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/ItemRoutingOperationDto'
x-c4-required-permissions:
- Jobs-Jobs-View Job
/api/jobs/{jobId}/routing/{routingId}:
get:
tags:
- Job Full Routing
summary: Gets a full routing routing for a job
operationId: JobFullRoutingRoutingGet
parameters:
- name: jobId
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
- name: routingId
in: path
required: true
schema:
maxLength: 36
minLength: 36
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ItemRoutingDto'
application/problem+json:
schema:
$ref: '#/components/schemas/ItemRoutingDto'
x-c4-required-permissions:
- Jobs-Jobs-View Job
components:
schemas:
ItemRoutingInputItemDto:
required:
- description
- id
- itemId
- number
- valueType
- valueTypeUnits
type: object
properties:
id:
maxLength: 36
minLength: 36
type: string
description: Id of this input item in the item's routing
itemId:
maxLength: 24
minLength: 24
type: string
description: Item Id
readOnly: true
number:
maxLength: 200
minLength: 1
type: string
description: The number to give the item.
readOnly: true
revision:
maxLength: 200
minLength: 1
type: string
description: The revision of the item
readOnly: true
description:
maxLength: 2000
minLength: 0
type: string
description: The description to give the item.
readOnly: true
valueTypeUnits:
type: number
description: Measurement unit depending on FulcrumProduct.PublicApi.Dto.Item.Routing.InputItemDto.ValueType
format: double
valueType:
$ref: '#/components/schemas/CommonEnumInputItemValueTypeEnum'
additionalProperties: false
description: An item
ItemRoutingOperationDto:
required:
- id
- name
- systemOperationId
type: object
properties:
id:
maxLength: 36
minLength: 36
type: string
description: The Id of this operation specific to this item's routing
name:
maxLength: 200
minLength: 1
type: string
description: Name of the system operation
systemOperationId:
maxLength: 24
minLength: 24
type: string
description: Id of the system operation
order:
minimum: 0
type: integer
description: The order of this operation. Operations with the same order are expected to run in parallel
format: int32
isOutsideProcessing:
type: boolean
description: Specifies whether this is an outside processing operation
outsideProcessingOperation:
$ref: '#/components/schemas/ItemRoutingOutsideProcessingOperationDto'
operation:
$ref: '#/components/schemas/ItemRoutingNormalOperationDto'
leadDays:
minimum: 0
type: integer
description: Lead days
format: int32
unattended:
type: boolean
description: 'If `true`, the run portion of this step is unattended by
an operator.'
nullable: true
machineTrackingEnabled:
type: boolean
description: Whether machine tracking is enabled.
instructions:
maxLength: 2000
minLength: 1
type: string
description: Instructions for this operation.
nullable: true
additionalProperties: false
description: A routing operation (step)
MaterialShapeVendorDto:
required:
- id
- isPrimary
- priceBreaks
- priceUnit
- vendorId
type: object
properties:
id:
type: string
description: Unique id associated to this entity.
format: uuid
vendorId:
maxLength: 24
minLength: 24
type: string
description: Vendor identifier. Pelase reference /api/vendors endpoint.
isPrimary:
type: boolean
description: Signifies if this is the primary vendor for this material.
currencyCode:
type: string
description: Currency code/denomination associated to this vendor.
nullable: true
priceUnit:
$ref: '#/components/schemas/CommonEnumMaterialVendorPriceUnitEnum'
leadTimeInDays:
minimum: 0
type: integer
description: Number of days required between order and receipt
format: int32
nullable: true
priceBreaks:
type: array
items:
$ref: '#/components/schemas/MaterialShapeVendorPriceBreakDto'
description: Vendor price breaks
additionalProperties: false
description: Material vendor definition
ItemRoutingDto:
type: object
properties:
allowContinuousFlow:
type: boolean
description: Allow an operation to start before previous operations in the routing end
nullable: true
additionalProperties: false
description: Represents an item's routing
CommonEnumMaterialRequirementCostingEnum:
enum:
- fullCost
- usageBased
type: string
description: Specifies the costing of the material.
MaterialShapeVendorPriceBreakDto:
required:
- id
- price
- quantity
type: object
properties:
id:
type: string
description: Unique id associated to this entity.
format: uuid
quantity:
minimum: 0
type: integer
description: The minimum quantity to associate this price break to.
format: int32
price:
type: number
description: The price per unit.
format: double
additionalProperties: false
description: Vendor prices breaks for a material shape.
ItemRoutingOutsideProcessingOperationDto:
type: object
properties:
outsideProcessingTime:
$ref: '#/components/schemas/ItemRoutingOperationTime'
outsideProcessingCost:
$ref: '#/components/schemas/ItemRoutingOutsideProcessingOperationCost'
selectedVendorId:
type: string
description: Outside processing vendor
nullable: true
additionalProperties: false
description: Defines outside processing fields
ItemRoutingIptCreateDto:
required:
- fieldTypeId
- label
type: object
properties:
label:
minLength: 1
type: string
description: Label describing the in process tracking field
description:
type: string
description: The description of the in process tracking field
nullable: true
units:
type: string
description: The units used when this in process tracking field represents a number
nullable: true
fieldTypeId:
minLength: 1
type: string
description: The id of the field type for this in process tracking field
targetValue:
type: number
description: The target or ideal value of an in process tracking field response
format: double
nullable: true
minimumValue:
type: number
description: The minimum acceptable value for a tracking field response
format: double
nullable: true
maximumValue:
type: number
description: The maximum acceptable value for a tracking field response
format: double
nullable: true
triggeringBooleanValue:
type: boolean
description: The target value for booleans. Typically Yes/No for proceeding with next checkpoint
nullable: true
triggeringDropdownValue:
type: string
description: The target value for multiple options
nullable: true
required:
type: boolean
description: Whether the in process tracking field requires a response
restricted:
type: boolean
description: If true, only users with the appropriate permission will be allowed to save a response.
firstArticle:
type: boolean
description: 'Only applies to the During phase. If true (and Required), this field will prevent adding any
completed items to inventory if target is not met.'
additionalProperties: false
description: An in process tracking field for
# --- truncated at 32 KB (50 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fulcrumpro/refs/heads/main/openapi/fulcrumpro-job-full-routing-api-openapi.yml