Skip to benchmark
Blobfish ResearchFactoryBench-100 v3.3.5Public

Can an agent answer the factory question—and safely carry the decision through?

FactoryBench-100 starts with questions employees actually ask: when can we ship, what blocks an earlier date, and which option is viable? The agent must decide where to look, reconcile Oracle, email, Drive, Sheets, and Slack, calculate the alternatives, then make only the approved changes.

100employee requests
94documented tools
7sandbox state tables
20workflow families
0LLM grading calls
Release gate passed

The leaderboard reports a version-pinned Harbor run over 100/100tasks at 76.20 FactoryScore. Qualification controls are disclosed separately and never enter the ranking.

Oracle passes
100/100
Exact replays
100/100
Attacks rejected
1,200/1,200
Write contracts
100/100

1,400 isolated executions covered 12 attack types with 0 false accepts. All writes were authorized, agent-visible, schema-validated, persisted, read back, and contained. Wrong-target and keyword-stuffing attempts were rejected; the verifier required neither hidden reference text nor hidden serialization.

Inspect the scoring contract →

Measured performance

Leaderboard

The pinned model row is a real Harbor run over 100/100 released tasks. Oracle and diagnostic replays are disclosed separately in methodology.

Ranking

Model leaderboard

Only complete, version-pinned model runs on this exact release receive a rank.

RankAgentCoverageFactoryScoreRun
1
gpt-5.6-lunaHarbor 0.21.0 · release 3.3.5 · codex 0.151.0 · max reasoning · web search disabled · 100/100 native MCP traces
100 tasks
76.2%
76.96 calls avg.$0.09 / task · Full 100/100-task version-pinned model run derived from the exact Harbor trial artifacts; no oracle or deterministic-control trials are ranked. Scoring observes only released task state and answers, Codex built-in web search was disabled, and OS-level no-egress isolation is not claimed. Provider-native trace provenance is reported per task (100/100 native, 0/100 explicit Harbor agent fallbacks); trials with no recorded MCP operation retain that fallback rather than being presented as provider calls.Inspect run
Qualification evidence

Measured controls

Oracle and adversarial replays prove solvability and verifier discrimination. They are measured, but never ranked as model submissions.

ClassControlCoverageFactoryScoreEvidence
REF
Reference oraclefactorybench.evaluation deterministic replay
100 tasks
100.0%
33 calls avg.Measured solvability ceiling from replaying the checked-in reference workflow; not a model submission.
CTL
Shortcut controlfactorybench.evaluation deterministic replay
100 tasks
40.5%
2 calls avg.Measured control that submits a plausible answer and one late write without doing the investigation.
CTL
State-only controlfactorybench.evaluation deterministic replay
100 tasks
66.0%
32 calls avg.Measured control that reaches the reference provider state but omits the employee handoff.
CTL
Wrong-evidence controlfactorybench.evaluation deterministic replay
100 tasks
97.6%
33 calls avg.Measured control that substitutes a valid but stale or irrelevant source for one required current record.
CTL
Wrong-decision controlfactorybench.evaluation deterministic replay
100 tasks
94.0%
33 calls avg.Measured control that reaches the reference provider state but chooses a rejected operating alternative.
100%FactoryScore

100 × passed task-specific deterministic criterion weight / available criterion weight, averaged over tasks.

100 distinct tasks

Task browser

Search all 100 distinct employee requests. Each gives the agent a business question—not a task list—then leaves it to investigate 28 heterogeneous sources, reconcile identifiers, calculate and compare options, and commit the supported outcome. The published reference is one valid solution, not a required call order.

100 shown
factorybench-001Customer commitment

Commit one pallet of Luma lamps

Sales needs a date for one pallet of Luma lamps. When can we honestly have it finished with today's schedule and stock, what is preventing an earlier run, and do expediting parts or adding a shift change the answer? Commit the best approved plan and prepare the launch-team update for review.

Company
Northstar Controls Manufacturing
As of
2026-01-12
Seeded files
28
Reference solution
33 MCP calls

Complete task prompt

51 graded criteria summarized
Sales needs a date for one pallet of Luma lamps. When can we honestly have it finished with today's schedule and stock, what is preventing an earlier run, and do expediting parts or adding a shift change the answer? Commit the best approved plan and prepare the launch-team update for review.
How the employee outcome is evaluated

Reasoning, persisted state, and the answer must agree.

14 semantic milestones

Reconcile the plan decision for one pallet of Luma lamps; apply material readiness versus the protected assembly calendar; quarantined and reserved bulb units = 60 EA; uncovered or unsupported scope = 120.0 EA, compare the three task-specific alternatives, and persist only the supported scope.

Strict success
Every task-specific semantic milestone must hold over successful evidence reads, the exact final state, post-write readback, answer fields, and write-scope containment.
Ordering policy
The reference trajectory is illustrative, not graded. Material identity, authority, constraint, and ERP discoveries must precede the dependent mutation; their order and valid query shapes are otherwise open.
Inspect the task-specific causal milestones
  1. outcome
    milestone-01

    Establish the isolated CASE-001 scope and immutable identities across the mailbox, Drive index, and mounted systems before relying on similarly named records.

  2. outcome
    milestone-02

    Determine the operative C requirement for NS-000001, reconcile the current source material, and distinguish current evidence from superseded or merely contextual records.

  3. outcome
    milestone-03

    Reconcile the supported operating inputs: Reconciled 420 observed less 60 excluded to 360 supported EA for nettable LMP-BULB-12 units. Applied qualified non-displacing WC-2 slots to derive the three option outcomes without using excluded or protected scope.

  4. outcome
    milestone-04

    Establish what is actually authorized and what remains conditional: Applied AP-0001 only to standard_plan, NS-000001, and the supported 360 EA; kept broader scope and add_weekend_shift outside current authority.

  5. outcome
    milestone-05

    Correlate NS-000001 by immutable IDs across the material Oracle records (inventory onhand balances, sales orders, work order materials, work order operations, work orders) and preserve the effective C state.

  6. outcome
    milestone-06

    Derive the eligible scope, exclusions, unit, and controlling threshold from the joined evidence rather than copying a headline quantity for one pallet of Luma lamps.

  7. outcome
    milestone-07

    Calculate the feasible timing for standard_plan under the actual operating window and report whether the 2026-01-20 outcome meets the control date.

  8. outcome
    milestone-08

    Compare all three task-specific alternatives, including timing, cost or exposure, authority, and residual risk; select standard_plan only because the joined evidence supports it.

  9. outcome
    milestone-09

    Persist exactly the supported 'Production plan committed' transition for NS-000001 through the documented Oracle operation, with no neighboring record or unsupported field changed.

  10. outcome
    milestone-10

    After the Oracle outcome is known, write the outcome into the existing control-workbook cell; and create the requested email draft without sending it with the supported decision, timing, constraint, and business reference.

  11. outcome
    milestone-11

    Read NS-000001 back after the primary mutation and verify the persisted provider state rather than trusting the write acknowledgement.

  12. outcome
    milestone-12

    Return the exact task-supported recommendation, outcome date, immutable business record, decisive operating insight, and timing status for one pallet of Luma lamps.

  13. outcome
    milestone-13

    Keep all successful changes inside CASE-001's declared Oracle, collaboration, answer, and audit scope.

  14. outcome
    milestone-14

    Complete without a rejected state-changing call; failed exploratory reads may be recovered from, but an invalid mutation is not accepted.

Decision space (3 grounded options)
  • standard_plan: outcome 2026-01-20, economic impact USD 0, SUPPORTED_AND_APPROVED — selected: standard plan uses only nettable LMP-BULB-12 units, satisfies material readiness versus the protected assembly calendar, lands 1 day(s) on or ahead of the control date, and carries the documented economic impact of USD 0.
  • expedite_bulbs: outcome 2026-01-20, economic impact USD 640, FEASIBLE_WITH_INFERIOR_TRADEOFF: expedite bulbs would finish on the same date as standard_plan and adds USD 640 versus standard_plan; it remains controlled but is not the best authorized tradeoff once quarantined and reserved bulb units stays out of scope.
  • add_weekend_shift: outcome 2026-01-18, economic impact USD 1280, SEPARATE_APPROVAL_OR_POLICY_EXCEPTION_REQUIRED: add weekend shift would finish 2 day(s) earlier than standard_plan and adds USD 1280 versus standard_plan, but current approval does not authorize it and it could expose quarantined and reserved bulb units.
