Fulcrumpro Job Tracking Timers API
The Job Tracking Timers API from Fulcrumpro — 3 operation(s) for job tracking timers.
The Job Tracking Timers API from Fulcrumpro — 3 operation(s) for job tracking timers.
openapi: 3.0.4
info:
title: Fulcrum Public Accounting Code Job Tracking Timers API
version: v1
servers:
- url: https://api.fulcrumpro.com
tags:
- name: Job Tracking Timers
paths:
/api/job-tracking-timers/list:
post:
tags:
- Job Tracking Timers
summary: Finds job tracking timers based on search parameters
operationId: ListJobTrackingTimer
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.
schema:
minimum: 0
type: integer
format: int32
- name: Take
in: query
description: Number of records to return (maximum)
schema:
maximum: 5000
minimum: 0
type: integer
format: int32
requestBody:
description: The search parameters
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/JobTrackingTimerRequestListTimersParameters'
application/json:
schema:
$ref: '#/components/schemas/JobTrackingTimerRequestListTimersParameters'
text/json:
schema:
$ref: '#/components/schemas/JobTrackingTimerRequestListTimersParameters'
application/*+json:
schema:
$ref: '#/components/schemas/JobTrackingTimerRequestListTimersParameters'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DtoPagedResultDtoTimerDto'
application/problem+json:
schema:
$ref: '#/components/schemas/DtoPagedResultDtoTimerDto'
x-c4-required-permissions:
- Jobs-Jobs-View Job
- Time-Time-View Time Management
/api/job-tracking-timers/start:
post:
tags:
- Job Tracking Timers
summary: Starts a job tracking timer.
operationId: StartTimer
requestBody:
description: ''
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/JobTrackingTimerStartTimerDto'
application/json:
schema:
$ref: '#/components/schemas/JobTrackingTimerStartTimerDto'
text/json:
schema:
$ref: '#/components/schemas/JobTrackingTimerStartTimerDto'
application/*+json:
schema:
$ref: '#/components/schemas/JobTrackingTimerStartTimerDto'
responses:
'200':
description: OK
x-c4-mutation: true
x-c4-required-permissions:
- Time-Time-Edit Time Managements
/api/job-tracking-timers/stop:
post:
tags:
- Job Tracking Timers
summary: Stops a job tracking timer
operationId: StopTimer
requestBody:
description: ''
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/JobTrackingTimerStopTimerDto'
application/json:
schema:
$ref: '#/components/schemas/JobTrackingTimerStopTimerDto'
text/json:
schema:
$ref: '#/components/schemas/JobTrackingTimerStopTimerDto'
application/*+json:
schema:
$ref: '#/components/schemas/JobTrackingTimerStopTimerDto'
responses:
'200':
description: OK
x-c4-mutation: true
x-c4-required-permissions:
- Time-Time-Edit Time Managements
components:
schemas:
CommonExternalReferenceDto:
required:
- externalId
type: object
properties:
type:
maxLength: 50
minLength: 0
type: string
description: Specifies the type of this identifier.
nullable: true
externalId:
maxLength: 500
minLength: 0
type: string
description: The external identifier
displayId:
maxLength: 500
minLength: 0
type: string
description: 'The id/number that a human sees. For a quote, this might be ''Q1000''. If this is null, the display
will fall back to the ExternalId'
nullable: true
status:
type: string
description: A status for the external reference
nullable: true
url:
type: string
description: An external url for the reference
nullable: true
modifiedUtc:
type: string
description: Date the external reference was modified
format: date-time
nullable: true
lastSyncedUtc:
type: string
description: 'Date the external system last successfully synced this reference. Set by integrations
on successful sync only; null means never synced or that the sync timestamp isn''t
maintained by the integration.'
format: date-time
nullable: true
additionalProperties: false
description: The external reference for entities that implement FulcrumProduct.Domain.Common.IHasExternalReferences
JobTrackingTimerStartTimerDto:
required:
- itemToMakeId
- jobId
- operationId
- type
type: object
properties:
userId:
maxLength: 24
minLength: 24
type: string
description: The user identifier to associate the timer to. If not supplied, will use the user assigned to the api key used for authorization
nullable: true
jobId:
minLength: 1
type: string
description: The job identifier
itemToMakeId:
maxLength: 36
minLength: 36
type: string
description: The item to make identifier
operationId:
maxLength: 36
minLength: 36
type: string
description: The operation identifier
type:
$ref: '#/components/schemas/DomainTimeTrackingTimer_Type'
additionalProperties: false
description: Model for starting a job tracking timer via the public api
TimerDto:
required:
- createdUtc
- id
- segments
- startedOnUtc
- startedOnUtcOriginal
- type
type: object
properties:
id:
maxLength: 24
minLength: 24
type: string
description: The timer identifier
jobId:
type: string
description: The job identifier
nullable: true
jobName:
type: string
description: The job name.
nullable: true
itemToMakeId:
type: string
description: The item to make identifier
nullable: true
itemToMakeItemId:
type: string
description: The item to make's original item id.
nullable: true
itemToMakeName:
type: string
description: The item to make name.
nullable: true
itemToMakeDescription:
type: string
description: The item to make description.
nullable: true
jobOperationId:
type: string
description: The job operation identifier
nullable: true
jobOperationName:
type: string
description: The job operation name.
nullable: true
jobOperationDescription:
type: string
description: The job operation description.
nullable: true
startedById:
type: string
description: The user identifier who started the timer
nullable: true
startedOnUtc:
type: string
description: When the timer was started in UTC time.
format: date-time
startedOnUtcOriginal:
type: string
description: When the timer was ORIGINALLY started in UTC time.
format: date-time
stoppedOnUtc:
type: string
description: When the timer was stopped in UTC time.
format: date-time
nullable: true
stoppedOnUtcOriginal:
type: string
description: When the timer was ORIGINALLY stopped in UTC time.
format: date-time
nullable: true
type:
$ref: '#/components/schemas/DomainTimeTrackingTimer_Type'
isRunning:
type: boolean
description: Whether the timer is running or not
readOnly: true
createdUtc:
type: string
description: When the timer was created in UTC time.
format: date-time
modifiedUtc:
type: string
description: When the timer was modified in UTC time.
format: date-time
nullable: true
elapsedTimeInSeconds:
type: number
description: Elapsed time this timer was running. Can be greater than the labor time if the operator has multiple concurrent timers.
format: double
nullable: true
operationTimeInSeconds:
type: number
description: 'Total Operation run time
If this timer was overridden, the operation time will be adjusted by the multiple of the adjustment'
format: double
nullable: true
laborTimeInSeconds:
type: number
description: 'Labor time for use in costing calculations
Can be less than elapsed time if an operator''s time was split between jobs'
format: double
nullable: true
machineTimeInSeconds:
type: number
description: 'Machine time for use in costing and time displays which is just the elapsed time of the segments
If the start/stop time has been overridden directly, use that value'
format: double
nullable: true
segments:
type: array
items:
$ref: '#/components/schemas/TimerSegmentDto'
description: The segments of time that this overall timer represents.
externalReferences:
type: object
additionalProperties:
$ref: '#/components/schemas/CommonExternalReferenceDto'
description: External references associated with this entity.
nullable: true
details:
$ref: '#/components/schemas/DtoTimerAttributionDetails'
additionalProperties: false
description: Data transfer object for Timer entity
JobTrackingTimerStopTimerDto:
required:
- timerId
type: object
properties:
userId:
maxLength: 24
minLength: 24
type: string
description: The user identifier to associate the timer to. If not supplied, will use the user assigned to the api key used for authorization
nullable: true
timerId:
maxLength: 24
minLength: 24
type: string
description: The timer identifier
additionalProperties: false
description: Model for stopping a timer
TimerSegmentDto:
required:
- id
- startedOnUtc
type: object
properties:
id:
type: string
description: The timer segment identifier.
format: uuid
startedOnUtc:
type: string
description: When this segment begins.
format: date-time
stoppedOnUtc:
type: string
description: When this segment ends. If the timer is not stopped (still running), this value will be blank.
format: date-time
nullable: true
isRunning:
type: boolean
description: Whether the timer segment is running or not.
readOnly: true
details:
$ref: '#/components/schemas/DtoTimerSegmentAttributionDetails'
additionalProperties: false
description: Data transfer object for TimerSegments entity
DtoPagedResultDtoTimerDto:
required:
- data
- hasNextPage
- hasPreviousPage
- page
- pageSize
- totalCount
- totalPages
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/TimerDto'
description: The data
page:
type: integer
description: The 1-indexed page
format: int32
readOnly: true
pageSize:
type: integer
description: The page size
format: int32
readOnly: true
totalCount:
type: integer
description: The total count of records
format: int32
totalPages:
type: integer
description: The total pages
format: int32
readOnly: true
hasPreviousPage:
type: boolean
description: True if there is a previous page
readOnly: true
hasNextPage:
type: boolean
description: True if there is a next page
readOnly: true
additionalProperties: false
description: Paged result
JobTrackingTimerRequestListTimersParameters:
type: object
properties:
userId:
type: string
description: Filter timers based on who started it
nullable: true
jobId:
type: string
description: Filter timers based on job
nullable: true
runningTimersOnly:
type: boolean
description: Filter to only running timers
nullable: true
types:
minItems: 1
type: array
items:
$ref: '#/components/schemas/DomainTimeTrackingTimer_Type'
description: Filter to specific timer types
nullable: true
createdBeforeUtc:
type: string
description: Filters timers created before (exclusive) this parameter in UTC time. If no time component is passed, midnight UTC will be used.
format: date-time
nullable: true
createdAfterUtc:
type: string
description: Filters timers created after (exclusive) this parameter in UTC time. If no time component is passed, midnight UTC will be used.
format: date-time
nullable: true
modifiedBeforeUtc:
type: string
description: Filters timers modified before (exclusive) this parameter in UTC time. If no time component is passed, midnight UTC will be used.
format: date-time
nullable: true
modifiedAfterUtc:
type: string
description: Filters timers modified after (exclusive) this parameter in UTC time. If no time component is passed, midnight UTC will be used.
format: date-time
nullable: true
startedBeforeUtc:
type: string
description: Filters timers started before (exclusive) this parameter in UTC time. If no time component is passed, midnight UTC will be used.
format: date-time
nullable: true
startedAfterUtc:
type: string
description: Filters timers started after (exclusive) this parameter in UTC time. If no time component is passed, midnight UTC will be used.
format: date-time
nullable: true
stoppedBeforeUtc:
type: string
description: Filters timers stopped before (exclusive) this parameter in UTC time. If no time component is passed, midnight UTC will be used.
format: date-time
nullable: true
stoppedAfterUtc:
type: string
description: Filters timers stopped after (exclusive) this parameter in UTC time. If no time component is passed, midnight UTC will be used.
format: date-time
nullable: true
stoppedBeforeUtcOriginal:
type: string
description: 'Filters timers stopped before (exclusive) this parameter in UTC time.
This explicitly looks at the ORIGINAL stopped date which means this would be primarily for filtering mechanics that necessitate scope limiting.
If no time component is passed, midnight UTC will be used.'
format: date-time
nullable: true
stoppedAfterUtcOriginal:
type: string
description: 'Filters timers stopped after (exclusive) this parameter in UTC time.
This explicitly looks at the ORIGINAL stopped date which means this would be primarily for filtering mechanics that necessitate scope limiting.
If no time component is passed, midnight UTC will be used.'
format: date-time
nullable: true
additionalProperties: false
description: Parameters used for searching job tracking timers
DtoTimerAttributionDetails:
required:
- timeInSeconds
- timeInSecondsWeighted
type: object
properties:
timeInSeconds:
type: number
description: Elapsed time.
format: double
timeInSecondsWeighted:
type: number
description: Time in seconds (after using the multiplier/weighted).
format: double
rateHourlyInPrimaryCurrency:
type: number
description: Rate in primary currency.
format: double
nullable: true
cost:
type: number
description: Cost. This value will always reflect the current calculated cost. What this means is that overriding start/stop times would affect this value.
format: double
nullable: true
additionalProperties: false
description: Cost and time attribution for a timer.
DomainTimeTrackingTimer_Type:
enum:
- setup
- run
- clockIn
- break
- labor
- machine
type: string
CommonEnumSortDirectionEnum:
enum:
- ascending
- descending
type: string
description: Specify sorting direction.
DtoTimerSegmentAttributionDetails:
required:
- timeInSeconds
- timeInSecondsWeighted
type: object
properties:
timeInSeconds:
type: number
description: Elapsed time. If the segment is not stopped, this value will be calculated as of now.
format: double
timeInSecondsWeighted:
type: number
description: Time in seconds (after using the multiplier/weighted).
format: double
multiplier:
type: number
description: With timers, because segments account for overlapping operations, we must account for the percentage to attribute to this segment.
format: double
nullable: true
additionalProperties: false
description: Time attribution for a timer segment.
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: Attachment
tags:
- Attachment
- Attachment Certification
- name: Auth
tags:
- Auth
- name: CAPAs
tags:
- CAPAs
- 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: Equipment
tags:
- Equipment
- 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 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: 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: 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: Tax Rate
tags:
- Tax Rate
- name: Time Clock Timers
tags:
- Time Clock Timers
- name: Timer
tags:
- Timer
- name: User
tags:
- User
- User Status
- name: Vendor
tags:
- Vendor
- Vendor Address
- Vendor Contact
- name: Work Order
tags:
- Work Order
- name: WorkCenter
tags:
- WorkCenter