Oracle Integration Cloud (OIC) is Oracle's fully managed integration platform as a service (iPaaS) running on Oracle Cloud Infrastructure (OCI). It consolidates four capabilities into one service: application integration (orchestration + adapters), process automation (human workflows + forms), Visual Builder (low-code web/mobile apps), and integration analytics. OIC Gen 3, the current generation released in 2024, runs on a Kubernetes-native architecture that provides per-flow scalability and improved performance over Gen 2. [src1]
This card covers the OIC platform itself -- its capabilities, editions, adapters, pricing model, and integration patterns. For specific Oracle ERP Cloud REST API endpoints and rate limits, see the Oracle ERP Cloud REST API card. For FBDI file-based imports, see the Oracle ERP Cloud FBDI Import card.
| Property | Value |
|---|---|
| Vendor | Oracle |
| System | Oracle Integration Cloud (OIC) Gen 3 |
| Type | iPaaS (Integration Platform as a Service) |
| Current Version | 26.01 (January 2026) |
| Editions | Standard, Enterprise |
| Deployment | Cloud (OCI) |
| API Docs | Oracle Integration 3 Documentation |
| Status | GA |
OIC is not a single API -- it is an orchestration platform that connects systems through prebuilt adapters, visual flows, and multiple integration patterns. The "API surfaces" here are OIC's integration pattern types and the adapter categories it supports. [src1]
| Integration Pattern | Trigger | Best For | Volume Handling | Real-time? | Bulk? |
|---|---|---|---|---|---|
| App-Driven Orchestration | REST/SOAP endpoint call or adapter event | Real-time individual record sync, API-triggered workflows | Individual records or small batches | Yes | No |
| Scheduled Orchestration | Cron schedule | Batch/bulk data sync, ETL, file processing | High volume (thousands to millions of records) | No | Yes |
| File Transfer | Schedule or event | Secure file movement between FTP/SFTP endpoints | File-based (any size within limits) | No | Yes |
| Event Subscription | Oracle Cloud business event | Event-driven processing of ERP/HCM/CX changes | Per-event processing | Yes | No |
| Publish/Subscribe | Application event | Decoupled event routing between multiple consumers | Per-event, fan-out | Yes | No |
OIC provides 80+ prebuilt adapters across these categories: [src1, src6]
| Category | Key Adapters | Edition Required |
|---|---|---|
| Oracle SaaS | ERP Cloud, HCM Cloud, SCM Cloud, CX Cloud (Sales, Service, Marketing), NetSuite, EPM Cloud | Standard |
| Oracle Technology | Oracle Database, Oracle Autonomous DB, Oracle Object Storage | Standard |
| Third-Party SaaS | Salesforce, SAP (IDoc/BAPI), Workday, ServiceNow, Microsoft 365, Google Workspace, Shopify, Marketo, PayPal | Standard (SaaS), Enterprise (on-prem SAP) |
| On-Premise Oracle | E-Business Suite, JD Edwards, Siebel, PeopleSoft | Enterprise only |
| Technology | REST, SOAP, FTP/SFTP, File, Email, Kafka, JMS, LDAP, MSMQ | Standard |
| Database | Oracle DB, MySQL, Microsoft SQL Server, PostgreSQL | Standard |
| AI / Modern | OpenSearch (vector search/RAG), Google Sheets, Rapid Adapter Builder (custom) | Standard |
| Limit Type | Standard License | BYOL License | Notes |
|---|---|---|---|
| Messages per hour per pack | 5,000 | 20,000 | Billed per hour whether messages flow or not |
| Max message packs | 12 | 3 | Both cap at 60K msgs/hr total |
| Max messages per hour (total) | 60,000 | 60,000 | Scale by adding packs |
| Message size threshold | 50 KB | 50 KB | Messages >50KB count as multiple (size / 50KB, rounded up) |
| Limit Type | Value | Scope | Notes |
|---|---|---|---|
| Concurrent sync requests per pack | 100 | Per message pack | Scales linearly with packs |
| Max concurrent sync requests | 2,000 | Per instance | Hard ceiling regardless of packs |
| File Server concurrent connections | 50 | Per service instance | Fixed, not scalable with packs |
| Active integrations (Gen 3) | 800 | Per instance | Raised from 700 in 2025 |
| Limit Type | Value | Notes |
|---|---|---|
| Integrations per project | 100 | Up from earlier 70 limit |
| Project deployments | 50 | Per project |
| Connections per project | 20 | Project-scoped only |
| Lookups per project | 20 | Project-scoped only |
| JavaScript libraries per project | 20 | Project-scoped only |
[src3]
| Flow | Use When | Supported In | Notes |
|---|---|---|---|
| OAuth 2.0 (Client Credentials) | Server-to-server automation, CI/CD pipelines | Gen 3 only | Recommended for all new integrations |
| OAuth 2.0 (Authorization Code) | User-context operations, Visual Builder apps | Gen 2 + Gen 3 | Requires callback URL registration |
| OAuth 2.0 (Resource Owner) | Legacy migration scenarios | Gen 3 | Not recommended for new development |
| Basic Authentication | N/A | Gen 2 only (deprecated) | Removed in Gen 3 -- all APIs require OAuth |
| IDCS/OCI IAM Tokens | OCI API calls, cross-service auth | Gen 3 | Required for connectivity agent |
START -- User needs to integrate using Oracle Integration Cloud
|-- What integration pattern?
| |-- Real-time (individual records, <1s latency)
| | |-- Source is Oracle SaaS (ERP/HCM/SCM/CX)?
| | | |-- YES --> App-Driven Orchestration with native adapter + business events
| | | +-- NO --> App-Driven Orchestration with REST/SOAP adapter
| | +-- Need to react to changes in Oracle Cloud?
| | |-- YES --> Event Subscription (Business Events) for ERP/HCM/CX
| | +-- NO --> App-Driven Orchestration triggered by REST endpoint
| |-- Batch/Bulk (scheduled, high volume)
| | |-- File-based data (CSV/XML)?
| | | |-- YES --> Scheduled Orchestration + FTP adapter + File adapter
| | | +-- NO --> Scheduled Orchestration + SaaS/DB adapter with pagination
| | +-- Need FBDI import to Oracle ERP Cloud?
| | |-- YES --> Scheduled Orchestration + ERP Cloud adapter (FBDI pattern)
| | +-- NO --> Scheduled Orchestration + target system adapter
| |-- Event-driven (push notifications)
| | |-- Oracle SaaS source?
| | | |-- YES --> Business Events subscription via native adapter
| | | +-- NO --> REST webhook receiver via App-Driven Orchestration
| | +-- Multiple consumers need same event?
| | |-- YES --> Publish/Subscribe pattern (if supported in your project type)
| | +-- NO --> Direct Event Subscription
| +-- File transfer (move files between systems)
| +-- Use Scheduled File Transfer (FTP/SFTP) or File adapter
|-- Which edition do you need?
| |-- On-premise targets (EBS, JDE, Siebel, SAP) --> Enterprise
| |-- Process Automation (human workflows, forms) --> Enterprise
| |-- SaaS-to-SaaS and technology only --> Standard
+-- How many message packs?
|-- Calculate: peak messages per hour / 5,000 (standard) or / 20,000 (BYOL)
|-- Add headroom: 20-30% buffer for burst traffic
+-- Remember: billed per hour even when idle
| Capability | Standard | Enterprise |
|---|---|---|
| SaaS application adapters | Yes | Yes |
| Technology adapters (REST, SOAP, FTP, DB) | Yes | Yes |
| Oracle SaaS adapters (ERP, HCM, SCM, CX) | Yes | Yes |
| Scheduled file transfer | Yes | Yes |
| Visual Builder (VBCS) | Yes | Yes |
| Integration analytics | Yes | Yes |
| On-premise application adapters | No | Yes |
| Process Automation | No | Yes |
| B2B/EDI capabilities | No | Yes |
| E-Business Suite adapter | No | Yes |
| JD Edwards adapter | No | Yes |
| Siebel adapter | No | Yes |
| SAP adapter (IDoc/BAPI) | No | Yes |
[src4]
| Feature | Gen 2 | Gen 3 |
|---|---|---|
| Architecture | Shared infrastructure | Kubernetes-native, per-flow scaling |
| UI | Classic Oracle | Redwood design system |
| Authentication | Basic auth + OAuth | OAuth only (basic auth removed) |
| Organization | Packages | Projects (RBAC, unified workspace) |
| Max active integrations | 700 | 800 |
| Parallel processing | Not supported | Parallel action (multiple endpoints simultaneously) |
| AI capabilities | Not available | AI Agents in Projects (26.01+) |
| Human-in-the-Loop | Not available | HITL approval orchestration (26.01+) |
| Rapid Adapter Builder | Not available | Custom adapter creation with visual UI |
| Connectivity agent | Basic auth | OAuth-based authentication |
| Activity data migration | N/A | NOT migrated from Gen 2 |
Choose your edition (Standard vs Enterprise) based on whether you need on-premise adapters or Process Automation. Select message packs based on expected throughput. [src5]
# OCI CLI: Create OIC Gen 3 instance (Enterprise, 2 message packs)
oci integration integration-instance create \
--compartment-id $COMPARTMENT_ID \
--display-name "production-oic" \
--integration-instance-type "ENTERPRISE" \
--is-byol false \
--message-packs 2 \
--idcs-at $IDCS_ACCESS_TOKEN
Verify: Check instance status in OCI Console > Integration > Instances -- expected: ACTIVE
Create connections for each system you need to integrate. OIC uses a connection-per-system model. [src1]
# REST API: List available adapters to verify your edition supports what you need
curl -X GET "https://<oic-host>/ic/api/integration/v1/adapters" \
-H "Authorization: Bearer $OAUTH_TOKEN" \
-H "Accept: application/json"
Verify: Adapter list includes your target system adapter (e.g., oracle/erp-cloud, salesforce, sap)
Use the OIC Designer (visual, browser-based) to create an integration. Choose the pattern: App-Driven for real-time, Scheduled for batch. [src1]
# REST API: Export an integration for version control
curl -X GET "https://<oic-host>/ic/api/integration/v1/integrations/<integration-id>/archive" \
-H "Authorization: Bearer $OAUTH_TOKEN" \
-o integration_export.iar
Verify: .iar file downloaded successfully (this is OIC's integration archive format)
Deploy the integration to make it live. For Scheduled integrations, define the cron schedule. [src1]
# REST API: Activate an integration
curl -X POST "https://<oic-host>/ic/api/integration/v1/integrations/<integration-id>/activate" \
-H "Authorization: Bearer $OAUTH_TOKEN" \
-H "Content-Type: application/json" \
-d '{"status": "ACTIVATED"}'
Verify: Integration status = ACTIVATED in OIC console > Integrations
Track your message pack usage to avoid overage and plan scaling. [src4]
# REST API: Check integration monitoring metrics
curl -X GET "https://<oic-host>/ic/api/integration/v1/monitoring/integrations" \
-H "Authorization: Bearer $OAUTH_TOKEN" \
-H "Accept: application/json"
Verify: billableMessageCount in response matches expected volume
# Input: OIC endpoint URL, OAuth credentials, payload
# Output: Integration execution result
import requests
# Step 1: Get OAuth token from IDCS/OCI IAM
token_url = "https://<idcs-host>/oauth2/v1/token"
token_resp = requests.post(token_url, data={
"grant_type": "client_credentials",
"scope": "https://<oic-host>:443urn:opc:resource:consumer::all"
}, auth=("CLIENT_ID", "CLIENT_SECRET"))
access_token = token_resp.json()["access_token"]
# Step 2: Call the OIC integration endpoint
oic_url = "https://<oic-host>/ic/api/integration/v1/flows/rest/<INTEGRATION>/<VERSION>/<RESOURCE>"
headers = {
"Authorization": f"Bearer {access_token}",
"Content-Type": "application/json"
}
payload = {
"customerName": "Acme Corp",
"orderAmount": 15000.00,
"currency": "USD"
}
response = requests.post(oic_url, json=payload, headers=headers)
print(f"Status: {response.status_code}")
print(f"Response: {response.json()}")
# Input: OIC host URL, OAuth bearer token
# Output: Integration list (JSON)
# List all integrations
curl -X GET "https://<oic-host>/ic/api/integration/v1/integrations" \
-H "Authorization: Bearer $OAUTH_TOKEN" \
-H "Accept: application/json" | jq '.items[] | {name: .name, status: .status}'
# Check message pack usage (monitoring)
curl -X GET "https://<oic-host>/ic/api/integration/v1/monitoring/dashboards/MESSAGES" \
-H "Authorization: Bearer $OAUTH_TOKEN" \
-H "Accept: application/json"
| Source Type | OIC Internal Type | Target Considerations | Gotcha |
|---|---|---|---|
| Oracle ERP Cloud Date | xs:dateTime (UTC) | Convert to target timezone | ERP Cloud always returns UTC; OIC does not auto-convert |
| Salesforce Number(18,0) | xs:decimal | Check target field precision | Precision loss possible when mapping to float types |
| SAP DATS (YYYYMMDD) | xs:string | Parse to xs:date in OIC mapper | SAP date format is string, not a date type |
| NetSuite Currency | xs:double | Convert currency if multi-currency enabled | Exchange rate timing affects amount accuracy |
| REST API null | Empty string or omitted | Handle null vs empty differently | Some adapters serialize null as "", others omit the field |
| Code | Meaning | Cause | Resolution |
|---|---|---|---|
| HTTP 429 | Too Many Requests | OIC or target system rate limit exceeded | Implement exponential backoff; check message pack concurrency limits |
| ORA-00001 | Unique constraint violation | Duplicate record insertion via DB adapter | Implement upsert logic or pre-check for existence |
| OICERR-100 | Connection timeout | Target system unreachable or slow response | Check connectivity agent status; increase timeout in connection config |
| OICERR-200 | Authentication failure | Expired OAuth token or misconfigured credentials | Refresh token; verify IDCS client ID/secret; check for Gen 2-to-3 auth migration issues |
| OICERR-300 | Message size exceeded | Payload exceeds 50 KB single-message threshold | Split payload or accept multi-message billing; consider Bulk/File pattern |
| 500 (target) | Target system internal error | Downstream failure in ERP/SaaS | Implement retry with exponential backoff; log payload for replay |
Use OCI resource scheduler to stop/start instances during off-hours, or right-size packs. [src4, src5]Inventory all connections using basic auth before migration; pre-configure OAuth credentials in parallel environment. [src7]Monitor project usage via OIC console; plan multi-project architecture for large implementations (>50 integrations). [src3]Design idempotent integrations that handle duplicate runs; use watermark timestamps instead of "run since last execution" patterns. [src1]Serialize file operations; implement connection pooling with retry; consider separate FTP endpoints per integration. [src6]// BAD -- provisioning multiple OIC instances for "isolation"
// Instance 1 (1 pack): Salesforce integrations
// Instance 2 (1 pack): SAP integrations
// Instance 3 (1 pack): HCM integrations
// Result: 3x billing cost, no shared connections, maintenance nightmare
// GOOD -- single OIC instance with Gen 3 Projects for logical separation
// Project 1: Salesforce integrations (RBAC: Salesforce team)
// Project 2: SAP integrations (RBAC: SAP team)
// Project 3: HCM integrations (RBAC: HR IT team)
// Result: shared message packs, lower cost, centralized monitoring
// BAD -- polling every 5 minutes for new invoices
// Uses up message pack allocation on empty polls
// Scheduled Orchestration: "Get invoices where lastUpdateDate > lastRunTime"
// If 280 runs/day return 0 results, you've burned 280+ messages for nothing
// GOOD -- subscribe to Oracle ERP Cloud business events
// Zero messages consumed when no changes occur
// Event Subscription: "oracle.apps.financials.payables.invoices.invoiceCreated"
// Messages only consumed when actual invoices are created
<!-- BAD -- endpoint URL embedded in XSLT or integration logic -->
<assign>
<copy>
<from>"https://production-erp.oracle.com/fscmRestApi/resources/v1/invoices"</from>
<to>$endpoint</to>
</copy>
</assign>
// GOOD -- use OIC connection abstraction
// Connection "Oracle_ERP_Production" -> endpoint configured in connection, not flow
// Same integration .iar file deploys to dev/test/prod by swapping connections
// Use Lookups or configuration integrations for environment-specific values
Audit all target systems before provisioning -- if any are on-premise, you need Enterprise. [src4]Start with 1-2 packs, monitor actual consumption for 30 days, then right-size. OIC allows pack count changes without re-provisioning. [src4, src5]Plan a multi-project architecture early. Group by business domain (Finance, HR, Supply Chain) with max 50-70 integrations per project to leave headroom. [src3]Start Gen 3 migration planning now. Export all integration .iar files, document all connections and their auth methods, and test in a Gen 3 sandbox. [src7]Use OIC for orchestration and transformation; use Oracle Streaming or Kafka for high-throughput event streaming. [src1]Load-test with production-equivalent data volumes through the connectivity agent before go-live. [src6]# Check OIC instance status and configuration
curl -X GET "https://<oic-host>/ic/api/integration/v1/monitoring/health" \
-H "Authorization: Bearer $OAUTH_TOKEN"
# List all active integrations and their status
curl -X GET "https://<oic-host>/ic/api/integration/v1/integrations?status=ACTIVATED" \
-H "Authorization: Bearer $OAUTH_TOKEN" | jq '.items | length'
# Check message pack consumption (current billing period)
curl -X GET "https://<oic-host>/ic/api/integration/v1/monitoring/dashboards/MESSAGES" \
-H "Authorization: Bearer $OAUTH_TOKEN"
# Monitor failed integration instances (last 24h)
curl -X GET "https://<oic-host>/ic/api/integration/v1/monitoring/integrations?status=FAILED&timeWindow=LAST_24_HOURS" \
-H "Authorization: Bearer $OAUTH_TOKEN"
# Verify connectivity agent status (for on-premise integrations)
curl -X GET "https://<oic-host>/ic/api/integration/v1/agents" \
-H "Authorization: Bearer $OAUTH_TOKEN" | jq '.items[] | {name: .name, status: .agentStatus}'
# Export integration for backup/version control
curl -X GET "https://<oic-host>/ic/api/integration/v1/integrations/<INTEGRATION_ID>|<VERSION>/archive" \
-H "Authorization: Bearer $OAUTH_TOKEN" -o backup.iar
| Version | Release Date | Status | Key Changes | Migration Notes |
|---|---|---|---|---|
| 26.01 | 2026-01 | Current | AI Agents in Projects, Human-in-the-Loop (HITL), OpenSearch adapter, NetSuite REST adapter, Google Sheets adapter | No breaking changes from 25.x Gen 3 |
| Gen 3 (initial) | 2024 | Current | Kubernetes-native, Projects, RBAC, Redwood UI, parallel flow, Rapid Adapter Builder | Major migration from Gen 2: OAuth required, basic auth removed, connectivity agent reinstall |
| Gen 2 | 2019 | Maintenance | Packages, basic auth support, 700 active integrations | Being phased out; plan migration to Gen 3 |
| Gen 1 (Classic) | 2016 | EOL | Original OIC on classic infrastructure | No longer supported; migrate immediately |
Oracle Integration follows Oracle's standard cloud service lifecycle. Gen 2 instances are in maintenance mode with no new features. Oracle has not announced a hard EOL date for Gen 2 but is actively encouraging migration to Gen 3. All new features (Projects, AI Agents, HITL, new adapters) are Gen 3 exclusive. [src2, src7]
| Use When | Don't Use When | Use Instead |
|---|---|---|
| Integrating Oracle SaaS (ERP, HCM, SCM, CX) with each other or third-party systems | You need sub-10ms latency for high-frequency trading or IoT streaming | Oracle Streaming Service, Apache Kafka |
| You need a visual, low-code integration designer for citizen integrators | You need custom middleware with complex routing rules (content-based, XPath) | Oracle SOA Suite (on-premise) or MuleSoft |
| Your organization is standardized on Oracle Cloud Infrastructure (OCI) | Your stack is entirely AWS/Azure with no Oracle systems | AWS Step Functions + EventBridge, Azure Logic Apps |
| You need prebuilt recipes for common Oracle-to-Oracle flows | You need to process >100K events/second with guaranteed ordering | Oracle Streaming, Kafka, Pulsar |
| You want a single platform for integration + process automation + Visual Builder | You only need simple point-to-point API calls with no transformation | Direct REST calls, no iPaaS needed |
| You need to connect on-premise Oracle systems (EBS, JDE, Siebel) to cloud (Enterprise edition) | Your budget is <$1K/month for integration | Open-source alternatives (Apache Camel, n8n) |
| Capability | Oracle OIC | SAP Integration Suite | MuleSoft Anypoint | Dell Boomi |
|---|---|---|---|---|
| Deployment | Cloud only (OCI) | Cloud (BTP) | Cloud + Hybrid | Cloud + Hybrid |
| Pricing model | Message packs (per hour) | API calls + Integration Advisor credits | vCores (capacity-based) | Connections + flows |
| Native ERP adapters | Oracle ERP/HCM/SCM/CX | SAP S/4HANA, ECC, SuccessFactors | Broad (no native ERP preference) | Broad (no native ERP preference) |
| On-premise support | Connectivity Agent (Enterprise) | Cloud Connector | Mule Runtime (on-prem) | Atom (on-prem) |
| Low-code builder | Visual Builder (VBCS) | Build Apps (BAS) | Composer | Flow (limited) |
| Process Automation | Yes (Enterprise) | Workflow Management | N/A (separate product) | Flow |
| AI capabilities | AI Agents, HITL (26.01+) | AI-assisted mapping | AI-assisted mapping | AI-suggested mappings |
| Best for | Oracle-centric ecosystems | SAP-centric ecosystems | Multi-vendor, API-led | SMB, rapid deployment |