Inspect all 51 deterministic criteria
  • Investigation: Established the isolated CASE-001 scope, immutable handles, mounted systems, and evidence index before investigating NS-000001. [investigation_01]
  • Investigation: Located the task-scoped correspondence for CASE-001 before opening any message; did not rely on a filename or a guessed sender. [investigation_02]
  • Investigation: Enumerated the case-scoped Drive records for CASE-001 and used their immutable file IDs to distinguish the effective specification, approval, and option workbook. [investigation_04]
  • Investigation: Used the independently confirmed 2026-01-14 readiness input for expedite_bulbs, then separately derived its 2026-01-20 operating outcome under material readiness versus the protected assembly calendar instead of treating an external promise as authorization or a completion date. [investigation_03]
  • Investigation: Opened the effective control specification and Applied revision C and established 480 EA for revision-C bulbs required for 120 four-lamp kits, with control date 2026-01-21. [investigation_05]
  • Investigation: Opened the task-scoped source-input workbook and Applied revision C and established 480 EA for revision-C bulbs required for 120 four-lamp kits, with control date 2026-01-21. [investigation_06]
  • Investigation: Opened the independent reconciliation rows and Reconciled 420 observed less 60 excluded to 360 supported EA for nettable LMP-BULB-12 units. [investigation_07]
  • Investigation: Opened the raw operating-window calendar and Applied qualified non-displacing WC-2 slots to derive the three option outcomes without using excluded or protected scope. [investigation_08]
  • Investigation: Reconciled 420 observed less 60 excluded to 360 supported EA for nettable LMP-BULB-12 units. Applied qualified non-displacing WC-2 slots to derive the three option outcomes without using excluded or protected scope. [investigation_10]
  • Investigation: Opened the task-scoped signed approval record and Applied AP-0001 only to standard_plan, NS-000001, and the supported 360 EA; kept broader scope and add_weekend_shift outside current authority. [investigation_09]
  • Investigation: Read the scoped operations discussion, confirmed the independently stated stakeholder need date, and separated operational context from formal approval: Applied AP-0001 only to standard_plan, NS-000001, and the supported 360 EA; kept broader scope and add_weekend_shift outside current authority. [investigation_11]
  • Investigation: Correlated the Oracle sales orders record: Applied revision C and established 480 EA for revision-C bulbs required for 120 four-lamp kits, with control date 2026-01-21. [investigation_12]
  • Investigation: Correlated the Oracle work orders record: Located NS-000001 for one pallet of Luma lamps using immutable IDs and preserved effective revision C. [investigation_13]
  • Investigation: Correlated the Oracle work order operations record: Applied qualified non-displacing WC-2 slots to derive the three option outcomes without using excluded or protected scope. [investigation_14]
  • Investigation: Correlated the Oracle work order materials record: Applied revision C and established 480 EA for revision-C bulbs required for 120 four-lamp kits, with control date 2026-01-21. [investigation_15]
  • Investigation: Correlated the Oracle inventory onhand balances record: Reconciled 420 observed less 60 excluded to 360 supported EA for nettable LMP-BULB-12 units. [investigation_16]
  • Analysis: Derived 480 EA for revision-C bulbs required for 120 four-lamp kits at revision C. [derive_plan_requirement]
  • Analysis: Read 420 EA of gross observed nettable LMP-BULB-12 units. [read_gross_coverage]
  • Analysis: Excluded 60 EA for quarantined and reserved bulb units. [remove_ineligible_coverage]
  • Analysis: Calculated 420 observed − 60 ineligible = 360 usable EA. [calculate_usable_coverage]
  • Analysis: Calculated 480 required − 360 usable = 120 EA uncovered. [calculate_plan_gap]
  • Analysis: Kept every planning quantity in EA. [preserve_plan_unit]
  • Analysis: Calculated standard_plan outcome as 2026-01-20 under qualified non-displacing WC-2 slots. [compare_baseline_plan]
  • Analysis: Calculated expedite_bulbs outcome as 2026-01-20 using Rainier's confirmed standard and expedite dates. [compare_accelerated_plan]
  • Analysis: Calculated add_weekend_shift outcome as 2026-01-18 and kept its separate-approval condition. [compare_escalated_plan]
  • Analysis: Read 2026-01-17 as the independently confirmed standard readiness date for Rainier's confirmed standard and expedite dates. [read_standard_external_readiness]
  • Analysis: Read 2026-01-14 as the independently confirmed expedited readiness date for Rainier's confirmed standard and expedite dates. [read_expedited_external_readiness]
  • Analysis: Bound external recovery to the 120 EA uncovered requirement rather than ordering the full header quantity. [bound_external_recovery_quantity]
  • Analysis: Calculated 120 Luma lamp kits × 4 revision-C bulbs per kit = 480 LMP-BULB-12 bulbs. [calculate_lamp_bom]
  • Analysis: Compared the 2026-01-14 expedited bulb readiness with the first non-displacing WC-2 slot on 2026-01-18 and proved that expediting alone still completes on 2026-01-20, saving 0 days. [test_lamp_expedite_against_capacity]
  • Analysis: Calculated that the 2026-01-17 weekend slot would complete on 2026-01-18, two days earlier than the selected plan, but kept it outside action because the shift lacks approval. [test_lamp_weekend_shift]
  • Analysis: Preserved 2026-01-21 as the documented date for one pallet of Luma lamps; did not infer urgency from the title. [identify_business_date]
  • Analysis: Calculated 2026-01-20 as the supported outcome date for standard_plan. [calculate_recommended_outcome]
  • Analysis: Compared 2026-01-20 with the independent control date 2026-01-21 and calculated a signed variance of -1 day(s). [calculate_outcome_variance]
  • Analysis: Reported ON_TIME; did not relabel a controlled but late result as on time. [state_honest_timing_status]
  • Decision: Applied USD 0 as the documented incremental recovery cost for standard_plan; did not invent a premium where spend is not a decision driver. [calculate_selected_cost]
  • Decision: Recognized that add_weekend_shift remains outside current authority and requires an additional approval. [apply_escalation_authority]
  • Decision: Compared the timing, economic impact, control status, and consequence of standard_plan, expedite_bulbs, and add_weekend_shift; selected standard_plan because it alone gives the best currently authorized result under material readiness versus the protected assembly calendar. [choose_task_specific_option]
  • State: Required immutable record NS-000001 to reach business outcome 'Production plan committed' through oracle_fusion.work_orders.update with exact provider-critical values WorkOrderId=100001, requestBody.WorkOrderStatusCode='ORA_RELEASED', requestBody.PlannedStartDate='2026-01-18', requestBody.PlannedCompletionDate='2026-01-20'. The audited transition binds selected option standard_plan, revision C, approval AP-0001, and constraint material readiness versus the protected assembly calendar; quarantined and reserved bulb units = 60 EA; uncovered or unsupported scope = 120.0 EA; no other provider record satisfies this state criterion. [mutation_01]
  • State: Wrote standard_plan, completion 2026-01-20, and the binding constraint into the existing task-scoped control cell without altering another row. [mutation_02]
  • State: Created—but did not send—the requested CASE-001 decision draft with completion, constraint, alternatives, and the Oracle business reference. [mutation_03]
  • Verification: Read NS-000001 back through the documented Oracle work orders.get operation after the mutation and confirmed the resource-specific changed fields ['LastUpdateDate', 'PlannedCompletionDate', 'PlannedStartDate', 'WorkOrderStatusCode'], including the effective update at 2026-01-20, rather than relying on the write acknowledgement. [verify_primary_oracle_state]
  • Verification: Reopened the task-scoped google_sheets.spreadsheets.values.update result through google_sheets.spreadsheets.values.get and confirmed the agent's actual written value persisted instead of trusting the mutation acknowledgement. [verify_collaboration_01]
  • Verification: Reopened the task-scoped gmail.drafts.create result through gmail.drafts.get and confirmed the agent's actual written value persisted instead of trusting the mutation acknowledgement. [verify_collaboration_02]
  • Answer: Reported recommended option as 'standard_plan', tied to NS-000001, revision C, and the selected standard_plan outcome. [answer_recommended_option]
  • Answer: Reported recommended outcome date as '2026-01-20', tied to NS-000001, revision C, and the selected standard_plan outcome. [answer_recommended_outcome_date]
  • Answer: Reported coverage item or resource as 'LMP-BULB-12', tied to NS-000001, revision C, and the selected standard_plan outcome. [answer_coverage_item_or_resource]
  • Answer: Reported shortage quantity as 120, tied to NS-000001, revision C, and the selected standard_plan outcome. [answer_shortage_quantity]
  • Answer: Reported decision timing status as 'ON_TIME', tied to NS-000001, revision C, and the selected standard_plan outcome. [answer_decision_timing_status]
  • Containment: Keep all successful changes inside CASE-001's declared Oracle, collaboration, answer, and audit scope. Atomic verifier selector: `write_scope`. [write_scope]
  • Execution: Complete without a rejected state-changing call; failed exploratory reads may be recovered from, but an invalid mutation is not accepted. Atomic verifier selector: `no_rejected_mutation`. [no_rejected_mutation]
Open full task specification

Seeded evidence

Asset room

The release contains 2,800 inspectable task files. Every isolated task includes 28 seeded source artifacts—PDFs, Excel workbooks, CSV exports, email, Drive, Slack, specifications, policies, and approvals—plus its starting state and verifier contract.

operating-policy.mdassets/factorybench-001PolicyMarkdown810 B

Control rule: material readiness versus the protected assembly calendar. Establish the immutable source record and effective revision, then reconcile revision-C bulbs required for 120 four-lamp kits, nettable LMP-BULB-12 units, and quarantined and reserved bulb units from independent records. Do not treat a header total, filename, similar name, or unapproved

Synthetic task evidence surfaced through google_drive.Open released file
business-request-and-control.mdassets/factorybench-001ContractMarkdown408 B

This record states the boundary only. It does not identify the recommended option or compute the supported outcome.

Synthetic task evidence surfaced through google_drive.Open released file
supplier-confirmation.pdfassets/factorybench-001External PdfPDF2.2 KB

RAINIER COMPONENTS — CONTROLLED COMMERCIAL / SERVICE RECORD · Document: lamp-bom-and-launch-commitment-0001 · Case reference: CASE-001 · Issued: 2026-01-12 11:25 Pacific · Valid through: 2026-01-19 · · 1. REFERENCED SCOPE · Source subject: lamp BOM and launch commitment · Immutable record or item: LMP-BULB-12 · Effective revision supplied by requester: C ·

Synthetic task evidence surfaced through gmail_attachment.Open released file
planning-inputs.xlsxassets/factorybench-001Source WorkbookExcel7.7 KB

Raw revision-C bulbs required for 120 four-lamp kits, observation, and exclusion rows; no netted result.

Synthetic task evidence surfaced through google_drive.Open released file
approval-decision-log.csvassets/factorybench-001Spreadsheet ExportCSV696 B

Timestamped business-date and approval controls.

Synthetic task evidence surfaced through google_sheets.Open released file
source-email-thread.emlassets/factorybench-001EmailEmail1.7 KB

Sales needs a date for one pallet of Luma lamps. When can we honestly have it finished with today's schedule and stock, what is preventing an earlier run, and do expediting parts or adding a shift change the answer? Commit the best approved plan and prepare the launch-team update for review. Please use the immutable references in the attached source record;

Synthetic task evidence surfaced through gmail.Open released file
operations-slack-thread.jsonassets/factorybench-001Chat ThreadJSON1.8 KB

Account team needs one defensible decision for one pallet of Luma lamps by 2026-01-21; a faster or broader action has value only if it remains inside material readiness versus the protected assembly calendar. · I found 480 EA on the header, but the workbook has separate observation and exclusion rows. Please do not net from this message. · Approval AP-0001 p

Synthetic task evidence surfaced through slack.Open released file
drive-approval-record.jsonassets/factorybench-001ApprovalJSON574 B

Approval approval-001 covers only the stated scope.

Synthetic task evidence surfaced through google_drive.Open released file
oracle-starting-record.jsonassets/factorybench-001Erp ExportJSON2.4 KB

Oracle starting record NS-000001 at C with option-to-provider setup controls.

Synthetic task evidence surfaced through oracle_fusion.Open released file
requirement-and-coverage.csvassets/factorybench-001Source ReconciliationCSV1.5 KB

Independent source, observed, and exclusion rows; the supported result is not precomputed.

Synthetic task evidence surfaced through laboratory_drive.Open released file
factory-capacity-calendar.xlsxassets/factorybench-001Control CalendarExcel6.2 KB

Base window plus raw escalation start, duration, cost, and authority; the alternative comes from the external source.

Synthetic task evidence surfaced through google_drive.Open released file
effective-planning-specification.mdassets/factorybench-001SpecificationMarkdown1.5 KB

Case: CASE-001 Document control number: SPEC-0001 Effective revision: C Superseded revision visible in archive: R9 Subject: one pallet of Luma lamps Primary measure: revision-C bulbs required for 120 four-lamp kits Source finished or header quantity: 120 Effective usage per finished or header unit: 4 EA Unit: EA Eligibility definition: nettable LMP-BULB-12 u

Synthetic task evidence surfaced through google_drive.Open released file
engineering/current-released-structure.pdfassets/factorybench-001/engineeringEngineering Bom CurrentPDF1.7 KB

NORTHSTAR CONTROLS — RELEASED ENGINEERING STRUCTURE · Case: CASE-001 · Controlled record: NS-000001 · Finished item or subject: LMP-BULB-12 · Released revision: C · Organization: SEA · Effective date: 2026-01-12 · Status: CURRENT AND RELEASED · · COMPONENT AND CONTROL BASIS · Primary usage or conversion: 4 EA per finished or header unit · Source quantity st

Synthetic task evidence surfaced through google_drive.Open released file
engineering/superseded-structure.pdfassets/factorybench-001/engineeringEngineering Bom SupersededPDF1.5 KB

NORTHSTAR CONTROLS — SUPERSEDED ENGINEERING STRUCTURE · Case visible in archive: CASE-001 · Controlled record: NS-000001 · Finished item or subject: LMP-BULB-12 · Archived revision: R9 · Replaced by revision: C · Retired before: 2026-01-12 · Status: SUPERSEDED — REFERENCE ONLY · · This copy is retained to explain historical transactions and search conflicts

Synthetic task evidence surfaced through google_drive.Open released file
procurement/vendor-price-and-service-catalog.pdfassets/factorybench-001/procurementVendor Price CatalogPDF1.5 KB

RAINIER COMPONENTS — CONTROLLED PRICE AND SERVICE CATALOG · Case reference: CASE-001 · Item or service: LMP-BULB-12 · Applicable source revision: C · Catalog effective: 2026-01-12 · Currency: USD · · STANDARD SERVICE TIER · Confirmed readiness input: 2026-01-17 · Maximum case-linked scope: 120 EA · Published incremental impact: USD 640 · Reservation status:

Synthetic task evidence surfaced through gmail_attachment.Open released file
planning/current-production-schedule.xlsxassets/factorybench-001/planningProduction ScheduleExcel6.6 KB

Current and excluded schedule windows with qualification, protected load, and authority.

Synthetic task evidence surfaced through google_sheets.Open released file
planning/shift-and-overtime-capacity.xlsxassets/factorybench-001/planningShift CapacityExcel5.8 KB

Regular, protected, unqualified, and separately approved shift capacity.

Synthetic task evidence surfaced through google_sheets.Open released file
procurement/supplier-lead-time-and-capacity.xlsxassets/factorybench-001/procurementSupplier CapacityExcel6.2 KB

Supplier readiness and capacity inputs with current, stale, and ineligible alternatives.

Synthetic task evidence surfaced through google_drive.Open released file
approvals/delegation-of-authority.xlsxassets/factorybench-001/approvalsAuthority MatrixExcel5.9 KB

Effective and expired authority rows; exception approval remains separate.

Synthetic task evidence surfaced through google_drive.Open released file
materials/raw-material-on-hand.csvassets/factorybench-001/materialsMaterial On HandCSV550 B

Lot-level on-hand, reservations, holds, organizations, and revisions.

Synthetic task evidence surfaced through oracle_fusion_export.Open released file
materials/component-requirements.csvassets/factorybench-001/materialsComponent RequirementsCSV542 B

Current, superseded, other-case, and other-organization requirement rows.

