https://planning-{identity}.pbcs.{dc}.oraclecloud.com/HyperionPlanning/rest/v3/planning-a123456.pbcs.us2.oraclecloud.com — All endpoints below are relative to this base.Verify connection and retrieve application metadata. Use as a health-check before running any automation pipeline.
Production-recommended authentication. Tokens expire after 3600s — cache and refresh proactively.
List all dimensions. Useful for API-driven metadata validation and automated testing.
jobId immediately (202 Accepted). Poll GET /jobs/{jobId} every 5–10 seconds until status is Completed, Error, or Invalid. Never assume synchronous completion.Submit a Groovy business rule via REST. The most common EPM automation call.
RULES · IMPORT_DATA · EXPORT_DATA · IMPORT_METADATA · EXPORT_METADATA · CLEAR_DATA · REFRESH_DATABASETerminal states: Completed, Error, Invalid. Intermediate: Processing, Queued.
Execute a Data Integration / FDMEE data load rule.
REPLACE (recommended for actuals) · MERGE · ACCUMULATE · SUBTRACTComplete nightly pipeline: Load → Calculate → Sync → Export → Alert on failure.
Export a specific data slice to the server inbox/outbox. Download the file in a second call.
Clear a data slice before a reload. Use sparingly — always clear only the specific intersection you're about to reload.
Download any file from the EPM server inbox/outbox after an export job completes.
Get member properties: aliases, UDAs, attributes, parent, children.
Get all descendants of a member. Add ?level=0 to get leaf members only.
Load dimension metadata from a flat file (upload file first, then import).
MERGE (safe default — adds/updates, keeps existing) · REPLACE (removes members not in file) · ADD (adds only)Retrieve all planning unit approval statuses for workflow monitoring.
NotStarted 3 days before the budget deadline, it automatically sends a Slack reminder via the Slack API.Programmatically promote, reject, or sign off planning units via REST.
PROMOTE · REJECT · APPROVE · SIGN_OFF · REOPENRead data from a specific form at a given POV — same data the planner sees in the browser.
Write data to a form grid via REST — same as a planner saving data in the browser.
Note: Data Integration uses a different base URL: /dataintegration/rest/v1/
Trigger a Data Integration pipeline directly (alternative to the Planning jobs endpoint).
| Concern | Limit | Best Practice |
|---|---|---|
| Concurrent API requests | ~10 per service | Serialize your pipeline — run jobs sequentially |
| Job poll frequency | No hard limit | Poll every 5–10s, not every 500ms |
| File upload size | ~250MB | Split large exports; use compression |
| Token expiry | 3600s (OAuth) | Cache token, refresh 60s before expiry |
| HTTP Status | Meaning | Action |
|---|---|---|
202 | Job accepted (async) | Poll /jobs/{id} |
400 | Bad request — invalid params | Log request body; fix parameters |
401 | Auth failed | Refresh token; check credentials |
403 | Insufficient permissions | Check service account roles in EPBCS |
404 | Resource not found | Verify app name, dim name, job name |
429 | Rate limited | Back off with exponential retry |
503 | Service maintenance | Retry after 30–60s; check Oracle status page |
[email protected]) with only the permissions needed (Power User minimum for job execution). Never use a personal login for automation — password changes will break your pipelines at 2am.