Fulcrumpro Operation API
The Operation API from Fulcrumpro — 4 operation(s) for operation.
The Operation API from Fulcrumpro — 4 operation(s) for operation.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/fulcrumpro:fulcrumpro-operation-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Fulcrum Public Operation API
version: v1
servers:
- url: https://api.fulcrumpro.com
tags:
- name: Operation
paths:
/api/operation:
post:
tags:
- Operation
summary: Create a new operation
operationId: CreateOperation
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/OperationCreateDto'
application/json:
schema:
$ref: '#/components/schemas/OperationCreateDto'
text/json:
schema:
$ref: '#/components/schemas/OperationCreateDto'
application/*+json:
schema:
$ref: '#/components/schemas/OperationCreateDto'
required: true
responses:
'200':
description: Operation created
content:
application/json:
schema:
$ref: '#/components/schemas/CreatedResponseDto'
application/problem+json:
schema:
$ref: '#/components/schemas/CreatedResponseDto'
'400':
description: Validation issues with input
x-c4-exposed: true
x-c4-mutation: true
x-c4-required-permissions:
- System-System Data-Manage System Data
/api/operations/{id}:
get:
tags:
- Operation
summary: Get an operation
operationId: GetOperation
parameters:
- name: id
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
responses:
'200':
description: The operation for the given id
content:
application/json:
schema:
$ref: '#/components/schemas/OperationDto'
application/problem+json:
schema:
$ref: '#/components/schemas/OperationDto'
'404':
description: Operation did not exist
x-c4-exposed: true
x-c4-required-permissions:
- Scheduling-Schedule-View Schedule
/api/operations/list:
post:
tags:
- Operation
summary: Find operations based on search parameters
operationId: ListOperation
parameters:
- name: Sort.Field
in: query
description: Sort field
schema:
minLength: 1
type: string
- name: Sort.Dir
in: query
description: Sort direction
schema:
$ref: '#/components/schemas/CommonEnumSortDirectionEnum'
- name: Skip
in: query
description: 'Number of records to skip. Defaults to 0. Combine with FulcrumProduct.PublicApi.Dto.Common.PagingDto.Take to page
through a result set larger than one page.'
schema:
minimum: 0
type: integer
format: int32
- name: Take
in: query
description: 'Number of records to return. Validation accepts 0 through 5000, but `0` is not a
page size and what an endpoint does with it varies, so send a value from 1 to 5000.
Two cases differ. A request that supplies paging but leaves this field out takes this
field''s default of <b>50</b>. A request that supplies no paging at all is
endpoint-specific — some define their own fallback — so it does not reliably mean any
particular number of records. Either way the response says nothing about records it
did not return, so send this explicitly whenever the size of the answer matters.
Endpoints returning a paged envelope report `totalCount` and `hasNextPage`
alongside the records; endpoints returning a bare array report neither, so page those
with FulcrumProduct.PublicApi.Dto.Common.PagingDto.Skip until a page comes back shorter than the value requested.'
schema:
maximum: 5000
minimum: 0
type: integer
format: int32
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/OperationRequestFindParameters'
application/json:
schema:
$ref: '#/components/schemas/OperationRequestFindParameters'
text/json:
schema:
$ref: '#/components/schemas/OperationRequestFindParameters'
application/*+json:
schema:
$ref: '#/components/schemas/OperationRequestFindParameters'
responses:
'200':
description: List of operations matching the filters
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/OperationDto'
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/OperationDto'
x-c4-exposed: true
x-c4-required-permissions:
- Scheduling-Schedule-View Schedule
/api/operation/{id}:
put:
tags:
- Operation
summary: Update an operation
operationId: UpdateOperation
parameters:
- name: id
in: path
required: true
schema:
maxLength: 24
minLength: 24
type: string
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/OperationUpdateDto'
application/json:
schema:
$ref: '#/components/schemas/OperationUpdateDto'
text/json:
schema:
$ref: '#/components/schemas/OperationUpdateDto'
application/*+json:
schema:
$ref: '#/components/schemas/OperationUpdateDto'
required: true
responses:
'200':
description: The updated operation
content:
application/json:
schema:
$ref: '#/components/schemas/OperationDto'
application/problem+json:
schema:
$ref: '#/components/schemas/OperationDto'
'400':
description: Validation issues with input
'404':
description: Operation did not exist
x-c4-exposed: true
x-c4-mutation: true
x-c4-required-permissions:
- System-System Data-Manage System Data
components:
schemas:
CommonReferenceDto:
type: object
properties:
id:
maxLength: 24
minLength: 24
type:
- string
- 'null'
description: Unique Id associated to the referenced object
name:
maxLength: 200
minLength: 1
type:
- string
- 'null'
description: Descriptive name associated to the object
additionalProperties: false
description: Represents a reference to a document in a DB collection
ItemRoutingOperationTimeOption:
enum:
- fixedSeconds
- fixedMinutes
- fixedHours
- fixedDays
- secondsPerUnit
- minutesPerUnit
- hoursPerUnit
- daysPerUnit
- unitsPerHour
type: string
description: The time unit or option used in operation times
CommonEnumSortDirectionEnum:
enum:
- ascending
- descending
type: string
description: Specify sorting direction.
OperationUpdateDto:
required:
- description
- name
type: object
properties:
name:
maxLength: 200
minLength: 1
type: string
description: The name of operation.
description:
maxLength: 200
minLength: 1
type: string
description: The description of the operation.
isOutsideProcessing:
type: boolean
description: Specifies whether this is an outside processing operation.
setupTime:
$ref: '#/components/schemas/ItemRoutingOperationTime'
laborTime:
$ref: '#/components/schemas/ItemRoutingOperationTime'
machineTime:
$ref: '#/components/schemas/ItemRoutingOperationTime'
machineTimeTrackingEnabled:
type: boolean
description: Specifies whether machine tracking is enabled.
outsideProcessingCost:
$ref: '#/components/schemas/ItemRoutingOutsideProcessingOperationCost'
defaultVendorId:
maxLength: 24
minLength: 24
type:
- string
- 'null'
description: Default vendor id that will be used for this operation. Please reference /api/vendors endpoint.
vendors:
type:
- array
- 'null'
items:
type: string
description: Available vendors.
leadDays:
minimum: 0
type:
- integer
- 'null'
description: Lead days.
format: int32
instructions:
maxLength: 2000
minLength: 1
type:
- string
- 'null'
description: Instructions.
accountingCodeId:
maxLength: 24
minLength: 24
type:
- string
- 'null'
description: Accounting code key identifier. Please reference /api/accounting-codes endpoint.
additionalProperties: false
description: 'Details of an operation to be updated. This is a full replacement of the publicly-exposed fields.
Internal-only fields not exposed here (in-process tracking, tolerances, shop rates) are preserved.'
ItemRoutingOperationTime:
type: object
properties:
time:
type: number
description: Time or units of this operation
format: double
option:
$ref: '#/components/schemas/ItemRoutingOperationTimeOption'
additionalProperties: false
description: Operation time and type
DtoOperationRates:
type: object
properties:
hourlyRateForSetupInPrimaryCurrency:
type:
- number
- 'null'
description: Hourly cost rate applied to setup time.
format: double
hourlyRateForLaborInPrimaryCurrency:
type:
- number
- 'null'
description: Hourly cost rate applied to labor time.
format: double
hourlyRateForOverheadInPrimaryCurrency:
type:
- number
- 'null'
description: Hourly overhead cost rate.
format: double
hourlyRateForMachineInPrimaryCurrency:
type:
- number
- 'null'
description: Hourly cost rate applied to machine time.
format: double
hourlyShopRateForSetupInPrimaryCurrency:
type:
- number
- 'null'
description: Hourly shop rate charged for setup time when pricing.
format: double
hourlyShopRateForRunInPrimaryCurrency:
type:
- number
- 'null'
description: Hourly shop rate charged for run time when pricing.
format: double
hourlyShopRateForMachineInPrimaryCurrency:
type:
- number
- 'null'
description: Hourly shop rate charged for machine time when pricing.
format: double
additionalProperties: false
description: 'Hourly cost and shop rates for an operation, in the shop''s primary currency. Cost rates
override work-center rates when costing jobs; shop rates drive quoted pricing for the
operation. A null rate means no operation-level rate is set and the work-center rates apply.'
OperationDto:
required:
- id
- name
type: object
properties:
id:
maxLength: 24
minLength: 24
type: string
description: Unique id associated to this entity.
name:
maxLength: 200
minLength: 1
type: string
description: Identifying name. Must be unique.
description:
maxLength: 200
minLength: 1
type:
- string
- 'null'
description: A verbose description of the location.
setupTime:
$ref: '#/components/schemas/ItemRoutingOperationTime'
laborTime:
$ref: '#/components/schemas/ItemRoutingOperationTime'
machineTimeTrackingEnabled:
type:
- boolean
- 'null'
description: Is machine time tracking enabled.
machineTime:
$ref: '#/components/schemas/ItemRoutingOperationTime'
isOutsideProcessing:
type: boolean
description: Specifies whether this is an outside processing operation
outsideProcessingCost:
$ref: '#/components/schemas/ItemRoutingOutsideProcessingOperationCost'
unattended:
type: boolean
description: Specifies whether this is operation will be unattended.
defaultVendorId:
maxLength: 24
minLength: 24
type:
- string
- 'null'
description: Default vendor id that will be used for this operation. Please reference /api/vendors endpoint.
leadDays:
type: integer
description: Lead days.
format: int32
accountingCodeId:
maxLength: 24
minLength: 24
type:
- string
- 'null'
description: Accounting code key identifier. Please reference /api/accounting-codes endpoint.
workCenters:
type: array
items:
$ref: '#/components/schemas/CommonReferenceDto'
description: The work centers associated with the operation
isNestable:
type: boolean
description: Indicates if this operation is nestable.
instructions:
maxLength: 2000
minLength: 1
type:
- string
- 'null'
description: Instructions.
rates:
$ref: '#/components/schemas/DtoOperationRates'
additionalProperties: false
description: Operation definition.
OperationRequestFindParameters:
type: object
properties:
name:
maxLength: 200
minLength: 1
type:
- string
- 'null'
description: Filter operations based on their name.
modifiedBeforeUtc:
type:
- string
- 'null'
description: Filters operations modified before (exclusive) this parameter in UTC time. If no time component is passed, midnight UTC will be used.
format: date-time
modifiedAfterUtc:
type:
- string
- 'null'
description: 'Filters operations modified after (exclusive) this parameter in UTC time. If no time component is passed, midnight UTC will be used.
Useful for polling incrementally instead of re-syncing every operation.'
format: date-time
additionalProperties: false
description: Parameters used for searching/finding operations.
ItemRoutingOutsideProcessingCostOption:
enum:
- fixed
- perUnit
type: string
description: The cost option for the outside processing operation
ItemRoutingOutsideProcessingOperationCost:
type: object
properties:
costOption:
$ref: '#/components/schemas/ItemRoutingOutsideProcessingCostOption'
fixedCost:
type:
- number
- 'null'
description: The fixed total cost for the operation
format: double
perUnitCost:
type:
- number
- 'null'
description: The cost per unit for the operation
format: double
additionalProperties: false
description: Outside processing operation cost
CreatedResponseDto:
required:
- id
type: object
properties:
id:
minLength: 1
type: string
description: The id of the created record
additionalProperties: false
description: Response for a created record
OperationCreateDto:
required:
- description
- name
type: object
properties:
name:
maxLength: 200
minLength: 1
type: string
description: The name of operation.
description:
maxLength: 200
minLength: 1
type: string
description: The description of the operation.
isOutsideProcessing:
type: boolean
description: Specifies whether this is an outside processing operation.
setupTime:
$ref: '#/components/schemas/ItemRoutingOperationTime'
laborTime:
$ref: '#/components/schemas/ItemRoutingOperationTime'
machineTime:
$ref: '#/components/schemas/ItemRoutingOperationTime'
machineTimeTrackingEnabled:
type: boolean
description: Specifies whether machine tracking is enabled.
outsideProcessingCost:
$ref: '#/components/schemas/ItemRoutingOutsideProcessingOperationCost'
defaultVendorId:
maxLength: 24
minLength: 24
type:
- string
- 'null'
description: Default vendor id that will be used for this operation. Please reference /api/vendors endpoint.
vendors:
type:
- array
- 'null'
items:
type: string
description: Available vendors.
leadDays:
minimum: 0
type:
- integer
- 'null'
description: Lead days.
format: int32
instructions:
maxLength: 2000
minLength: 1
type:
- string
- 'null'
description: Instructions.
accountingCodeId:
maxLength: 24
minLength: 24
type:
- string
- 'null'
description: Accounting code key identifier. Please reference /api/accounting-codes endpoint.
additionalProperties: false
description: Details of operation to be created
securitySchemes:
bearer:
type: http
description: Your API bearer token generated in System Data > Advanced > Public API Setup
scheme: bearer
bearerFormat: JWT
x-tagGroups:
- name: Accounting Code
tags:
- Accounting Code
- name: Alert
tags:
- Alert
- name: Attachment
tags:
- Attachment
- Attachment Certification
- name: Auth
tags:
- Auth
- name: CAPAs
tags:
- CAPAs
- name: Change Order
tags:
- Change Order
- name: Chart Of Accounts
tags:
- Chart Of Accounts
- name: Company Info
tags:
- Company Info
- name: Custom Field
tags:
- Custom Field
- name: Customer
tags:
- Customer
- Customer Address
- Customer Contact
- name: Customer Tier
tags:
- Customer Tier
- name: Department
tags:
- Department
- name: Department Shift
tags:
- Department Shift
- name: Equipment
tags:
- Equipment
- name: Equipment Downtime
tags:
- Equipment Downtime
- name: Gauge Code
tags:
- Gauge Code
- name: Grade Code
tags:
- Grade Code
- name: InProcessTrackingFieldType
tags:
- InProcessTrackingFieldType
- name: Inventory
tags:
- Inventory
- name: Inventory Event
tags:
- Inventory Event
- Inventory Event Details
- name: Inventory Lot
tags:
- Inventory Lot
- name: Inventory Transactions
tags:
- Inventory Transactions
- name: Invoice
tags:
- Invoice
- Invoice Deposit Adjustment Line Item
- Invoice Deposit Line Item
- Invoice Discount Line Item
- Invoice Fee Line Item
- Invoice Line Item
- Invoice Note
- Invoice Part Line Item
- Invoice Refund Line Item
- Invoice Shipping Charge Line Item
- Invoice Tax Line Item
- name: Item
tags:
- Item
- Item Custom Fields
- Item Customer
- Item Material Vendor
- Item PriceBreaks
- Item Routing
- Item Vendor
- name: Item Category
tags:
- Item Category
- name: Item Class
tags:
- Item Class
- name: Item Tag
tags:
- Item Tag
- name: Job
tags:
- Job
- Job Custom Fields
- Job Full Routing
- Job Part Line Item Full Routing
- Job Item To Make
- Job Item To Make Operation
- Job Message
- Job Operation
- name: Job Tracking Timers
tags:
- Job Tracking Timers
- name: Location
tags:
- Location
- name: Material
tags:
- Material
- Material Vendor
- name: Material Code
tags:
- Material Code
- name: NCRs
tags:
- NCRs
- name: Nesting
tags:
- Nesting
- name: Note
tags:
- Note
- name: Operation
tags:
- Operation
- name: Payment Term
tags:
- Payment Term
- name: Purchase Order
tags:
- Purchase Order
- Purchase Order Custom Fields
- Purchase Order Discount Line Item
- Purchase Order Fee Line Item
- Purchase Order Line Item
- Purchase Order Outside Processing Line Item
- Purchase Order Part Line Item
- Purchase Order Tax Line Item
- Purchase Order Vendor Credit Line Item
- name: Quote
tags:
- Quote
- Quote Custom Fields
- Quote Discount Line Item
- Quote Fee Line Item
- Quote Part Line Item
- Quote Part Line Item Custom Fields
- Quote Part Line Item Full Routing
- Quote Tax Line Item
- name: Receiving
tags:
- Receiving Receipt
- Receiving Receipt Line Item
- name: Refund Reason Code
tags:
- Refund Reason Code
- name: Reporting
tags:
- Reporting
- name: Sales Order
tags:
- Sales Order
- Sales Order Blanket Line Item
- Sales Order Custom Fields
- Sales Order Discount Line Item
- Sales Order Fee Line Item
- Sales Order Line Item
- Sales Order Part Line Item
- Sales Order Part Line Item Custom Fields
- Sales Order Part Line Item Full Routing
- Sales Order Refund Line Item
- Sales Order Shipping Charge Line Item
- Sales Order Tax Line Item
- name: ScrapReport
tags:
- ScrapReport
- name: Settings
tags:
- Settings
- name: Shape Code
tags:
- Shape Code
- name: Shipment Line Items (V3)
tags:
- Shipment Line Items (V3)
- name: Shipment
tags:
- Shipment Custom Fields
- name: Shipments
tags:
- Shipments
- name: Shipping Method
tags:
- Shipping Method
- name: Tag
tags:
- Tag
- name: Task
tags:
- Task
- name: Tax Rate
tags:
- Tax Rate
- name: Time Clock Timers
tags:
- Time Clock Timers
- name: Timer
tags:
- Timer
- name: Tool
tags:
- Tool
- name: Tool Calibration
tags:
- Tool Calibration
- name: User
tags:
- User
- User Status
- name: Vendor
tags:
- Vendor
- Vendor Address
- Vendor Contact
- name: Work Order
tags:
- Work Order
- name: WorkCenter
tags:
- WorkCenter
x-provenance:
method: harvested
publisher: Fulcrumpro
source: https://api.fulcrumpro.com/swagger/v1/swagger.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)