Synthetic task evidence surfaced through oracle_fusion_export.Open released file
quality/lot-and-hold-register.csvassets/factorybench-001/qualityQuality HoldsCSV636 B

Inspection and hold status by immutable lot, case, and revision.

Synthetic task evidence surfaced through quality_system_export.Open released file
maintenance/resource-outages.jsonassets/factorybench-001/maintenanceMaintenance OutagesJSON1.4 KB

Resource status, qualification, organization, case ownership, and conditional windows.

Synthetic task evidence surfaced through oracle_fusion_export.Open released file
collaboration/planning-slack-thread.jsonassets/factorybench-001/collaborationPlanning ChatJSON1.3 KB

Cross-functional planning discussion that points to controlling sources without deciding the case.

Synthetic task evidence surfaced through slack.Open released file
collaboration/procurement-email-thread.emlassets/factorybench-001/collaborationProcurement EmailEmail1.2 KB

We matched the supplier response to LMP-BULB-12, revision C, and immutable record NS-000001. The standard and priority readiness dates are inputs only; neither is an ERP completion date. The current catalog covers no more than 120 EA. It excludes quarantined and reserved bulb units, the archived revision R9, PDX demand, and nearby case CASE-002. Before rel

Synthetic task evidence surfaced through gmail.Open released file
drive/source-lineage.jsonassets/factorybench-001/driveSource LineageJSON1.3 KB

Immutable source IDs and effective status without a selected option.

Synthetic task evidence surfaced through google_drive.Open released file
audit/control-events.logassets/factorybench-001/auditControl Audit Logtext/plain1.7 KB

Task-scoped event trail for current, stale, and excluded evidence.

Synthetic task evidence surfaced through audit_export.Open released file
audit/evidence-revision-index.yamlassets/factorybench-001/auditRevision Indexapplication/yaml847 B

Effective and superseded source revisions keyed to immutable records.

Synthetic task evidence surfaced through google_drive.Open released file

Runnable world

Environment and tool contract

A closed, stateful sandbox MCP exposes 94 typed Gmail, Drive, Sheets, Slack, and documented Oracle Fusion operation mappings over 7 private SQLite state tables. It returns JSON-RPC tool responses, persists writes per session, and grades the resulting cross-system state server-side; the release claims only the contract fidelity it publishes.

Live sandbox MCPfactorybench-001
Ready to create an isolated session

Released native runtime

Connect to 94 released FactoryBench-100 tools and mutate a private task snapshot.

The server creates a fresh task database, preserves all writes inside that session, and exposes the same tool implementation used by the Harbor release.Every button sends Streamable HTTP JSON-RPC to the checked-in world, records the native trajectory, and runs the release's deterministic verifier. No prerecorded tool responses are replayed; every result is computed from the session's seeded synthetic state.

Session-isolated stateNetwork-free rewardServer-side deterministic score
uvx --from git+https://github.com/blobfishai/factory-agent-simulation@v3.3.5 factorybench-mcp --task factorybench-001 --db .factorybench/factorybench-001.db --fresh
Open checked-in MCP config ↗
Live JSON-RPC inspectorNo request sent

Connect to see initialize, session negotiation, tools/list, and live tools/call responses.

MCP package pinfactory-agent-simulation@3.3.5
MCP protocol2025-03-26
Worldnorthstar-enterprise-fusion-v3
ERP contractOracle Fusion Cloud 26a documented REST operations
Collaboration contractsGmail v1 · Drive v3 · Sheets v4 · Slack Web API
DatabaseSQLite isolated multi-system snapshot
Harbor base imagepython:3.12-slim@sha256:7a8b475003c4fe15a2cd4e55e5cfc2f3560bdc9333d624f24cdd6d4340fd7a17
Network in reward pathnone
factorybench.context.getfactorybench
Read onlyIdempotentClosed sandbox

Discover the isolated task scope, mounted systems, evidence index, and reference identifiers.

Documented provider operationMCP factorybench://contextOpen provider documentation
{
  "additionalProperties": false,
  "properties": {},
  "required": [],
  "type": "object"
}
factorybench.submit_answerfactorybench
State changingNon-idempotentClosed sandbox

Submit the task-specific exact answer fields to the deterministic benchmark harness.

Documented provider operationMCP factorybench://answersOpen provider documentation
{
  "additionalProperties": false,
  "properties": {},
  "required": [],
  "type": "object"
}
gmail.drafts.creategmail
State changingNon-idempotentClosed sandbox

Create a Gmail draft from a base64url RFC 2822 message.

Documented provider operationPOST /gmail/v1/users/{userId}/draftsOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "message": {
      "additionalProperties": false,
      "properties": {
        "raw": {
          "type": "string"
        },
        "threadId": {
          "type": "string"
        }
      },
      "required": [
        "raw"
      ],
      "type": "object"
    },
    "userId": {
      "type": "string"
    }
  },
  "required": [
    "userId",
    "message"
  ],
  "type": "object"
}
gmail.drafts.getgmail
Read onlyIdempotentClosed sandbox

Get one Gmail draft and its current message.

Documented provider operationGET /gmail/v1/users/{userId}/drafts/{id}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "format": {
      "enum": [
        "minimal",
        "full",
        "raw",
        "metadata"
      ],
      "type": "string"
    },
    "id": {
      "type": "string"
    },
    "userId": {
      "type": "string"
    }
  },
  "required": [
    "userId",
    "id"
  ],
  "type": "object"
}
gmail.messages.attachments.getgmail
Read onlyIdempotentClosed sandbox

Get an externalized Gmail attachment body.

Documented provider operationGET /gmail/v1/users/{userId}/messages/{messageId}/attachments/{id}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "id": {
      "type": "string"
    },
    "messageId": {
      "type": "string"
    },
    "userId": {
      "type": "string"
    }
  },
  "required": [
    "userId",
    "messageId",
    "id"
  ],
  "type": "object"
}
gmail.messages.getgmail
Read onlyIdempotentClosed sandbox

Get one Gmail message.

Documented provider operationGET /gmail/v1/users/{userId}/messages/{id}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "format": {
      "enum": [
        "minimal",
        "full",
        "raw",
        "metadata"
      ],
      "type": "string"
    },
    "id": {
      "type": "string"
    },
    "metadataHeaders": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "userId": {
      "type": "string"
    }
  },
  "required": [
    "userId",
    "id"
  ],
  "type": "object"
}
gmail.messages.listgmail
Read onlyIdempotentClosed sandbox

Search messages using Gmail's q grammar.

Documented provider operationGET /gmail/v1/users/{userId}/messagesOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "includeSpamTrash": {
      "type": "boolean"
    },
    "labelIds": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "maxResults": {
      "type": "integer"
    },
    "pageToken": {
      "type": "string"
    },
    "q": {
      "type": "string"
    },
    "userId": {
      "type": "string"
    }
  },
  "required": [
    "userId"
  ],
  "type": "object"
}
gmail.messages.sendgmail
State changingNon-idempotentClosed sandbox

Send a base64url RFC 2822 Gmail message.

Documented provider operationPOST /gmail/v1/users/{userId}/messages/sendOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "raw": {
      "type": "string"
    },
    "threadId": {
      "type": "string"
    },
    "userId": {
      "type": "string"
    }
  },
  "required": [
    "userId",
    "raw"
  ],
  "type": "object"
}
gmail.threads.getgmail
Read onlyIdempotentClosed sandbox

Get one Gmail thread.

Documented provider operationGET /gmail/v1/users/{userId}/threads/{id}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "format": {
      "type": "string"
    },
    "id": {
      "type": "string"
    },
    "metadataHeaders": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "userId": {
      "type": "string"
    }
  },
  "required": [
    "userId",
    "id"
  ],
  "type": "object"
}
google_drive.comments.creategoogle_drive
State changingNon-idempotentClosed sandbox

Create a comment on a Drive file.

Documented provider operationPOST /drive/v3/files/{fileId}/commentsOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "fileId": {
      "type": "string"
    },
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "content": {
          "type": "string"
        }
      },
      "required": [
        "content"
      ],
      "type": "object"
    }
  },
  "required": [
    "fileId",
    "requestBody"
  ],
  "type": "object"
}
google_drive.comments.getgoogle_drive
Read onlyIdempotentClosed sandbox

Get one Drive comment.

Documented provider operationGET /drive/v3/files/{fileId}/comments/{commentId}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "commentId": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "fileId": {
      "type": "string"
    },
    "includeDeleted": {
      "type": "boolean"
    }
  },
  "required": [
    "fileId",
    "commentId"
  ],
  "type": "object"
}
google_drive.comments.listgoogle_drive
Read onlyIdempotentClosed sandbox

List comments on a Drive file.

Documented provider operationGET /drive/v3/files/{fileId}/commentsOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "fields": {
      "type": "string"
    },
    "fileId": {
      "type": "string"
    },
    "includeDeleted": {
      "type": "boolean"
    },
    "pageSize": {
      "type": "integer"
    },
    "pageToken": {
      "type": "string"
    }
  },
  "required": [
    "fileId"
  ],
  "type": "object"
}
google_drive.files.downloadgoogle_drive
Read onlyIdempotentClosed sandbox

Download file content from Drive.

Documented provider operationPOST /drive/v3/files/{fileId}/downloadOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "fileId": {
      "type": "string"
    }
  },
  "required": [
    "fileId"
  ],
  "type": "object"
}
google_drive.files.exportgoogle_drive
Read onlyIdempotentClosed sandbox

Export a Google Workspace document.

Documented provider operationGET /drive/v3/files/{fileId}/exportOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "fileId": {
      "type": "string"
    },
    "mimeType": {
      "type": "string"
    }
  },
  "required": [
    "fileId",
    "mimeType"
  ],
  "type": "object"
}
google_drive.files.getgoogle_drive
Read onlyIdempotentClosed sandbox

Get Drive file metadata or media.

Documented provider operationGET /drive/v3/files/{fileId}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "acknowledgeAbuse": {
      "type": "boolean"
    },
    "alt": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "fileId": {
      "type": "string"
    }
  },
  "required": [
    "fileId"
  ],
  "type": "object"
}
google_drive.files.listgoogle_drive
Read onlyIdempotentClosed sandbox

Search Drive files using the q grammar.

Documented provider operationGET /drive/v3/filesOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "fields": {
      "type": "string"
    },
    "orderBy": {
      "type": "string"
    },
    "pageSize": {
      "type": "integer"
    },
    "pageToken": {
      "type": "string"
    },
    "q": {
      "type": "string"
    },
    "spaces": {
      "type": "string"
    }
  },
  "required": [],
  "type": "object"
}
google_sheets.spreadsheets.getgoogle_sheets
Read onlyIdempotentClosed sandbox

Get a spreadsheet.

Documented provider operationGET /v4/spreadsheets/{spreadsheetId}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "fields": {
      "type": "string"
    },
    "includeGridData": {
      "type": "boolean"
    },
    "ranges": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "spreadsheetId": {
      "type": "string"
    }
  },
  "required": [
    "spreadsheetId"
  ],
  "type": "object"
}
google_sheets.spreadsheets.values.appendgoogle_sheets
State changingNon-idempotentClosed sandbox

Append values to a spreadsheet table.

Documented provider operationPOST /v4/spreadsheets/{spreadsheetId}/values/{range}:appendOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "insertDataOption": {
      "type": "string"
    },
    "range": {
      "type": "string"
    },
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "majorDimension": {
          "type": "string"
        },
        "range": {
          "type": "string"
        },
        "values": {
          "items": {
            "type": "array"
          },
          "type": "array"
        }
      },
      "required": [
        "values"
      ],
      "type": "object"
    },
    "spreadsheetId": {
      "type": "string"
    },
    "valueInputOption": {
      "type": "string"
    }
  },
  "required": [
    "spreadsheetId",
    "range",
    "valueInputOption",
    "requestBody"
  ],
  "type": "object"
}
google_sheets.spreadsheets.values.batchGetgoogle_sheets
Read onlyIdempotentClosed sandbox

Get multiple spreadsheet ranges.

Documented provider operationGET /v4/spreadsheets/{spreadsheetId}/values:batchGetOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "majorDimension": {
      "type": "string"
    },
    "ranges": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "spreadsheetId": {
      "type": "string"
    },
    "valueRenderOption": {
      "type": "string"
    }
  },
  "required": [
    "spreadsheetId",
    "ranges"
  ],
  "type": "object"
}
google_sheets.spreadsheets.values.getgoogle_sheets
Read onlyIdempotentClosed sandbox

