Dayalan Punniyamoorthy Blog

Sunday, May 31, 2026

Updates to the GET Job Status REST API!

The Oracle Fusion Cloud EPM April 2026 (26.04) release delivers a significant enhancement to one of the most frequently used REST APIs in the EPM automation ecosystem — the GET Job Status REST API. This API, which serves as the backbone for monitoring Data Integration job execution, has been enhanced to return more granular job status details, providing administrators and developers with deeper visibility into job processing states.

This enhancement directly addresses a long-standing need in enterprise EPM environments where understanding why a job failed — not just that it failed — is critical for maintaining efficient financial close processes, automated data pipelines, and integration workflows.

 

What is the GET Job Status REST API?

The Retrieve Job Status REST API is a core Data Integration API that allows you to poll the EPM Cloud environment to get the processing state for a job with a specified ID. It is essential for any automation workflow that needs to monitor whether a triggered integration, data load, or export has completed successfully.

REST Endpoint

GET /aif/rest/{api_version}/jobs/{jobIdentifier}

  • API Version: The current REST API version for Data Integration must be V1
  • Required Roles: Service Administrator, Power User
  • Media Type: application/json

 

What Changed in April 2026 (26.04)?

Prior to this update, the GET Job Status API returned basic status information — a numeric code and a high-level descriptor. While functional, this limited the ability of automated workflows to diagnose failures programmatically or make intelligent retry decisions.

With the April 2026 enhancement, the API now returns more granular job status details, enabling:

 

Richer error diagnostics — More detailed information about why a job failed

  • Improved troubleshooting — Administrators can pinpoint issues without navigating the UI
  • Smarter automation — Scripts and pipelines can make better decisions based on detailed status responses
  • Enhanced audit trails — More comprehensive logging for compliance and governance

 

API Response Parameters

The following table details the response parameters returned by the GET Job Status API: 

Parameter

Description

Example

status

Numeric status code of the job

0

details

Details about the job status

"SUCCESS"

jobId

The unique ID of the job

1881

jobName

The name of the job

BESSAPP

jobStatus

The descriptive status of the job

SUCCESS

descriptiveStatus

Human-readable status

Completed or Error

logFileName

Path to the job log file

outbox/logs/BESSAPP-DB_1881.log

outputFileName

Path to the output file

outbox/BESSAPPJan-06.csv

processType

Type of process executed

EXPORT_MAPPING

executedBy

User who executed the job

admin

 

Job Status Codes

The API uses the following numeric status codes to indicate the state of a job:

 

Status Code

Description

-1

In Progress

0

Success

1

Error

2

Cancel Pending

3

Cancelled

4

Invalid Parameter

Integer.MAX_VALUE

Unknown

 

Example: API Response

The following is an example of the JSON response body when member mappings are exported successfully:

JSON

