> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreflux.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Oracle Fusion Cloud ERP and SCM

> Client-mode REST API connector for a curated Oracle Fusion Cloud SCM slice: manufacturing workOrders, operationTransactions (completion), inventoryOnhandBalances, and maintenanceWorkOrders

Technical Preview

## Overview

A client-mode connector for a **curated manufacturing, inventory, and maintenance** slice of [Oracle Fusion Cloud SCM REST APIs](https://docs.oracle.com/en/cloud/saas/supply-chain-and-manufacturing/26b/fasrp/index.html) under `/fscmRestApi/resources/latest` (or a fixed version such as `11.13.18.05`):

| Catalog connector event | Entity / path | Notes |
| - | - | - |
| GET workOrders | `workOrders` | Manufacturing work orders |
| POST workOrderOperationTransactions (completion) | `operationTransactions` | Official resource name; dispatch-state / completion |
| GET inventoryOnhandBalances | `inventoryOnhandBalances` | On-hand by org / subinventory / locator |
| POST maintenanceWorkOrders | `maintenanceWorkOrders` | Create maintenance work orders |

`BASE_ADDRESS` is the Fusion SCM resources root (`https://{server}.fa.{region}.oraclecloud.com/fscmRestApi/resources/latest`). Topics use `erp/oracle-fusion-erp/<object>/<verb>`.

> [!NOTE]
>
> Fusion REST APIs require a real tenant and either Basic credentials or an OAuth / JWT Bearer token. This template has not been verified against a live tenant. Prefer Hub secrets for passwords and tokens. Append `/describe?metadata-format=openapi` on a resource to pull tenant OpenAPI.

## Basic Syntax

```lot wrap theme={"theme":"css-variables","languages":{"custom":["/languages/lot.json"]}}
# Coreflux REST_API template — Oracle Fusion Cloud ERP and SCM (curated MFG / inventory / maintenance slice)
# Auth: Bearer {value.json.access_token} OR Basic WITH USERNAME / WITH PASSWORD GET SECRET
# BASE_ADDRESS: https://YOUR_SERVER.fa.YOUR_REGION.oraclecloud.com/fscmRestApi/resources/latest

DEFINE ROUTE OracleFusionErpRestApi WITH TYPE REST_API
    ADD REST_API_CONFIG
        WITH BASE_ADDRESS "https://YOUR_SERVER.fa.YOUR_REGION.oraclecloud.com/fscmRestApi/resources/latest"
        WITH ENABLE_CLIENT "true"
        WITH USE_SSL "true"
        WITH REQUEST_TIMEOUT '60'
        WITH DEFAULT_CONTENT_TYPE "application/json"
    ADD EVENT Getworkorders
        WITH SOURCE_TOPIC "erp/oracle-fusion-erp/work-orders/get"
        WITH DESTINATION_TOPIC "erp/oracle-fusion-erp/work-orders/get/response"
        WITH METHOD "GET"
        WITH ENDPOINT "/workOrders?limit={value.json.limit}&onlyData=true&fields=WorkOrderId,WorkOrderNumber,OrganizationCode,WorkOrderStatusCode,ItemNumber,PlannedStartQuantity,PlannedStartDate"
        WITH HEADERS
            ADD "Accept" "application/json"
            ADD "Content-Type" "application/vnd.oracle.adf.resourceitem+json"
            ADD "REST-Framework-Version" "4"
            ADD "Authorization" "Bearer {value.json.access_token}"
    ADD EVENT Createworkorderoperationtransaction
        WITH SOURCE_TOPIC "erp/oracle-fusion-erp/operation-transactions/create"
        WITH DESTINATION_TOPIC "erp/oracle-fusion-erp/operation-transactions/create/response"
        WITH METHOD "POST"
        WITH ENDPOINT "/operationTransactions"
        WITH HEADERS
            ADD "Accept" "application/json"
            ADD "Content-Type" "application/vnd.oracle.adf.resourceitem+json"
            ADD "REST-Framework-Version" "4"
            ADD "Authorization" "Bearer {value.json.access_token}"
        WITH BODY "{payload}"
    ADD EVENT Getinventoryonhandbalances
        WITH SOURCE_TOPIC "erp/oracle-fusion-erp/inventory-onhand/get"
        WITH DESTINATION_TOPIC "erp/oracle-fusion-erp/inventory-onhand/get/response"
        WITH METHOD "GET"
        WITH ENDPOINT "/inventoryOnhandBalances?limit={value.json.limit}&onlyData=true&fields=OrganizationCode,ItemNumber,SubinventoryCode,PrimaryQuantity"
        WITH HEADERS
            ADD "Accept" "application/json"
            ADD "Content-Type" "application/vnd.oracle.adf.resourceitem+json"
            ADD "REST-Framework-Version" "4"
            ADD "Authorization" "Bearer {value.json.access_token}"
    ADD EVENT Createmaintenanceworkorder
        WITH SOURCE_TOPIC "erp/oracle-fusion-erp/maintenance-work-orders/create"
        WITH DESTINATION_TOPIC "erp/oracle-fusion-erp/maintenance-work-orders/create/response"
        WITH METHOD "POST"
        WITH ENDPOINT "/maintenanceWorkOrders"
        WITH HEADERS
            ADD "Accept" "application/json"
            ADD "Content-Type" "application/vnd.oracle.adf.resourceitem+json"
            ADD "REST-Framework-Version" "4"
            ADD "Authorization" "Bearer {value.json.access_token}"
        WITH BODY "{payload}"

```

## Events

| Event | Method | Endpoint | Request topic | Response topic |
| - | - | - | - | - |
| Getworkorders | GET | `/workOrders` | `erp/oracle-fusion-erp/work-orders/get` | `erp/oracle-fusion-erp/work-orders/get/response` |
| Createworkorderoperationtransaction | POST | `/operationTransactions` | `erp/oracle-fusion-erp/operation-transactions/create` | `erp/oracle-fusion-erp/operation-transactions/create/response` |
| Getinventoryonhandbalances | GET | `/inventoryOnhandBalances` | `erp/oracle-fusion-erp/inventory-onhand/get` | `erp/oracle-fusion-erp/inventory-onhand/get/response` |
| Createmaintenanceworkorder | POST | `/maintenanceWorkOrders` | `erp/oracle-fusion-erp/maintenance-work-orders/create` | `erp/oracle-fusion-erp/maintenance-work-orders/create/response` |

## Auth

**Option A — OAuth / JWT Bearer (default in the template):**

Pass the access token on the MQTT request payload:

```json theme={"theme":"css-variables","languages":{"custom":["/languages/lot.json"]}}
{"access_token": "YOUR_FUSION_ACCESS_TOKEN", "limit": 10}
```

The connector sends `Authorization: Bearer {value.json.access_token}`. Obtain the token via OCI IAM JWT user assertion for Fusion Applications, or Fusion's token-relay endpoint after SSO.

**Option B — Basic over SSL:**

In `REST_API_CONFIG`, uncomment:

```lot theme={"theme":"css-variables","languages":{"custom":["/languages/lot.json"]}}
WITH USERNAME "YOUR_FUSION_USER"
WITH PASSWORD GET SECRET "ORACLE_FUSION_PASSWORD"
```

Prefer Hub secrets / `GET SECRET`. Never commit real passwords or tokens.

## Example requests

### List manufacturing work orders

Publish to `erp/oracle-fusion-erp/work-orders/get`:

```json theme={"theme":"css-variables","languages":{"custom":["/languages/lot.json"]}}
{"access_token": "YOUR_FUSION_ACCESS_TOKEN", "limit": 10}
```

### Report operation completion

Publish to `erp/oracle-fusion-erp/operation-transactions/create` with a body shaped from your tenant `/operationTransactions/describe`. Minimal illustrative shape:

```json theme={"theme":"css-variables","languages":{"custom":["/languages/lot.json"]}}
{
  "access_token": "YOUR_FUSION_ACCESS_TOKEN",
  "payload": {
    "SourceSystemCode": "EXTERNAL",
    "OperationTransactionDetail": [
      {
        "SourceSystemCode": "EXTERNAL",
        "OrganizationCode": "M1",
        "WorkOrderNumber": "WO-PLACEHOLDER",
        "WoOperationSequenceNumber": 10,
        "FromDispatchState": "READY",
        "ToDispatchState": "COMPLETE",
        "TransactionDate": "2026-10-03T12:00:00+00:00",
        "TransactionQuantity": 1
      }
    ]
  }
}
```

### Inventory on-hand

Publish to `erp/oracle-fusion-erp/inventory-onhand/get`:

```json theme={"theme":"css-variables","languages":{"custom":["/languages/lot.json"]}}
{"access_token": "YOUR_FUSION_ACCESS_TOKEN", "limit": 25}
```

### Create maintenance work order

Publish to `erp/oracle-fusion-erp/maintenance-work-orders/create` with a body from `/maintenanceWorkOrders/describe`.

## Configuration notes

| Setting | Value |
| - | - |
| `BASE_ADDRESS` | `https://{server}.fa.{region}.oraclecloud.com/fscmRestApi/resources/latest` |
| SSL | Required (`USE_SSL true`) |
| Content-Type | `application/vnd.oracle.adf.resourceitem+json` (ADF REST) |
| Version alias | `latest` or fixed `11.13.18.05` |
| Status | Technical preview — blocked until live tenant smoke |

## Related

* [REST API Connectors](/latest/lot-language/routes/rest-api-routes)
* [REST API Apps catalog](/latest/lot-language/routes/rest-api-apps)
* [Oracle Fusion Cloud SCM REST API](https://docs.oracle.com/en/cloud/saas/supply-chain-and-manufacturing/26b/fasrp/index.html)
* [Applications Common Quick Start (auth)](https://docs.oracle.com/en/cloud/saas/applications-common/26c/farca/Quick_Start.html)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.