Get values from a spreadsheet range.

Documented provider operationGET /v4/spreadsheets/{spreadsheetId}/values/{range}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "dateTimeRenderOption": {
      "type": "string"
    },
    "majorDimension": {
      "type": "string"
    },
    "range": {
      "type": "string"
    },
    "spreadsheetId": {
      "type": "string"
    },
    "valueRenderOption": {
      "type": "string"
    }
  },
  "required": [
    "spreadsheetId",
    "range"
  ],
  "type": "object"
}
google_sheets.spreadsheets.values.updategoogle_sheets
State changingNon-idempotentClosed sandbox

Set values in a spreadsheet range.

Documented provider operationPUT /v4/spreadsheets/{spreadsheetId}/values/{range}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "includeValuesInResponse": {
      "type": "boolean"
    },
    "range": {
      "type": "string"
    },
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "majorDimension": {
          "type": "string"
        },
        "range": {
          "type": "string"
        },
        "values": {
          "items": {
            "type": "array"
          },
          "type": "array"
        }
      },
      "required": [
        "values"
      ],
      "type": "object"
    },
    "spreadsheetId": {
      "type": "string"
    },
    "valueInputOption": {
      "type": "string"
    }
  },
  "required": [
    "spreadsheetId",
    "range",
    "valueInputOption",
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.cycle_count_definitions.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get cycle-count definitions and approval tolerances.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/cycleCountDefinitionsOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [],
  "type": "object"
}
oracle_fusion.cycle_count_history.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get the independently recorded count history for one cycle-count sequence.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/cycleCountSequenceDetails/{cycleCountSequenceDetailsUniqID}/child/historyOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "cycleCountSequenceDetailsUniqID": {
      "type": "string"
    },
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [
    "cycleCountSequenceDetailsUniqID"
  ],
  "type": "object"
}
oracle_fusion.cycle_count_sequence_details.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get cycle-count sequence quantities, recounts, and approval status.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/cycleCountSequenceDetailsOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [],
  "type": "object"
}
oracle_fusion.draft_purchase_orders.createoracle_fusion
State changingNon-idempotentClosed sandbox

Create a draft purchase order at the documented resource.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/draftPurchaseOrdersOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "BuyerId": {
          "type": "integer"
        },
        "CurrencyCode": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "DocumentStyleId": {
          "type": "integer"
        },
        "ProcurementBUId": {
          "type": "integer"
        },
        "RequiredAcknowledgment": {
          "type": "string"
        },
        "RequisitioningBUId": {
          "type": "integer"
        },
        "SupplierId": {
          "type": "integer"
        },
        "SupplierSiteId": {
          "type": "integer"
        },
        "lines": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "Item": {
                "type": "string"
              },
              "ItemDescription": {
                "type": "string"
              },
              "LineNumber": {
                "type": "integer"
              },
              "LineType": {
                "type": "string"
              },
              "Price": {
                "type": "number"
              },
              "Quantity": {
                "type": "number"
              },
              "UOM": {
                "type": "string"
              }
            },
            "required": [],
            "type": "object"
          },
          "type": "array"
        }
      },
      "required": [
        "SupplierId",
        "ProcurementBUId",
        "BuyerId",
        "DocumentStyleId",
        "lines"
      ],
      "type": "object"
    }
  },
  "required": [
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.draft_purchase_orders.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get draft purchase orders.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/draftPurchaseOrdersOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [],
  "type": "object"
}
oracle_fusion.inspection_plans.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get quality inspection plans.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/inspectionPlansOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [],
  "type": "object"
}
oracle_fusion.inventory_onhand_balances.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get inventory on-hand balances.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/inventoryOnhandBalancesOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [],
  "type": "object"
}
oracle_fusion.inventory_transactions.createoracle_fusion
State changingNon-idempotentClosed sandbox

Create inventory transactions.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/inventoryTransactionsOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "SourceSystemCode": {
          "type": "string"
        },
        "TransactionLines": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "Item": {
                "type": "string"
              },
              "LotNumber": {
                "type": "string"
              },
              "OrganizationCode": {
                "type": "string"
              },
              "Subinventory": {
                "type": "string"
              },
              "TransactionQuantity": {
                "type": "number"
              },
              "TransactionType": {
                "type": "string"
              },
              "TransactionUnitOfMeasure": {
                "type": "string"
              },
              "TransferSubinventory": {
                "type": "string"
              }
            },
            "required": [],
            "type": "object"
          },
          "type": "array"
        },
        "TransactionMode": {
          "type": "string"
        }
      },
      "required": [
        "SourceSystemCode",
        "TransactionLines"
      ],
      "type": "object"
    }
  },
  "required": [
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.invoice_holds.createoracle_fusion
State changingNon-idempotentClosed sandbox

Create one Payables invoice hold.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/invoiceHoldsOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "HoldName": {
          "type": "string"
        },
        "HoldReason": {
          "type": "string"
        },
        "InvoiceId": {
          "type": "integer"
        }
      },
      "required": [
        "InvoiceId",
        "HoldName"
      ],
      "type": "object"
    }
  },
  "required": [
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.invoice_holds.updateoracle_fusion
State changingNon-idempotentClosed sandbox

Update one Payables invoice hold, including release details.

Documented provider operationPATCH /fscmRestApi/resources/11.13.18.05/invoiceHolds/{HoldId}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "HoldId": {
      "type": "integer"
    },
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "ReleaseName": {
          "type": "string"
        },
        "ReleaseReason": {
          "type": "string"
        }
      },
      "required": [
        "ReleaseName"
      ],
      "type": "object"
    }
  },
  "required": [
    "HoldId",
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.invoices.createoracle_fusion
State changingNon-idempotentClosed sandbox

Create one Payables invoice.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/invoicesOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "BusinessUnit": {
          "type": "string"
        },
        "InvoiceAmount": {
          "type": "number"
        },
        "InvoiceCurrency": {
          "type": "string"
        },
        "InvoiceDate": {
          "type": "string"
        },
        "InvoiceNumber": {
          "type": "string"
        },
        "PaymentTerms": {
          "type": "string"
        },
        "Supplier": {
          "type": "string"
        },
        "SupplierSite": {
          "type": "string"
        }
      },
      "required": [
        "BusinessUnit",
        "Supplier",
        "InvoiceNumber",
        "InvoiceAmount",
        "InvoiceCurrency"
      ],
      "type": "object"
    }
  },
  "required": [
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.invoices.getoracle_fusion
Read onlyIdempotentClosed sandbox

Get one Payables invoice.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/invoices/{invoicesUniqID}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "invoicesUniqID": {
      "type": "string"
    },
    "onlyData": {
      "type": "boolean"
    }
  },
  "required": [
    "invoicesUniqID"
  ],
  "type": "object"
}
oracle_fusion.invoices.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get Payables invoices.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/invoicesOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [],
  "type": "object"
}
oracle_fusion.invoices.updateoracle_fusion
State changingNon-idempotentClosed sandbox

Update one Payables invoice.

Documented provider operationPATCH /fscmRestApi/resources/11.13.18.05/invoices/{invoicesUniqID}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "invoicesUniqID": {
      "type": "string"
    },
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "BusinessUnit": {
          "type": "string"
        },
        "InvoiceAmount": {
          "type": "number"
        },
        "InvoiceCurrency": {
          "type": "string"
        },
        "InvoiceDate": {
          "type": "string"
        },
        "InvoiceNumber": {
          "type": "string"
        },
        "PaymentTerms": {
          "type": "string"
        },
        "Supplier": {
          "type": "string"
        },
        "SupplierSite": {
          "type": "string"
        }
      },
      "required": [],
      "type": "object"
    }
  },
  "required": [
    "invoicesUniqID",
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.invoices.validateoracle_fusion
State changingNon-idempotentClosed sandbox

Validate an invoice; Oracle checks tax and matching tolerances and may place holds.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/invoices/action/validateInvoiceOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "BusinessUnit": {
          "type": "string"
        },
        "InvoiceNumber": {
          "type": "string"
        },
        "ProcessAction": {
          "const": "Validate",
          "type": "string"
        },
        "Supplier": {
          "type": "string"
        }
      },
      "required": [
        "ProcessAction",
        "BusinessUnit",
        "Supplier",
        "InvoiceNumber"
      ],
      "type": "object"
    }
  },
  "required": [
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.maintenance_documents.createoracle_fusion
State changingNon-idempotentClosed sandbox

Create a maintenance work-order document reference.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/maintenanceWorkOrders/{WorkOrderId}/child/documentReferenceOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "WorkOrderId": {
      "type": "integer"
    },
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "Description": {
          "type": "string"
        },
        "DocumentName": {
          "type": "string"
        },
        "DocumentNumber": {
          "type": "string"
        },
        "DocumentType": {
          "type": "string"
        }
      },
      "required": [
        "DocumentName",
        "DocumentType"
      ],
      "type": "object"
    }
  },
  "required": [
    "WorkOrderId",
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.maintenance_documents.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get document references for a maintenance work order.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/maintenanceWorkOrders/{WorkOrderId}/child/documentReferenceOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "WorkOrderId": {
      "type": "integer"
    },
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [
    "WorkOrderId"
  ],
  "type": "object"
}
oracle_fusion.maintenance_materials.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get material requirements for one maintenance work-order operation.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/maintenanceWorkOrders/{WorkOrderId}/child/WorkOrderOperation/{WoOperationId}/child/WorkOrderOperationMaterialOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "WoOperationId": {
      "type": "integer"
    },
    "WorkOrderId": {
      "type": "integer"
    },
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [
    "WorkOrderId",
    "WoOperationId"
  ],
  "type": "object"
}
oracle_fusion.maintenance_operations.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get operations for a maintenance work order.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/maintenanceWorkOrders/{WorkOrderId}/child/WorkOrderOperationOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "WorkOrderId": {
      "type": "integer"
    },
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [
    "WorkOrderId"
  ],
  "type": "object"
}
oracle_fusion.maintenance_operations.updateoracle_fusion
State changingNon-idempotentClosed sandbox

Update one maintenance operation.

Documented provider operationPATCH /fscmRestApi/resources/11.13.18.05/maintenanceWorkOrders/{WorkOrderId}/child/WorkOrderOperation/{WoOperationId}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "WoOperationId": {
      "type": "integer"
    },
    "WorkOrderId": {
      "type": "integer"
    },
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "OperationName": {
          "type": "string"
        },
        "PlannedStartDate": {
          "type": "string"
        },
        "WorkCenterCode": {
          "type": "string"
        }
      },
      "required": [],
      "type": "object"
    }
  },
  "required": [
    "WorkOrderId",
    "WoOperationId",
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.maintenance_programs.createoracle_fusion
State changingNon-idempotentClosed sandbox

Create one maintenance program.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/maintenanceProgramsOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "ForecastEndDate": {
          "type": "string"
        },
        "ForecastStartDate": {
          "type": "string"
        },
        "MaintenanceProgramCode": {
          "type": "string"
        },
        "MaintenanceProgramName": {
          "type": "string"
        },
        "OrganizationCode": {
          "type": "string"
        },
        "StatusCode": {
          "type": "string"
        }
      },
      "required": [
        "MaintenanceProgramCode",
        "MaintenanceProgramName",
        "OrganizationCode"
      ],
      "type": "object"
    }
  },
  "required": [
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.maintenance_programs.generate_forecastsoracle_fusion
State changingNon-idempotentClosed sandbox

Generate maintenance-program forecasts.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/maintenancePrograms/action/generateProgramForecastsOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "ForecastEndDate": {
          "type": "string"
        },
        "ForecastStartDate": {
          "type": "string"
        },
        "MaintenanceProgramCode": {
          "type": "string"
        }
      },
      "required": [
        "MaintenanceProgramCode"
      ],
      "type": "object"
    }
  },
  "required": [
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.maintenance_programs.generate_work_ordersoracle_fusion
State changingNon-idempotentClosed sandbox

Generate maintenance work orders from a program forecast.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/maintenancePrograms/action/generateProgramWorkOrdersOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "MaintenanceProgramCode": {
          "type": "string"
        },
        "WorkOrderEndDate": {
          "type": "string"
        },
        "WorkOrderStartDate": {
          "type": "string"
        }
      },
      "required": [
        "MaintenanceProgramCode"
      ],
      "type": "object"
    }
  },
  "required": [
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.maintenance_programs.getoracle_fusion
Read onlyIdempotentClosed sandbox

Get one maintenance program.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/maintenancePrograms/{MaintenanceProgramId}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "MaintenanceProgramId": {
      "type": "integer"
    },
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "onlyData": {
      "type": "boolean"
    }
  },
  "required": [
    "MaintenanceProgramId"
  ],
  "type": "object"
}
oracle_fusion.maintenance_programs.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get maintenance programs.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/maintenanceProgramsOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [],
  "type": "object"
}
oracle_fusion.maintenance_programs.updateoracle_fusion
State changingNon-idempotentClosed sandbox