{
  "links": [0],
  "status": "0",
  "details": "null",
  "jobId": "1881",
  "jobStatus": "SUCCESS",
  "logFileName": "outbox/logs/BESSAPP-DB_1881.log",
  "outputFileName": "outbox/BESSAPPJan-06.csv",
  "processType": "EXPORT_MAPPING",
  "executedBy": "admin"

How It Fits into Automation Workflows

The Submit → Poll → Collect pattern is the foundation of most EPM automation workflows. Here's how the enhanced GET Job Status API fits into this pattern:

Step 1: Submit the Job (POST)

Trigger a Data Integration job using the POST method:

POST /aif/rest/V1/jobs

Content-Type: application/json

 

{

  "jobType": "INTEGRATION",

  "jobName": "GL_DATA_LOAD",

  "importMode": "Replace",

  "exportMode": "Merge",

  "fileName": "inbox/gl_data.csv"

}

The response returns a jobId and a link/href for status tracking.

 

Step 2: Poll for Status (GET) — Enhanced in 26.04

Use the enhanced GET Job Status API to monitor execution:

GET /aif/rest/V1/jobs/{jobId}

Poll at regular intervals until the status moves from -1 (In Progress) to a terminal state (0 = Success, 1 = Error, 3 = Cancelled).

With the 26.04 enhancement, the response now provides more granular details about the processing state, enabling your automation scripts to:

  • Log detailed error information for failed jobs
  • Trigger conditional retry logic based on specific failure reasons
  • Send targeted notifications with actionable error details
  • Generate comprehensive audit reports with job execution context

Step 3: Collect Results

On success, retrieve output files or logs from the paths returned in the response (logFileName, outputFileName).

 

Practical Use Cases

1. PowerShell / EPM Automate Automation Scripts

If you are running automation scripts (like the FCCS automation scripts many organizations maintain), the enhanced status details allow your scripts to:

  • Differentiate between a mapping error vs. a connectivity error
  • Include specific failure reasons in email notifications
  • Make intelligent decisions about whether to retry or escalate

 

2. Groovy Rules with REST API Calls

Groovy business rules that trigger integrations via REST can now leverage the enhanced status details for more robust error handling:

// Poll with enhanced status details
while (status == IN_PROGRESS && retries < maxRetries) {
    status = getJobStatus(connectionName, jobId)
    // Now includes granular details for better error handling
    sleep(delay)


3. DevOps and CI/CD Pipelines

For organizations integrating EPM into DevOps pipelines, the enhanced API enables:

  • More precise pipeline stage gates based on detailed job outcomes
  • Better error categorization for automated incident creation
  • Richer telemetry for monitoring dashboards

 

Authentication Requirements

The GET Job Status API supports the following authentication methods:

 

Method

Description

Basic Authentication

Base64-encoded identitydomain.username:password

OAuth 2.0 (Recommended)

Token-based authentication with access token and refresh token

 

For environments with MFA enabled, OAuth 2.0 is required.

 

Conclusion

The Updates to the GET Job Status REST API in Oracle EPM Cloud April 2026 (26.04) may seem like a subtle enhancement, but its impact on enterprise automation is significant. By returning more granular job status details, Oracle is enabling organizations to build smarter, more resilient, and more observable automation pipelines.

For EPM administrators and developers who rely on REST APIs for data integration workflows — whether through PowerShell scripts, Groovy rules, or DevOps pipelines — this enhancement means better error diagnostics, faster troubleshooting, and more intelligent automation logic.

Combined with other April 2026 enhancements like Customization of Data Integration Roles and the new Agentic AI REST APIs, this update reinforces Oracle's commitment to making EPM Cloud a truly API-first, automation-ready platform.

Happy Days on the Cloud!!! 


New REST APIs to Support Agentic AI Interaction – Oracle EPM Cloud April 2026!

Introduction

The Oracle Fusion Cloud EPM April 2026 (26.04) release introduces a groundbreaking set of new REST APIs specifically designed to enable Agentic AI interaction with EPM Cloud applications. These APIs represent a strategic shift in how organizations can interact with their EPM environments — moving from traditional UI-driven processes to intelligent, programmatic, and AI-powered workflows.

This is not a future roadmap item — it is live in 26.04, and it signals Oracle's clear commitment to making EPM Cloud a platform that supports modern AI-driven enterprise architectures. 



Oracle EPM April 2026 (26.04) Update – AI, Automation, and Platform Enhancements!

The Oracle Fusion Cloud Enterprise Performance Management (EPM) April 2026 release marks a significant step forward in the evolution of modern EPM platforms. After a period of platform consolidation and updates, this release introduces a broad set of enhancements spanning Artificial Intelligence (AI), automation, security, and enterprise integration.

This update is not just incremental—it represents a strategic shift toward intelligent, API-driven, and highly automated EPM ecosystems, enabling organizations to move beyond traditional finance processes into more predictive, data-driven decision-making environments.


Key Themes

Several strategic themes define this release:

  • AI-driven decision support enabling predictive insights and intelligent automation
  • Expanded REST API capabilities supporting automation and DevOps-driven deployments
  • Stronger integration frameworks for seamless data exchange across enterprise systems
  • Enhanced governance and security controls for improved compliance and access management

Collectively, these enhancements align Oracle EPM with modern enterprise architecture standards, where automation, intelligence, and scalability are key priorities.

 

Wednesday, May 27, 2026

Oracle EPM Authentication Deep Dive: Basic Auth vs OAuth 2.0!

Oracle EPM (Enterprise Performance Management Cloud) supports two primary authentication models for automation and integrations:

  • Basic Authentication (Username + Password)
  • OAuth 2.0 (Token-based authentication)

Both are supported for:

  •  EPM Automate
  •  REST APIs
  •  Integration Agent

However, Oracle clearly recommends OAuth 2.0 as the modern and secure approach, primarily because it eliminates the need to expose passwords in scripts and integrations.

Friday, May 15, 2026

Oracle EPM Automate copyToSftp — Eliminate the Middleman: Direct Cloud-to-SFTP File Transfers!

If you've been running Oracle EPM Cloud automations for any length of time, chances are your file transfer workflow looks something like this: run a data export in EPM Cloud, download the file to an intermediary server using downloadFile, then use a third-party SFTP client (like WinSCP) to upload it to the destination SFTP server. It works — but it's clunky, introduces unnecessary dependencies, and creates security exposure by landing sensitive financial data on a local disk.

What if I told you there's a single command that sends files directly from EPM Cloud to any SFTP server — no local download, no third-party tools, no files touching intermediate servers?

Meet copyToSftp.

In this post, I'll walk through what copyToSftp does, the authentication methods it supports (including the newly introduced SSH key-based auth), the prerequisites, and — most importantly — the real-world lessons I learned while implementing it for a production FCCS-to-Adaptive integration at a client site.

 

The Problem: The Traditional 5-Step Relay

Before copyToSftp, a typical EPM-to-SFTP automation looked like this:

EPM Cloud ──downloadFile── Local Server ──WinSCP── SFTP Server

The full workflow:

  1. epmautomate runDataRule — Generate the extract in EPM Cloud
  2. epmautomate downloadFile — Download to local server inbox
  3. Rename-Item — Rename with timestamp for versioning
  4. WinSCP PutFiles() — Upload to destination SFTP
  5. Move-Item — Archive locally

Dependencies required:

  • WinSCP .NET assembly (WinSCPnet.dll)
  • Stored SFTP credentials (sftp_credential.xml via DPAPI)
  • Local inbox and Archive directories
  • Network connectivity from local server to SFTP

 


 

The Solution: copyToSftp — One Command, Zero Intermediaries

The copyToSftp command copies a file directly from an EPM Cloud environment to an SFTP server. No downloading. No local staging. No third-party libraries.

 

EPM Cloud ──copyToSftp── SFTP Server

 

The new workflow:

  1. epmautomate runDataRule — Generate the extract in EPM Cloud
  2. epmautomate copyToSftp — Send directly to SFTP

That's it. Two steps.

 


 

 

 

Authentication Methods

As of the April 2026 update, copyToSftp supports three authentication methods:

 

Method 1: Username + Password

The simplest approach — provide SFTP credentials directly.

 

epmautomate copyToSftp sftp://myserver/dir/file.csv myFile.csv username=jDoe password=myPassword

  

Pros

Cons

Simple setup

Password in plain text on command line

No key management

EPM warns about clear-text passwords

Works with most SFTP servers

Less secure for automation





Method 2: Username + Private Key (Unprotected)

SSH key-based authentication without a passphrase — ideal for automated scripts.


epmautomate copyToSftp sftp://myserver/dir/file.csv myFile.csv username=jDoe privateKey=C:\keys\my_key.pem


Pros

Cons

No password transmitted

Key file must be secured on disk

Industry best practice

Unprotected key = risk if server compromised

Automation-friendly

Requires .pem format

No clear-text warning

Method 3: Username + Private Key + Passphrase

The most secure option — the private key itself is encrypted with a passphrase.


epmautomate copyToSftp sftp://myserver/dir/file.csv myFile.csv username=jDoe privateKey=C:\keys\my_key.pem passphrase=myPassPhrase


Pros

Cons

Highest security

Passphrase on command line (use -p param file)

Key + passphrase = two-factor

Slightly more complex setup

Meets compliance requirements



Command Syntax

epmautomate copyToSftp SFTP_SERVER_URL EPM_FILE_NAME

    username=USERNAME

    [password=PASSWORD]

    [privateKey=KEY_FILE]

    [passphrase=PASSPHRASE]

 

Parameter

Description

Required?

SFTP_SERVER_URL

Full SFTP URL including directory and target filename

Yes

EPM_FILE_NAME

Name of the file in EPM Cloud (outbox)

Yes

username

SFTP user account

Yes

password

SFTP password (if not using key auth)

Conditional

privateKey

Full local path to .pem private key file

Conditional

passphrase

Passphrase for encrypted private keys

Optional

 

Supported Cryptographic Algorithms

The SFTP server must support at least one algorithm from each category:

Category

Supported Algorithms

Ciphers

chacha20-poly1305@openssh.com, aes128-ctr, aes192-ctr, aes256-ctr, aes128-gcm@openssh.com, aes256-gcm@openssh.com, aes128-cbc, aes192-cbc, aes256-cbc

MACs

hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com, hmac-sha1-etm@openssh.com, hmac-sha2-256, hmac-sha2-512, hmac-sha1

Key Exchange

curve25519-sha256, ecdh-sha2-nistp256/384/521, diffie-hellman-group14-sha256, diffie-hellman-group16-sha512, and others

Host Key

ecdsa-sha2-nistp256/384/521, ssh-ed25519, rsa-sha2-256/512, ssh-rsa, and certificate variants


 

Prerequisites

Before using copyToSftp, ensure the following are in place:

 

1. EPM Automate Installed and Updated

  • Latest version of EPM Automate CLI installed on your automation server
  • Java Runtime Environment (JRE) configured

 

2. EPM Cloud Login

  • Valid Service Administrator credentials
  • Encrypted password file (pass.epw) recommended:

epmautomate encrypt YourPassword pass.epw AnyRandomKey

 

3. SFTP Server on Port 22

  • copyToSftp supports port 22 only — non-standard ports are not supported

 

4. Private Key in .pem Format (for key-based auth)

  • The key must be in PEM format (e.g., -----BEGIN EC PRIVATE KEY-----)
  • Supported key types: RSA, ECDSA (nistp256/384/521), Ed25519
  • The file must be stored locally on the machine running EPM Automate (not uploaded to EPM Cloud)

 

5. IP Allowlisting (if applicable)

  • If the SFTP server has IP allowlisting enabled, add Oracle's outbound IP address for the OCI region hosting your EPM environment

 

6. Public Key on SFTP Server

  • The corresponding public key must be added to the authorized_keys file on the SFTP server under the appropriate user account

 

Real-World Implementation: FCCS → Adaptive via SFTP

Here's where theory meets reality. I implemented copyToSftp for a production FCCS-to-Adaptive integration, replacing a WinSCP-based pipeline that had been running for months. Below are the actual findings, errors encountered, and solutions discovered.

 

The Setup

Component

Detail

Source

Oracle FCCS (Test Instance)

Destination

awssftp1.brooksautomation.com

Auth

ECDSA private key (-----BEGIN EC PRIVATE KEY-----)

Username

fccs

Files

DLR_Data_Extract_JE.csv, DLR_Data_Extract_AllEntities.csv


The private key file must reside on the local machine running EPM Automate. The command reads it locally and uses it for the SSH handshake.

 

 

  • File Extension Must Be .pem

 

  • Do NOT Include password= with Key Auth

When using key-based auth, the password= parameter must be omitted entirely. Including it — even with a dummy value — causes a parsing failure.

 

  • PowerShell Mangles key=value Arguments in Scripts

 

Even after placing the .pem file in the correct directory, EPM Automate reported "File does not exist."

 

The Java process running EPM Automate operates under a different security context. The file existed but wasn't readable.

 

The Final Working Command

After all the troubleshooting, here's the exact command that works:

 

epmautomate copyToSftp sftp://awssftp.server.com/DLR_Data_Extract_JE.csv DLR_Data_Extract_JE.csv username=fccs privateKey=C:\Scripts\secure\privatekey-sftp.pem

 

 

Before vs. After Comparison

Metric

Before (downloadFile + WinSCP)

After (copyToSftp)

Steps per file

5

2

Dependencies

WinSCP DLL, credential XML, inbox/archive folders

None — EPM Automate only

Data on local disk

Yes

Never

Auth method

Password (DPAPI encrypted)

SSH key (.pem)

Security exposure

Password + files on intermediary server

Key-only, zero local data

Lines of PowerShell

~80 (SFTP section)

~10

Failure points

Download, rename, connect, upload, archive

Single copyToSftp call


 

Pipeline Alternative: No Script Needed

As of the September 2025 update, Oracle also introduced Copy to SFTP and Copy from SFTP as native Pipeline job types in EPM Cloud. This means you can configure the entire extract-and-push flow within the EPM Cloud UI — no PowerShell script required.



This is worth exploring if you want to move the orchestration entirely into EPM Cloud and eliminate the local server dependency altogether.

 

Quick Reference: Troubleshooting Checklist

Error

Cause

Fix

EPMAT-7: File does not exist

Wrong path, wrong extension, or permissions

Use full path, .pem extension, grant read access

EPMAT-7: Invalid or missing parameter: privateKey

Empty privateKey= value or space after =

No space: privateKey=C:\path\key.pem

EPMAT-7: Invalid or missing parameter: password

password= included with key auth

Remove password= entirely

Usage text dumps before error

PowerShell mangling key=value args

Use cmd /c or --% in scripts

EPMAT-7: Session is not authenticated

Not logged in before copyToSftp

Run epmautomate login first

EPMAT-1: File already exists

File from previous upload still in EPM

Run epmautomate deleteFile first

Connection timeout

IP not allowlisted on SFTP server

Add Oracle OCI outbound IP to SFTP allowlist


 

Conclusion

copyToSftp is one of those features that fundamentally simplifies your EPM automation architecture. It eliminates intermediary servers, third-party dependencies, and local data exposure — replacing a fragile 5-step relay with a single, secure, auditable command.

Combined with the April 2026 enhancement for SSH key-based authentication, it now meets enterprise compliance requirements for secure file transfers without compromising on automation capability.

 

Whether you're pushing FCCS extracts to Adaptive, sending reconciliation data to FloQast, or transferring reports to any SFTP endpoint — copyToSftp should be your default approach.

 

Key takeaways:

  •  Use .pem format for private keys
  •  Omit password= when using key auth
  •  Use cmd /c in PowerShell scripts to avoid argument parsing issues
  •  Grant file read permissions for the Java process
  •  Allowlist Oracle's OCI outbound IP on your SFTP server
  •  Consider Pipeline job types for fully cloud-native orchestration

Happy days on the Cloud!!! 


Wednesday, May 13, 2026

Oracle Cloud EPM : Two Long-Awaited Pipeline Features That Change Everything!

 The Oracle Cloud EPM May 2026 (26.05) update is packed with meaningful enhancements — from the mandatory Groovy engine upgrade to the new Environment Backup capability. But for those of us who live and breathe Data Integration Pipelines, two features stand out as absolute game-changers that the EPM community has been requesting for a long time:

 


  1. Ability to Restart Pipelines from Failed Stages
  2. Ability to Control Timing within Pipeline Jobs (Wait Job Type)

Oracle Cloud EPM August 2026 Update – Important Actions and Considerations

Oracle Cloud EPM August 2026 Update – Important Actions and Considerations

Introduction

 

Oracle Cloud EPM continues to evolve with security improvements, governance enhancements, Groovy validation updates, metadata handling changes, and upcoming permission model adjustments. Organizations using Planning, FCCS, EDMCS, PCMCS, EPCM, FreeForm, Tax Reporting, and Account Reconciliation should carefully review the latest Important Actions and Considerations to avoid operational disruptions.

This article provides a detailed enterprise-level explanation of the key updates announced for the Oracle Cloud EPM August 2026 release cycle.

 

Saturday, May 2, 2026

Oracle EPM April 2026: New Migration REST APIs for Smarter Environment Lifecycle Management - Part 2

In Part 1, we discussed why migration is painful in real life — not because exporting/importing is difficult, but because we rarely know exactly what changed between environments. Oracle’s April 2026 update addresses this by introducing a set of Migration REST APIs designed for programmatic lifecycle management.

Part1 focused on the foundational capabilities:

  • Discovering artifact categories
  • Listing artifacts per category
  • Exporting incremental category-level backups

 

Monday, April 27, 2026

Oracle EPM April 2026: New Migration REST APIs for Smarter Environment Lifecycle Management - Part 1

Oracle EPM April 2026: New Migration REST APIs for Smarter Environment Lifecycle Management

Part 1 – Understanding the Problem and the New Capabilities

Why This Matters More Than Ever

Managing Oracle EPM environments has never been simple. Most customers operate at least three environments – Development, Test, and Production. In many cases, there are additional environments for UAT, Training, or parallel initiatives. Traditionally, moving changes across these environments meant relying heavily on full snapshots, manual comparisons, and a fair amount of administrator intuition.

 

The biggest challenge was not moving artifacts, but understanding what actually changed:

  • Which rules were modified since the last release?
  • Which forms were impacted by a requirement change?
  • What security or metadata moved unintentionally?

Thursday, April 23, 2026

Break Glass – Putting You in Control of Access & Encryption in Oracle EPM.

 Oracle EPM April 2026: Break Glass – Putting You in Control of Access & Encryption

Why This Matters More Than Ever

 

One of the most common questions I hear from security teams, auditors, and CISOs is:

“Who from Oracle can access our EPM data, and how do we control it?”

With the April 2026 (26.04) update, Oracle has delivered a long‑awaited answer by introducing Break Glass for Oracle EPM Cloud — a governance‑first capability designed for organizations that care deeply about data sovereignty, compliance, and zero‑trust principles.

Break Glass is not just another toggle in the UI. It fundamentally changes the access model between Oracle Operations and your EPM environments.

 

Friday, April 17, 2026

Oracle EPM April 2026: Two Quiet Changes That Can Break Your Automations



The April 2026 (26.04) Oracle EPM update looks calm on the surface — but behind the scenes, two technical changes can impact almost every EPM technical team if they’re not spotted early.

This blog focuses on only two changes, but both are high‑risk if ignored:

  1. EPM Automate – Windows installation path change
  2. Groovy rules – HTTP (insecure) authentication now disallowed

Both are documented by Oracle, but neither will show up as a shiny UI banner. If you rely on automation, scripts, or Groovy‑based integrations, this blog is for you.