Update one maintenance program.

Documented provider operationPATCH /fscmRestApi/resources/11.13.18.05/maintenancePrograms/{MaintenanceProgramId}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "MaintenanceProgramId": {
      "type": "integer"
    },
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "ForecastEndDate": {
          "type": "string"
        },
        "ForecastStartDate": {
          "type": "string"
        },
        "MaintenanceProgramCode": {
          "type": "string"
        },
        "MaintenanceProgramName": {
          "type": "string"
        },
        "OrganizationCode": {
          "type": "string"
        },
        "StatusCode": {
          "type": "string"
        }
      },
      "required": [],
      "type": "object"
    }
  },
  "required": [
    "MaintenanceProgramId",
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.maintenance_resources.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get labor and equipment resources for one maintenance work-order operation.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/maintenanceWorkOrders/{WorkOrderId}/child/WorkOrderOperation/{WoOperationId}/child/WorkOrderOperationResourceOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "WoOperationId": {
      "type": "integer"
    },
    "WorkOrderId": {
      "type": "integer"
    },
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [
    "WorkOrderId",
    "WoOperationId"
  ],
  "type": "object"
}
oracle_fusion.maintenance_work_orders.createoracle_fusion
State changingNon-idempotentClosed sandbox

Create one maintenance work order.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/maintenanceWorkOrdersOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "AssetNumber": {
          "type": "string"
        },
        "OrganizationCode": {
          "type": "string"
        },
        "PlannedCompletionDate": {
          "type": "string"
        },
        "PlannedStartDate": {
          "type": "string"
        },
        "WorkOrderDescription": {
          "type": "string"
        },
        "WorkOrderNumber": {
          "type": "string"
        },
        "WorkOrderStatusCode": {
          "type": "string"
        },
        "WorkOrderTypeCode": {
          "type": "string"
        }
      },
      "required": [
        "OrganizationCode",
        "AssetNumber",
        "WorkOrderDescription",
        "WorkOrderTypeCode",
        "PlannedStartDate"
      ],
      "type": "object"
    }
  },
  "required": [
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.maintenance_work_orders.getoracle_fusion
Read onlyIdempotentClosed sandbox

Get one maintenance work order.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/maintenanceWorkOrders/{WorkOrderId}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "WorkOrderId": {
      "type": "integer"
    },
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "onlyData": {
      "type": "boolean"
    }
  },
  "required": [
    "WorkOrderId"
  ],
  "type": "object"
}
oracle_fusion.maintenance_work_orders.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get maintenance work orders.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/maintenanceWorkOrdersOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [],
  "type": "object"
}
oracle_fusion.maintenance_work_orders.updateoracle_fusion
State changingNon-idempotentClosed sandbox

Update one maintenance work order.

Documented provider operationPATCH /fscmRestApi/resources/11.13.18.05/maintenanceWorkOrders/{WorkOrderId}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "WorkOrderId": {
      "type": "integer"
    },
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "AssetNumber": {
          "type": "string"
        },
        "OrganizationCode": {
          "type": "string"
        },
        "PlannedCompletionDate": {
          "type": "string"
        },
        "PlannedStartDate": {
          "type": "string"
        },
        "WorkOrderDescription": {
          "type": "string"
        },
        "WorkOrderNumber": {
          "type": "string"
        },
        "WorkOrderStatusCode": {
          "type": "string"
        },
        "WorkOrderTypeCode": {
          "type": "string"
        }
      },
      "required": [],
      "type": "object"
    }
  },
  "required": [
    "WorkOrderId",
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.material_transactions.createoracle_fusion
State changingNon-idempotentClosed sandbox

Create work-order material transactions.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/materialTransactionsOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "MaterialTransactionDetail": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "InventoryItemNumber": {
                "type": "string"
              },
              "LotNumber": {
                "type": "string"
              },
              "OrganizationCode": {
                "type": "string"
              },
              "SubinventoryCode": {
                "type": "string"
              },
              "TransactionQuantity": {
                "type": "number"
              },
              "TransactionTypeCode": {
                "type": "string"
              },
              "TransactionUnitOfMeasure": {
                "type": "string"
              },
              "WorkOrderNumber": {
                "type": "string"
              }
            },
            "required": [],
            "type": "object"
          },
          "type": "array"
        },
        "SourceSystemCode": {
          "type": "string"
        },
        "SourceSystemType": {
          "type": "string"
        }
      },
      "required": [
        "SourceSystemCode",
        "MaterialTransactionDetail"
      ],
      "type": "object"
    }
  },
  "required": [
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.operation_transactions.createoracle_fusion
State changingNon-idempotentClosed sandbox

Create work-order operation transactions.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/operationTransactionsOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "OperationTransactionDetail": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "FromDispatchState": {
                "type": "string"
              },
              "OrganizationCode": {
                "type": "string"
              },
              "ToDispatchState": {
                "type": "string"
              },
              "TransactionQuantity": {
                "type": "number"
              },
              "TransactionUnitOfMeasure": {
                "type": "string"
              },
              "WoOperationSequenceNumber": {
                "type": "number"
              },
              "WorkOrderNumber": {
                "type": "string"
              }
            },
            "required": [],
            "type": "object"
          },
          "type": "array"
        },
        "SourceSystemCode": {
          "type": "string"
        },
        "SourceSystemType": {
          "type": "string"
        }
      },
      "required": [
        "SourceSystemCode",
        "OperationTransactionDetail"
      ],
      "type": "object"
    }
  },
  "required": [
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.purchase_order_lines.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get purchase-order lines.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/purchaseOrders/{purchaseOrdersUniqID}/child/linesOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "purchaseOrdersUniqID": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [
    "purchaseOrdersUniqID"
  ],
  "type": "object"
}
oracle_fusion.purchase_orders.acknowledgeoracle_fusion
State changingNon-idempotentClosed sandbox

Record supplier acknowledgment for a purchase order.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/purchaseOrders/{purchaseOrdersUniqID}/action/acknowledgeOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "purchaseOrdersUniqID": {
      "type": "string"
    },
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "acknowledgementNote": {
          "type": "string"
        },
        "supplierOrder": {
          "type": "string"
        }
      },
      "required": [],
      "type": "object"
    }
  },
  "required": [
    "purchaseOrdersUniqID",
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.purchase_orders.canceloracle_fusion
State changingNon-idempotentClosed sandbox

Cancel a purchase order.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/purchaseOrders/{purchaseOrdersUniqID}/action/cancelOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "purchaseOrdersUniqID": {
      "type": "string"
    },
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "BCCEmail": {
          "type": "string"
        },
        "CCEmail": {
          "type": "string"
        },
        "acknowledgeWithinDays": {
          "type": "number"
        },
        "cancelUnfulfilledDemandFlag": {
          "type": "boolean"
        },
        "cancellationReason": {
          "type": "string"
        },
        "communicationMethod": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "fax": {
          "type": "string"
        },
        "initiatingParty": {
          "enum": [
            "buyer",
            "requester",
            "supplier"
          ],
          "type": "string"
        },
        "requiredAcknowledgment": {
          "type": "string"
        }
      },
      "required": [],
      "type": "object"
    }
  },
  "required": [
    "purchaseOrdersUniqID",
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.purchase_orders.closeoracle_fusion
State changingNon-idempotentClosed sandbox

Close a purchase order using a documented close action.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/purchaseOrders/{purchaseOrdersUniqID}/action/closeOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "purchaseOrdersUniqID": {
      "type": "string"
    },
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "closeAction": {
          "enum": [
            "closeForReceiving",
            "closeForInvoicing",
            "close",
            "finallyClose"
          ],
          "type": "string"
        },
        "closeReason": {
          "type": "string"
        }
      },
      "required": [],
      "type": "object"
    }
  },
  "required": [
    "purchaseOrdersUniqID",
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.purchase_orders.getoracle_fusion
Read onlyIdempotentClosed sandbox

Get one purchase order.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/purchaseOrders/{purchaseOrdersUniqID}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "onlyData": {
      "type": "boolean"
    },
    "purchaseOrdersUniqID": {
      "type": "string"
    }
  },
  "required": [
    "purchaseOrdersUniqID"
  ],
  "type": "object"
}
oracle_fusion.purchase_orders.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get purchase orders.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/purchaseOrdersOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [],
  "type": "object"
}
oracle_fusion.quality_inspection_results.createoracle_fusion
State changingNon-idempotentClosed sandbox

Create one quality inspection result.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/inspectionResultsOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "DocumentNumber": {
          "type": "string"
        },
        "DocumentType": {
          "type": "string"
        },
        "InspectionPlanId": {
          "type": "integer"
        },
        "InspectionPlanName": {
          "type": "string"
        },
        "InspectionStatus": {
          "type": "string"
        },
        "ItemNumber": {
          "type": "string"
        },
        "LotNumber": {
          "type": "string"
        },
        "OrganizationCode": {
          "type": "string"
        },
        "Quantity": {
          "type": "number"
        },
        "samples": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "Result": {
                "type": "string"
              },
              "SampleNumber": {
                "type": "integer"
              }
            },
            "required": [],
            "type": "object"
          },
          "type": "array"
        }
      },
      "required": [
        "OrganizationCode",
        "InspectionPlanName",
        "DocumentType",
        "DocumentNumber"
      ],
      "type": "object"
    }
  },
  "required": [
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.quality_inspection_results.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get quality inspection results.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/inspectionResultsOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [],
  "type": "object"
}
oracle_fusion.quality_inspection_results.updateoracle_fusion
State changingNon-idempotentClosed sandbox

Update one quality inspection result.

Documented provider operationPATCH /fscmRestApi/resources/11.13.18.05/inspectionResults/{InspectionEventId}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "InspectionEventId": {
      "type": "string"
    },
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "InspectionResult": {
          "type": "string"
        },
        "InspectionStatus": {
          "type": "string"
        },
        "QuantityAccepted": {
          "type": "number"
        },
        "QuantityRejected": {
          "type": "number"
        },
        "samples": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "Result": {
                "type": "string"
              },
              "SampleNumber": {
                "type": "integer"
              }
            },
            "required": [],
            "type": "object"
          },
          "type": "array"
        }
      },
      "required": [],
      "type": "object"
    }
  },
  "required": [
    "InspectionEventId",
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.receiving_receipt_requests.createoracle_fusion
State changingNon-idempotentClosed sandbox

Create a receiving receipt request.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/receivingReceiptRequestsOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "EmployeeId": {
          "type": "integer"
        },
        "OrganizationCode": {
          "type": "string"
        },
        "ReceiptSourceCode": {
          "type": "string"
        },
        "VendorName": {
          "type": "string"
        },
        "lines": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "ItemNumber": {
                "type": "string"
              },
              "LotNumber": {
                "type": "string"
              },
              "POHeaderId": {
                "type": "integer"
              },
              "POLineId": {
                "type": "integer"
              },
              "Quantity": {
                "type": "number"
              },
              "SourceDocumentCode": {
                "type": "string"
              },
              "UnitOfMeasure": {
                "type": "string"
              }
            },
            "required": [],
            "type": "object"
          },
          "type": "array"
        }
      },
      "required": [
        "ReceiptSourceCode",
        "OrganizationCode",
        "lines"
      ],
      "type": "object"
    }
  },
  "required": [
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.receiving_receipt_requests.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get receiving receipt requests.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/receivingReceiptRequestsOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [],
  "type": "object"
}
oracle_fusion.receiving_receipt_transactions.createoracle_fusion
State changingNon-idempotentClosed sandbox

Create a receiving transaction request.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/receivingReceiptRequests/{HeaderInterfaceId}/child/linesOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "HeaderInterfaceId": {
      "type": "integer"
    },
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "InspectionQualityCode": {
          "type": "string"
        },
        "ItemNumber": {
          "type": "string"
        },
        "Quantity": {
          "type": "number"
        },
        "TransactionType": {
          "type": "string"
        },
        "lotItemLots": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "LotNumber": {
                "type": "string"
              },
              "PrimaryQuantity": {
                "type": "number"
              }
            },
            "required": [],
            "type": "object"
          },
          "type": "array"
        }
      },
      "required": [
        "TransactionType",
        "Quantity"
      ],
      "type": "object"
    }
  },
  "required": [
    "HeaderInterfaceId",
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.receiving_receipt_transactions.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get receiving transaction requests.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/receivingReceiptRequests/{HeaderInterfaceId}/child/linesOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "HeaderInterfaceId": {
      "type": "integer"
    },
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [
    "HeaderInterfaceId"
  ],
  "type": "object"
}
oracle_fusion.receiving_receipt_transactions.updateoracle_fusion
State changingNon-idempotentClosed sandbox

Update one receiving transaction request.

Documented provider operationPATCH /fscmRestApi/resources/11.13.18.05/receivingReceiptRequests/{HeaderInterfaceId}/child/lines/{InterfaceTransactionId}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "HeaderInterfaceId": {
      "type": "integer"
    },
    "InterfaceTransactionId": {
      "type": "integer"
    },
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "Comments": {
          "type": "string"
        },
        "InspectionQualityCode": {
          "type": "string"
        },
        "Quantity": {
          "type": "number"
        },
        "TransactionType": {
          "type": "string"
        }
      },
      "required": [],
      "type": "object"
    }
  },
  "required": [
    "HeaderInterfaceId",
    "InterfaceTransactionId",
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.resource_transactions.createoracle_fusion
State changingNon-idempotentClosed sandbox

Create work-order resource transactions.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/resourceTransactionsOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "ResourceTransactionDetail": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "OrganizationCode": {
                "type": "string"
              },
              "ResourceCode": {
                "type": "string"
              },
              "TransactionQuantity": {
                "type": "number"
              },
              "TransactionUnitOfMeasure": {
                "type": "string"
              },
              "WoOperationSequenceNumber": {
                "type": "number"
              },
              "WorkOrderNumber": {
                "type": "string"
              }
            },
            "required": [],
            "type": "object"
          },
          "type": "array"
        },
        "SourceSystemCode": {
          "type": "string"
        }
      },
      "required": [
        "SourceSystemCode",
        "ResourceTransactionDetail"
      ],
      "type": "object"
    }
  },
  "required": [
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.sales_orders.getoracle_fusion
Read onlyIdempotentClosed sandbox

Get one sales order.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/salesOrdersForOrderHub/{OrderKey}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "OrderKey": {
      "type": "string"
    },
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "onlyData": {
      "type": "boolean"
    }
  },
  "required": [
    "OrderKey"
  ],
  "type": "object"
}
oracle_fusion.sales_orders.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get sales orders from Order Management.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/salesOrdersForOrderHubOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [],
  "type": "object"
}
oracle_fusion.suppliers.getoracle_fusion
Read onlyIdempotentClosed sandbox

Get one supplier.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/suppliers/{SupplierId}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "SupplierId": {
      "type": "integer"
    },
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "onlyData": {
      "type": "boolean"
    }
  },
  "required": [
    "SupplierId"
  ],
  "type": "object"
}
oracle_fusion.suppliers.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get suppliers.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/suppliersOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [],
  "type": "object"
}
oracle_fusion.supply_requests.createoracle_fusion
State changingNon-idempotentClosed sandbox

Create one supply request.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/supplyRequestsOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "SupplyOrderReferenceNumber": {
          "type": "string"
        },
        "SupplyRequestDate": {
          "type": "string"
        },
        "SupplyRequestSystem": {
          "type": "string"
        },
        "supplyRequestLines": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "DestinationOrganizationCode": {
                "type": "string"
              },
              "ItemNumber": {
                "type": "string"
              },
              "NeedByDate": {
                "type": "string"
              },
              "Quantity": {
                "type": "number"
              },
              "SupplyOrderSource": {
                "type": "string"
              },
              "SupplyType": {
                "type": "string"
              }
            },
            "required": [],
            "type": "object"
          },
          "type": "array"
        }
      },
      "required": [
        "SupplyOrderReferenceNumber",
        "SupplyRequestSystem",
        "SupplyRequestDate",
        "supplyRequestLines"
      ],
      "type": "object"
    }
  },
  "required": [
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.supply_requests.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get supply requests.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/supplyRequestsOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [],
  "type": "object"
}
oracle_fusion.work_order_materials.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get materials for a discrete work order.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/workOrders/{WorkOrderId}/child/WorkOrderMaterialOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "WorkOrderId": {
      "type": "integer"
    },
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [
    "WorkOrderId"
  ],
  "type": "object"
}
oracle_fusion.work_order_materials.replace_with_substituteoracle_fusion
State changingNon-idempotentClosed sandbox

Replace a work-order material with a documented substitute item identifier or item number.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/workOrders/{WorkOrderId}/child/WorkOrderMaterial/{WorkOrderOperationMaterialId}/action/replaceWithSubstituteOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "WorkOrderId": {
      "type": "integer"
    },
    "WorkOrderOperationMaterialId": {
      "type": "integer"
    },
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "substituteItemId": {
          "type": "number"
        },
        "substituteItemNumber": {
          "type": "string"
        }
      },
      "required": [],
      "type": "object"
    }
  },
  "required": [
    "WorkOrderId",
    "WorkOrderOperationMaterialId",
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.work_order_materials.updateoracle_fusion
State changingNon-idempotentClosed sandbox

Update one work-order operation material.

Documented provider operationPATCH /fscmRestApi/resources/11.13.18.05/workOrders/{WorkOrderId}/child/WorkOrderOperation/{WorkOrderOperationId2}/child/WorkOrderOperationMaterial/{WorkOrderOperationMaterialId}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "WorkOrderId": {
      "type": "integer"
    },
    "WorkOrderOperationId2": {
      "type": "integer"
    },
    "WorkOrderOperationMaterialId": {
      "type": "integer"
    },
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "BasisType": {
          "type": "string"
        },
        "ContributeToYieldFlag": {
          "type": "boolean"
        },
        "EnforceIntRequirements": {
          "type": "string"
        },
        "ExtendedQuantity": {
          "type": "number"
        },
        "IncludeInPlanningFlag": {
          "type": "boolean"
        },
        "InverseQuantity": {
          "type": "number"
        },
        "QuantityPERProduct": {
          "type": "number"
        },
        "RequiredDate": {
          "type": "string"
        },
        "SupplyLocator": {
          "type": "string"
        },
        "SupplyLocatorId": {
          "type": "integer"
        },
        "SupplySubinventory": {
          "type": "string"
        },
        "SupplyType": {
          "type": "string"
        },
        "WdOperationMaterialId": {
          "type": "integer"
        },
        "YieldFactor": {
          "type": "number"
        }
      },
      "required": [],
      "type": "object"
    }
  },
  "required": [
    "WorkOrderId",
    "WorkOrderOperationId2",
    "WorkOrderOperationMaterialId",
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.work_order_operations.createoracle_fusion
State changingNon-idempotentClosed sandbox

Create an active operation for a discrete work order.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/workOrders/{WorkOrderId}/child/WorkOrderOperationOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "WorkOrderId": {
      "type": "integer"
    },
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "OperationName": {
          "type": "string"
        },
        "OperationSequenceNumber": {
          "type": "integer"
        },
        "PlannedCompletionDate": {
          "type": "string"
        },
        "PlannedStartDate": {
          "type": "string"
        },
        "WorkCenterCode": {
          "type": "string"
        }
      },
      "required": [
        "OperationSequenceNumber",
        "OperationName",
        "WorkCenterCode"
      ],
      "type": "object"
    }
  },
  "required": [
    "WorkOrderId",
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.work_order_operations.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get active operations for a discrete work order.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/workOrders/{WorkOrderId}/child/WorkOrderOperationOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "WorkOrderId": {
      "type": "integer"
    },
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [
    "WorkOrderId"
  ],
  "type": "object"
}
oracle_fusion.work_order_operations.updateoracle_fusion
State changingNon-idempotentClosed sandbox

Update one active work-order operation.

Documented provider operationPATCH /fscmRestApi/resources/11.13.18.05/workOrders/{WorkOrderId}/child/WorkOrderOperation/{WorkOrderOperationId}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "WorkOrderId": {
      "type": "integer"
    },
    "WorkOrderOperationId": {
      "type": "integer"
    },
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "OperationName": {
          "type": "string"
        },
        "PlannedCompletionDate": {
          "type": "string"
        },
        "PlannedStartDate": {
          "type": "string"
        },
        "WorkCenterCode": {
          "type": "string"
        }
      },
      "required": [],
      "type": "object"
    }
  },
  "required": [
    "WorkOrderId",
    "WorkOrderOperationId",
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.work_order_resources.createoracle_fusion
State changingNon-idempotentClosed sandbox

Create a resource requirement for a work-order operation.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/workOrders/{WorkOrderId}/child/WorkOrderOperation/{WorkOrderOperationId}/child/WorkOrderOperationResourceOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "WorkOrderId": {
      "type": "integer"
    },
    "WorkOrderOperationId": {
      "type": "integer"
    },
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "AssignedUnits": {
          "type": "number"
        },
        "BasisType": {
          "type": "string"
        },
        "ResourceCode": {
          "type": "string"
        },
        "UsageRate": {
          "type": "number"
        }
      },
      "required": [
        "ResourceCode"
      ],
      "type": "object"
    }
  },
  "required": [
    "WorkOrderId",
    "WorkOrderOperationId",
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.work_order_resources.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get resources for a discrete work order.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/workOrders/{WorkOrderId}/child/WorkOrderResourceOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "WorkOrderId": {
      "type": "integer"
    },
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [
    "WorkOrderId"
  ],
  "type": "object"
}
oracle_fusion.work_order_resources.updateoracle_fusion
State changingNon-idempotentClosed sandbox

Update one work-order operation resource without changing its immutable resource identity.

Documented provider operationPATCH /fscmRestApi/resources/11.13.18.05/workOrders/{WorkOrderId}/child/WorkOrderOperation/{WorkOrderOperationId}/child/WorkOrderOperationResource/{WorkOrderOperationResourceId}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "WorkOrderId": {
      "type": "integer"
    },
    "WorkOrderOperationId": {
      "type": "integer"
    },
    "WorkOrderOperationResourceId": {
      "type": "integer"
    },
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "AssignedUnits": {
          "type": "number"
        },
        "BasisType": {
          "type": "string"
        },
        "ChargeType": {
          "type": "string"
        },
        "EquipmentProfileCode": {
          "type": "string"
        },
        "EquipmentProfileId": {
          "type": "integer"
        },
        "InverseRequiredUsage": {
          "type": "number"
        },
        "PlannedCompletionDate": {
          "type": "string"
        },
        "PlannedStartDate": {
          "type": "string"
        },
        "PrincipalFlag": {
          "type": "boolean"
        },
        "ProfileCode": {
          "type": "string"
        },
        "ProfileId": {
          "type": "integer"
        },
        "RequiredUsage": {
          "type": "number"
        },
        "ResourceActivityCode": {
          "type": "string"
        },
        "ResourceSequenceNumber": {
          "type": "number"
        },
        "ScheduledIndicator": {
          "type": "string"
        },
        "UnsetPrincipalFlag": {
          "type": "boolean"
        },
        "UsageRate": {
          "type": "number"
        }
      },
      "required": [],
      "type": "object"
    }
  },
  "required": [
    "WorkOrderId",
    "WorkOrderOperationId",
    "WorkOrderOperationResourceId",
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.work_orders.createoracle_fusion
State changingNon-idempotentClosed sandbox

Create one discrete manufacturing work order.

Documented provider operationPOST /fscmRestApi/resources/11.13.18.05/workOrdersOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "ItemNumber": {
          "type": "string"
        },
        "OrganizationCode": {
          "type": "string"
        },
        "PlannedCompletionDate": {
          "type": "string"
        },
        "PlannedStartDate": {
          "type": "string"
        },
        "WorkOrderNumber": {
          "type": "string"
        },
        "WorkOrderQuantity": {
          "type": "number"
        },
        "WorkOrderStatusCode": {
          "type": "string"
        }
      },
      "required": [
        "OrganizationCode",
        "ItemNumber",
        "WorkOrderQuantity",
        "PlannedStartDate",
        "PlannedCompletionDate"
      ],
      "type": "object"
    }
  },
  "required": [
    "requestBody"
  ],
  "type": "object"
}
oracle_fusion.work_orders.getoracle_fusion
Read onlyIdempotentClosed sandbox

Get one discrete work order.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/workOrders/{WorkOrderId}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "WorkOrderId": {
      "type": "integer"
    },
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "onlyData": {
      "type": "boolean"
    }
  },
  "required": [
    "WorkOrderId"
  ],
  "type": "object"
}
oracle_fusion.work_orders.listoracle_fusion
Read onlyIdempotentClosed sandbox

Get discrete manufacturing work orders.

Documented provider operationGET /fscmRestApi/resources/11.13.18.05/workOrdersOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "expand": {
      "type": "string"
    },
    "fields": {
      "type": "string"
    },
    "finder": {
      "type": "string"
    },
    "limit": {
      "minimum": 1,
      "type": "integer"
    },
    "offset": {
      "minimum": 0,
      "type": "integer"
    },
    "onlyData": {
      "type": "boolean"
    },
    "orderBy": {
      "type": "string"
    },
    "q": {
      "description": "Documented Oracle REST query expression.",
      "type": "string"
    },
    "totalResults": {
      "type": "boolean"
    }
  },
  "required": [],
  "type": "object"
}
oracle_fusion.work_orders.updateoracle_fusion
State changingNon-idempotentClosed sandbox

Update one discrete manufacturing work order.

Documented provider operationPATCH /fscmRestApi/resources/11.13.18.05/workOrders/{WorkOrderId}Open provider documentation
{
  "additionalProperties": false,
  "properties": {
    "WorkOrderId": {
      "type": "integer"
    },
    "requestBody": {
      "additionalProperties": false,
      "properties": {
        "ItemNumber": {
          "type": "string"
        },
        "OrganizationCode": {
          "type": "string"
        },
        "PlannedCompletionDate": {
          "type": "string"
        },
        "PlannedStartDate": {
          "type": "string"
        },
        "WorkOrderNumber": {
          "type": "string"
        },
        "WorkOrderQuantity": {
          "type": "number"
        },
        "WorkOrderStatusCode": {
          "type": "string"
        }
      },
      "required": [],
      "type": "object"
    }
  },
  "required": [
    "WorkOrderId",
    "requestBody"
  ],
  "type": "object"
}
slack.chat_postMessageslack
State changingNon-idempotentClosed sandbox

Post a Slack message or thread reply.

Documented provider operationPOST /api/chat.postMessageOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "channel": {
      "type": "string"
    },
    "text": {
      "type": "string"
    },
    "thread_ts": {
      "type": "string"
    }
  },
  "required": [
    "channel",
    "text"
  ],
  "type": "object"
}
slack.conversations_historyslack
Read onlyIdempotentClosed sandbox

Get top-level messages in a Slack conversation.

Documented provider operationGET /api/conversations.historyOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "channel": {
      "type": "string"
    },
    "cursor": {
      "type": "string"
    },
    "inclusive": {
      "type": "boolean"
    },
    "latest": {
      "type": "string"
    },
    "limit": {
      "type": "integer"
    },
    "oldest": {
      "type": "string"
    }
  },
  "required": [
    "channel"
  ],
  "type": "object"
}
slack.conversations_repliesslack
Read onlyIdempotentClosed sandbox

Get a Slack thread, parent first.

Documented provider operationGET /api/conversations.repliesOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "channel": {
      "type": "string"
    },
    "cursor": {
      "type": "string"
    },
    "limit": {
      "type": "integer"
    },
    "ts": {
      "type": "string"
    }
  },
  "required": [
    "channel",
    "ts"
  ],
  "type": "object"
}
slack.files_infoslack
Read onlyIdempotentClosed sandbox

Get information about a Slack file.

Documented provider operationGET /api/files.infoOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "count": {
      "type": "integer"
    },
    "file": {
      "type": "string"
    },
    "page": {
      "type": "integer"
    }
  },
  "required": [
    "file"
  ],
  "type": "object"
}
slack.reactions_addslack
State changingNon-idempotentClosed sandbox

Add a reaction to a Slack message.

Documented provider operationPOST /api/reactions.addOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "channel": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "timestamp": {
      "type": "string"
    }
  },
  "required": [
    "channel",
    "timestamp",
    "name"
  ],
  "type": "object"
}
slack.search_messagesslack
Read onlyIdempotentClosed sandbox

Search Slack messages visible to the caller.

Documented provider operationGET /api/search.messagesOpen provider documentation
{
  "additionalProperties": false,
  "properties": {
    "count": {
      "type": "integer"
    },
    "page": {
      "type": "integer"
    },
    "query": {
      "type": "string"
    },
    "sort": {
      "type": "string"
    },
    "sort_dir": {
      "type": "string"
    }
  },
  "required": [
    "query"
  ],
  "type": "object"
}

Architecture comparison

The same evaluation spine, assembled for manufacturing ERP

Archipelago and FactoryBench share the central idea that an agent should act through tools in an isolated world and be graded from observable outcomes. FactoryBench adds endpoint-mapped enterprise APIs, heterogeneous evidence, task-level control checks, exact answer fields, and full public oracle replays.

Inspect Archipelago
LayerMercor ArchipelagoBlobfish FactoryBench-100
EnvironmentContainerized task environments with snapshot lifecyclePer-task SQLite snapshots for Oracle, Gmail, Drive, Sheets, and Slack state
Tool surfaceMCP gateway and environment serversOne tool per documented upstream API operation, with method/path/source pins
Agent runAgent runner records tool interactionHarness records every evidence read, ERP mutation, collaboration write, rejection, and submission
GradingBefore/after snapshot gradersTask-specific discoveries + calculations + alternatives + exact state + answer insights
DistributionOpen-source framework and role benchmarksGitHub world, Hugging Face rows, Harbor tasks, and website explorer

Replay the work

Trajectories

Inspect the pinned model trajectory and one valid oracle solution from every workflow family, including exact tool arguments, discoveries, calculations, outcomes, state evidence, and verifier artifacts.

Agentgpt-5.6-lunaHarbor 0.21.0 · codex 0.151.0
Score88.7%Strict criteria incomplete
Tool calls71Provider-native MCP trace
Run cost$0.0716,084 output tokens
73 events
  1. Employee request

    Sales needs a date for one pallet of Luma lamps. When can we honestly have it finished with today's schedule and stock, what is preventing an earlier run, and do expediting parts or adding a shift change the answer? Commit the best approved plan and prepare the launch-team update for review.

  2. 1
    Investigateoracle_fusion.work_orders.listok
    {
      "limit": 500,
      "onlyData": true,
      "totalResults": true
    }

    {"count": 4, "hasMore": false, "items": [{"ItemNumber": "LMP-BULB-12", "ItemRevision": "R9", "LastUpdateDate": "2025-12-18T16:20:00-08:00", "LastUpdatedBy": "FACTORY.PLANNER", "OrganizationCode": "SEA", "PlannedCompletionDate": "2026-01-13", "PlannedStartDate": "2026-01-12", "PlannedStartQuantity": 480, "SourceHeaderReference": "CASE-001", "WorkOrderDescription": "CASE-001: Commit one pallet of Luma lamps", "WorkOrderId": 800001, "WorkOrderNumber": "WO-0001", "WorkOrderStatusCode": "SUPERSEDED"}, {"ItemNumber": "LMP-BULB-12", "ItemRevision": "C", "LastUpdateDate": "2026-01-12T08:00:00-08:00",…

  3. 2
    Investigateoracle_fusion.work_order_operations.listerror
    {
      "limit": 1000,
      "onlyData": true,
      "totalResults": true
    }

    {"error": "arguments missing required properties: ['WorkOrderId']"}

  4. 3
    Investigateoracle_fusion.work_order_materials.listerror
    {
      "limit": 1000,
      "onlyData": true,
      "totalResults": true
    }

    {"error": "arguments missing required properties: ['WorkOrderId']"}

  5. 4
    Investigateoracle_fusion.work_order_resources.listerror
    {
      "limit": 1000,
      "onlyData": true,
      "totalResults": true
    }

    {"error": "arguments missing required properties: ['WorkOrderId']"}

  6. 5
    Investigateoracle_fusion.inventory_onhand_balances.listok
    {
      "limit": 1000,
      "onlyData": true,
      "totalResults": true
    }

    {"count": 4, "hasMore": false, "items": [{"AvailableToTransact": 360, "InventoryItemId": 2100001, "ItemNumber": "LMP-BULB-12", "ItemRevision": "R9", "LastUpdateDate": "2025-12-18T16:20:00-08:00", "LastUpdatedBy": "FACTORY.PLANNER", "Locator": "SEA.STORES.02", "LotNumber": "LOT-0001", "OrganizationCode": "SEA", "PrimaryQuantity": 420, "PrimaryUnitOfMeasure": "EA", "ReservedQuantity": 60, "SubinventoryCode": "STORES"}, {"AvailableToTransact": 360, "InventoryItemId": 1400001, "ItemNumber": "LMP-BULB-12", "ItemRevision": "C", "LastUpdateDate": "2026-01-12T08:00:00-08:00", "LastUpdatedBy": "FACTOR…

  7. 6
    Investigateoracle_fusion.sales_orders.listok
    {
      "limit": 500,
      "onlyData": true,
      "totalResults": true
    }

    {"count": 4, "hasMore": false, "items": [{"BusinessUnitName": "Northstar Manufacturing BU", "DemandStatusCode": "SCHEDULED", "HeaderId": 12000001, "LastUpdateDate": "2025-12-18T16:20:00-08:00", "LastUpdatedBy": "FACTORY.PLANNER", "OrderKey": "12000001-7", "OrderNumber": "SO-47001", "OrderedQuantity": 120, "RequestedShipDate": "2026-01-21", "SourceTransactionNumber": "CASE-001", "SourceTransactionSystem": "NORTHSTAR_OMS", "StatusCode": "SUPERSEDED"}, {"BusinessUnitName": "Northstar Manufacturing BU", "DemandStatusCode": "SCHEDULED", "HeaderId": 12000001, "LastUpdateDate": "2026-01-12T08:00:00-…

  8. 7
    Investigateoracle_fusion.purchase_orders.listok
    {
      "limit": 500,
      "onlyData": true,
      "totalResults": true
    }

    {"count": 0, "hasMore": false, "items": [], "limit": 500, "links": [], "offset": 0}

  9. 8
    Investigateoracle_fusion.supply_requests.listok
    {
      "limit": 500,
      "onlyData": true,
      "totalResults": true
    }

    {"count": 0, "hasMore": false, "items": [], "limit": 500, "links": [], "offset": 0}

  10. 9
    Investigateoracle_fusion.work_orders.getok
    {
      "WorkOrderId": 100001,
      "expand": "all",
      "onlyData": true
    }

    {"ItemNumber": "LMP-BULB-12", "ItemRevision": "C", "LastUpdateDate": "2026-01-12T08:00:00-08:00", "LastUpdatedBy": "FACTORY.PLANNER", "OrganizationCode": "SEA", "PlannedCompletionDate": "2026-01-13", "PlannedStartDate": "2026-01-12", "PlannedStartQuantity": 480, "SourceHeaderReference": "CASE-001", "WorkOrderDescription": "CASE-001: Commit one pallet of Luma lamps", "WorkOrderId": 100001, "WorkOrderNumber": "WO-0001", "WorkOrderStatusCode": "ORA_RELEASED"}

  11. 10
    Investigateoracle_fusion.work_order_operations.listok
    {
      "WorkOrderId": 100001,
      "limit": 100,
      "onlyData": true,
      "totalResults": true
    }

    {"count": 4, "hasMore": false, "items": [{"CompletedQuantity": 0, "DispatchStatus": "SUPERSEDED", "LastUpdateDate": "2025-12-18T16:20:00-08:00", "LastUpdatedBy": "FACTORY.PLANNER", "OperationName": "Controlled operation for CASE-001", "OperationSequenceNumber": 10, "PlannedCompletionDate": "2026-01-13", "PlannedStartDate": "2026-01-12", "RejectedQuantity": 0, "WorkCenterCode": "WC-2", "WorkOrderId": 800001, "WorkOrderOperationId": 200001}, {"CompletedQuantity": 0, "DispatchStatus": "READY", "LastUpdateDate": "2026-01-12T08:00:00-08:00", "LastUpdatedBy": "FACTORY.PLANNER", "OperationName": "Co…

  12. 11
    Investigateoracle_fusion.work_order_materials.listok
    {
      "WorkOrderId": 100001,
      "limit": 100,
      "onlyData": true,
      "totalResults": true
    }

    {"count": 4, "hasMore": false, "items": [{"IssuedQuantity": 0, "ItemNumber": "LMP-BULB-12", "ItemRevision": "R9", "LastUpdateDate": "2025-12-18T16:20:00-08:00", "LastUpdatedBy": "FACTORY.PLANNER", "MaterialSequenceNumber": 10, "OperationSequenceNumber": 10, "QuantityPerAssembly": 4, "RequiredQuantity": 480, "SupplySubinventory": "STORES", "WorkOrderId": 800001, "WorkOrderOperationId": 200001, "WorkOrderOperationMaterialId": 300001}, {"IssuedQuantity": 0, "ItemNumber": "LMP-BULB-12", "ItemRevision": "C", "LastUpdateDate": "2026-01-12T08:00:00-08:00", "LastUpdatedBy": "FACTORY.PLANNER", "Materi…

  13. 12
    Investigateoracle_fusion.work_order_resources.listok
    {
      "WorkOrderId": 100001,
      "limit": 100,
      "onlyData": true,
      "totalResults": true
    }

    {"count": 0, "hasMore": false, "items": [], "limit": 100, "links": [], "offset": 0}

  14. 13
    Investigateoracle_fusion.work_orders.geterror
    {
      "WorkOrderId": 900001,
      "expand": "all",
      "onlyData": true
    }

    {"error": "oracle_fusion.work_orders.get record not found for WorkOrderId=900001"}

  15. 14
    Investigateoracle_fusion.work_order_operations.listok
    {
      "WorkOrderId": 900001,
      "limit": 100,
      "onlyData": true,
      "totalResults": true
    }

    {"count": 4, "hasMore": false, "items": [{"CompletedQuantity": 0, "DispatchStatus": "SUPERSEDED", "LastUpdateDate": "2025-12-18T16:20:00-08:00", "LastUpdatedBy": "FACTORY.PLANNER", "OperationName": "Controlled operation for CASE-001", "OperationSequenceNumber": 10, "PlannedCompletionDate": "2026-01-13", "PlannedStartDate": "2026-01-12", "RejectedQuantity": 0, "WorkCenterCode": "WC-2", "WorkOrderId": 800001, "WorkOrderOperationId": 200001}, {"CompletedQuantity": 0, "DispatchStatus": "READY", "LastUpdateDate": "2026-01-12T08:00:00-08:00", "LastUpdatedBy": "FACTORY.PLANNER", "OperationName": "Co…

  16. 15
    Investigateoracle_fusion.work_order_materials.listok
    {
      "WorkOrderId": 900001,
      "limit": 100,
      "onlyData": true,
      "totalResults": true
    }

    {"count": 4, "hasMore": false, "items": [{"IssuedQuantity": 0, "ItemNumber": "LMP-BULB-12", "ItemRevision": "R9", "LastUpdateDate": "2025-12-18T16:20:00-08:00", "LastUpdatedBy": "FACTORY.PLANNER", "MaterialSequenceNumber": 10, "OperationSequenceNumber": 10, "QuantityPerAssembly": 4, "RequiredQuantity": 480, "SupplySubinventory": "STORES", "WorkOrderId": 800001, "WorkOrderOperationId": 200001, "WorkOrderOperationMaterialId": 300001}, {"IssuedQuantity": 0, "ItemNumber": "LMP-BULB-12", "ItemRevision": "C", "LastUpdateDate": "2026-01-12T08:00:00-08:00", "LastUpdatedBy": "FACTORY.PLANNER", "Materi…

  17. 16
    Investigateoracle_fusion.work_order_resources.listok
    {
      "WorkOrderId": 900001,
      "limit": 100,
      "onlyData": true,
      "totalResults": true
    }

    {"count": 0, "hasMore": false, "items": [], "limit": 100, "links": [], "offset": 0}

  18. 17
    Investigatefactorybench.context.getok
    {}

    {"evidence_index": [{"asset_id": "factorybench-001-decision", "kind": "spreadsheet_export", "media_type": "text/csv", "path": "approval-decision-log.csv", "sha256": "26b926b28952108480eb2cd642acb36fbb4966c166496517f031dfc18696fc00", "source": "google_sheets", "title": "Approval decision log"}, {"asset_id": "factorybench-001-authority-matrix", "kind": "authority_matrix", "media_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "path": "approvals/delegation-of-authority.xlsx", "sha256": "5b26673eafe52761c915de0f8a54826fa776d9b90d850e34bd1a328731c38330", "source": "goog…

  19. 18
    Investigateslack.search_messagesok
    {
      "count": 100,
      "page": 1,
      "query": "\"CASE-001\"",
      "sort": "timestamp",
      "sort_dir": "asc"
    }

    {"messages": {"matches": [{"channel": {"id": "C-PROCUREMENT"}, "text": "Account team needs one defensible decision for one pallet of Luma lamps by 2026-01-21; a faster or broader action has value only if it remains inside material readiness versus the protected assembly calendar.", "ts": "1768000001.000100", "user": "U-OPS-LEAD"}, {"channel": {"id": "C-PROCUREMENT"}, "text": "I found 480 EA on the header, but the workbook has separate observation and exclusion rows. Please do not net from this message.", "ts": "1768000001.000150", "user": "U-PLANNER"}, {"channel": {"id": "C-PROCUREMENT"}, "fi…

  20. 19
    Investigategoogle_drive.files.listok
    {
      "fields": "files(id,name,mimeType,modifiedTime,size,description,webViewLink),nextPageToken",
      "pageSize": 100,
      "q": "name contains 'CASE-001' and trashed = false"
    }

    {"files": [{"description": "CASE-001: Operating policy", "id": "drive-001-01", "mimeType": "text/markdown", "modifiedTime": "2026-01-12T09:00:00Z", "name": "operating-policy.md"}, {"description": "CASE-001: Business request and control", "id": "drive-001", "mimeType": "text/markdown", "modifiedTime": "2026-01-12T09:00:00Z", "name": "business-request-and-control.md"}, {"description": "CASE-001: Supplier readiness confirmation", "id": "drive-001-03", "mimeType": "application/pdf", "modifiedTime": "2026-01-12T09:00:00Z", "name": "supplier-confirmation.pdf"}, {"description": "CASE-001: Planning s…

  21. 20
    Investigategoogle_sheets.spreadsheets.getok
    {
      "includeGridData": false,
      "spreadsheetId": "sheet-001"
    }

    {"developerMetadata": [{"metadataKey": "case", "metadataValue": "CASE-001"}, {"metadataKey": "sourceRevision", "metadataValue": "C"}], "namedRanges": [{"name": "EligibleCoverage", "namedRangeId": "control-001"}, {"name": "DecisionApprovals", "namedRangeId": "approval-001"}, {"name": "DecisionAudit", "namedRangeId": "audit-001"}], "properties": {"title": "CASE-001 finite-capacity and coverage workbook"}, "sheets": [{"properties": {"sheetId": 0, "title": "Control"}}, {"properties": {"sheetId": 1, "title": "Approvals"}}, {"properties": {"sheetId": 2, "title": "Audit"}}], "spreadsheetId": "sheet-…

  22. 21
    Investigategmail.messages.listok
    {
      "maxResults": 100,
      "q": "\"CASE-001\"",
      "userId": "me"
    }

    {"messages": [{"id": "msg-001", "threadId": "thread-001"}, {"id": "msg-001-1", "threadId": "thread-001"}, {"id": "msg-001-2", "threadId": "thread-001"}, {"id": "msg-001-3", "threadId": "thread-001"}], "resultSizeEstimate": 4}

  23. 22
    Investigategoogle_sheets.spreadsheets.values.batchGetok
    {
      "majorDimension": "ROWS",
      "ranges": [
        "Control!A1:I50",
        "Audit!A1:G100"
      ],
      "spreadsheetId": "sheet-001",
      "valueRenderOption": "UNFORMATTED_VALUE"
    }

    {"spreadsheetId": "sheet-001", "valueRanges": [{"majorDimension": "ROWS", "range": "Control!A1:I50", "values": [["case", "source_row", "observed", "excluded", "unit", "source_revision", "organization", "control_status", "control_note"], ["CASE-001", "OBS-0001-1", 105, "", "EA", "C", "SEA", "OBSERVED_NOT_NETTED", "nettable LMP-BULB-12 units"], ["CASE-001", "OBS-0001-2", 105, "", "EA", "C", "SEA", "OBSERVED_NOT_NETTED", "nettable LMP-BULB-12 units"], ["CASE-001", "OBS-0001-3", 105, "", "EA", "C", "SEA", "OBSERVED_NOT_NETTED", "nettable LMP-BULB-12 units"], ["CASE-001", "OBS-0001-4", 105, "", "E…

  24. 23
    Investigategoogle_drive.files.downloadok
    {
      "fileId": "drive-001"
    }

    {"content": "# Business request and control — CASE-001\n\nSubject: one pallet of Luma lamps\nBusiness/control date: 2026-01-21\nRequester reference: NS-000001\nDecision boundary: material readiness versus the protected assembly calendar.\nEscalation boundary: add_weekend_shift requires a separate approval.\n\nThis record states the boundary only. It does not identify the recommended option or compute the supported outcome.\n", "description": "Business request and control", "id": "drive-001", "kind": "drive#file", "md5Checksum": "2bade8fa0dd928e2a447d2f8364bd34a96383a0b1ec4f2397ddda2f79d36ba9d…

Methodology

How the numbers are made

Each task has its own deterministic rubric for required discoveries, calculations, option analysis, approved state changes, exact answers, write containment, and valid tool use. The world remains synthetic, clean-room, and fully reproducible.

01

One metric, inspectable evidence

FactoryScore is the mean percentage of task-specific deterministic criterion weight passed. Discovery and final insights carry weight, calculations and the primary ERP decision carry more, and supporting collaboration writes and containment remain observable. Strict completion is supporting evidence, not a second metric.

02

The request does not reveal the recipe

Each prompt is a short employee request: decide the date, quantity, disposition, or commercial response and explain the constraint and alternatives. It contains no task ID, source list, filenames, answer schema, API names, or ordered steps. The agent must discover the case records and decide which evidence matters.

03

Facts are scattered, not preassembled

Each task mounts 28 retrievable, task-specific sources across Oracle resources, email, Drive, spreadsheets, Slack, vendor PDFs, specifications, inventory eligibility, finite-capacity slots, revisions, and approval limits. Current, superseded, other-case, and other-plant records must be correlated by immutable identity. No read returns an approved payload, operation name, or assembled answer. The clean-room company and all records are synthetic.

04

Qualification before publication

The release executes 1400 canonical trials: 100 reference workflows, 100 exact replays, and 1,200 adversarial runs across 12 controls. It also removes every reference mutation one at a time as a supplemental verifier test. Qualification passed: 100/100 oracle strict passes, 100/100 exact replay matches, and 1200/1,200 negative-control rejections.

05

Public inspirations and design boundary

Enterprise-Bench informed noisy multi-system task framing; ERP-Bench informed long-horizon manufacturing coverage; Mercor APEX informed the public task, asset, environment, and trajectory presentation. FactoryBench tasks, records, tools, and verifiers are independently authored and executable under this repository's licenses.

Qualification controls — excluded from the leaderboard
  • Reference oracle: 100.0% across 100 tasks — Measured solvability ceiling from replaying the checked-in reference workflow; not a model submission.
  • Shortcut control: 40.5% across 100 tasks — Measured control that submits a plausible answer and one late write without doing the investigation.
  • State-only control: 66.0% across 100 tasks — Measured control that reaches the reference provider state but omits the employee handoff.
  • Wrong-evidence control: 97.6% across 100 tasks — Measured control that substitutes a valid but stale or irrelevant source for one required current record.
  • Wrong-decision control: 94.0% across 100 tasks — Measured control that reaches the reference provider state but chooses a rejected operating alternative.

Run it yourself

The tasks, world, trajectories, and verifiers are public.

Use the live sandbox MCP, download the rows, rerun the Harbor tasks, and inspect the published model and oracle evidence call by call.