Oracle EBS REST API Example Generator: Integrated SOA Gateway Calls with curl
This generator produces curl commands that call a PL/SQL API exposed as a REST service through Oracle E-Business Suite 12.2 Integrated SOA Gateway (ISG), using either a login session cookie or HTTP Basic authentication. It fills the RESTHeader that sets responsibility, application, security group, language and org, so the API runs with the right EBS context.
Fill in
The payload root is <ROOT>_Input.
Lower-case product short code of the interface, e.g. fnd, ar, ont.
1. Log in and keep the session cookie
# Creates an EBS session; the session cookie is stored in ebs_cookies.txt
curl -s -u 'OPERATIONS:YOUR_PASSWORD' \
-H 'Accept: application/json' \
-c ebs_cookies.txt \
https://ebs.example.com:4443/webservices/rest/login
# The response returns accessTokenName and accessToken, and the same token is set as a
# cookie. Keeping the cookie jar means later calls do not need to parse the body.2. Invoke the operation with the session (token-based)
curl -s -X POST https://ebs.example.com:4443/webservices/rest/fndUserSvc/testusername/ \
-b ebs_cookies.txt \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"TESTUSERNAME_Input": {
"@xmlns": "http://xmlns.oracle.com/apps/fnd/rest/fndUserSvc/testusername/",
"RESTHeader": {
"@xmlns": "http://xmlns.oracle.com/apps/fnd/rest/fndUserSvc/header",
"Responsibility": "SYSTEM_ADMINISTRATOR",
"RespApplication": "SYSADMIN",
"SecurityGroup": "STANDARD",
"NLSLanguage": "AMERICAN",
"Org_Id": "204"
},
"InputParameters": { "X_USER_NAME": "OPERATIONS" }
}
}'3. Same call with an explicit Cookie header
# Use the accessTokenName and accessToken values returned by the login call
curl -s -X POST https://ebs.example.com:4443/webservices/rest/fndUserSvc/testusername/ \
-H 'Cookie: ACCESS_TOKEN_NAME=ACCESS_TOKEN_VALUE' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d @payload.json4. Same call with HTTP Basic authentication
curl -s -X POST https://ebs.example.com:4443/webservices/rest/fndUserSvc/testusername/ \
-u 'OPERATIONS:YOUR_PASSWORD' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d @payload.json
# payload.json holds the same JSON body as block 2Payload structure, namespaces and RESTHeader keys follow the Oracle E-Business Suite Integrated SOA Gateway Developer's Guide 12.2 examples. Confirm the exact operation path, root element and namespace from the deployed service's WADL (View WADL in the REST Web Service tab), and that the user has a grant on the operation. Never store real passwords in scripts; use a dedicated integration user.
Get your ISG REST setup checked
Send us the WADL and the error you see and we will tell you whether it is the grant, the header or the ISG setup.
Optional. The tool and every export work without this. No spam.
How to use it
Deploy the interface first: in the Integration Repository, find the PL/SQL API (custom APIs must be annotated and loaded into the repository), open the REST Web Service tab, enter a service alias, select the operations and HTTP verb, and deploy. Then add a grant on the operations for the integration user or group. Copy the alias, the operation name and root element from View WADL into the fields, along with the responsibility key and application short name the API needs. Run block 1 to log in, then block 2. A successful response contains an OutputParameters object with the API's OUT values; a failure returns an error with an ISG message code.
- Responsibility is the responsibility key, not its display name.
- Org_Id is needed for APIs that read multi-org secured data.
- Leave optional RESTHeader values empty rather than removing the keys.
How ISG REST requests are structured
Every PL/SQL REST operation is a POST to /webservices/rest/<alias>/<operation>/ with a root object named <OPERATION>_Input. The root carries the operation namespace http://xmlns.oracle.com/apps/<product>/rest/<alias>/<operation>/, the RESTHeader object with its own header namespace, and InputParameters whose keys are the PL/SQL parameter names in upper case. The same structure works as XML with Content-Type application/xml. The login service at /webservices/rest/login creates an EBS session for the user and returns it as a cookie; later calls send that cookie instead of the password, which is why block 2 uses a cookie jar.
Version differences and gotchas
REST services in ISG are a 12.2 feature and need the ISG setup completed for your AD and TXK level, as described in the ISG installation note for Release 12.2 on My Oracle Support. Clients that parse accessToken from the login body are more fragile than clients that keep the returned cookie, so the generated calls use a cookie jar. A 401 usually means bad credentials, a 403 a missing grant on the operation, and an error about responsibility means the key or application short name does not match an assignment of that user.
How to check the result in EBS
If the call reached the API, its effect is visible in the base tables of the product, and ISG logging (enabled for the service in the Integration Repository) records the request. For a test, the default TESTUSERNAME operation on FND_USER_PKG checks a user name, which proves login, grants and the header without changing data. When moving to a write API, test in a clone with a dedicated integration user and check FND_LOG_MESSAGES or the service log for errors returned by the PL/SQL layer.
Frequently Asked Questions
Does Oracle EBS have a REST API?
Yes. In 12.2, Integrated SOA Gateway can deploy PL/SQL APIs, Java bean and application module services and, at later 12.2 code levels, concurrent programs from the Integration Repository as REST services. There is no fixed public catalogue of endpoints; you choose which interfaces to deploy, give each an alias, and grant operations to users.
How do I create a custom REST API in Oracle EBS?
Write a PL/SQL package with Integration Repository annotations in the specification, load it into the repository with the irep parser and FNDLOAD, then deploy it as a REST service with an alias from the Integration Repository and grant the operations. The service is then callable at /webservices/rest/<alias>/<operation>/ as shown here.
What goes in the RESTHeader of an EBS REST call?
Responsibility (key), RespApplication (application short name), SecurityGroup (usually STANDARD), NLSLanguage (for example AMERICAN) and Org_Id. ISG uses these to initialise the EBS session context before calling the API, the same way FND_GLOBAL.APPS_INITIALIZE and MO_GLOBAL do in PL/SQL.
Can I use Basic authentication instead of the login token?
Yes, ISG REST services accept HTTP Basic credentials on each call, as block 4 shows. Token-based login is preferred for many calls in a row because it creates one session and avoids sending the password repeatedly. In both cases use HTTPS and a dedicated integration user with only the grants it needs.
If you want an AI agent on your own servers to call these EBS REST services on behalf of users, with read-only defaults and approval before any write, we can set that up.
Related Tools
Oracle EBS TCA Customer Creation API Script Generator (HZ V2 APIs)
Generate one PL/SQL block that creates an organization customer with account, address and bill-to and ship-to site uses through the public TCA V2 APIs.
Developer ToolsOracle EBS Workflow Error and Notification SQL Generator
Generate the five queries and the PL/SQL retry block a workflow administrator needs: errored activities, open notifications, mailer backlog, deferred queue and retry.
OracleOracle EBS Patch Level, Applied Patches and Version SQL Generator
Generate the queries to find the EBS release, whether bugs are applied, recent patch runs, adop session status, 12.2 code levels and product patch levels.
Developer ToolsOracle EBS XML Publisher Data Template Generator
Fill in your query, parameters and elements and get a valid XML Publisher data template, its PL/SQL default package and the registration steps for R12.
More Developer Tools tools
See all- Oracle EBS Onhand Quantity SQL Generator
- Oracle EBS BOM Explosion SQL Generator
- Oracle EBS Pending Transactions SQL Generator for Period Close
- Oracle EBS Public PL/SQL API Reference (OM, INV, PO, AP, AR, TCA, FND)
- Oracle EBS Forms Personalization Tables and Trigger Events Reference
- Oracle EBS Forms FRM Error Codes Reference (FRM-92101, FRM-40735)
- Oracle EBS XML Publisher RTF Template Syntax Reference
- Oracle EBS OE_ORDER_PUB.PROCESS_ORDER Script Generator
- Oracle EBS FND_REQUEST.SUBMIT_REQUEST Code Generator
Keep exploring
Free tools
- Oracle EBS 12.2 Private AI Layer Blueprint GeneratorFill in your Oracle EBS 12.2 version, database, hosting and users to get a shareable architecture plan for a private, on-prem AI assistant.
- Oracle EBS 12.2 AI Assistant Sizing and Value CalculatorEstimate peak load, GPUs, index size, hours saved and payback for an on-prem AI assistant on Oracle EBS 12.2.
- JD Edwards Orchestrator and AIS REST Call GeneratorFill in your AIS host, orchestration name and inputs to get a working Python requests script and curl commands that call a JD Edwards EnterpriseOne 9.2 orchestration.
ERP fixes and how-tos
- Oracle EBS REST API: Integrated SOA Gateway and PL/SQL APIsOracle EBS REST and SOAP APIs through Integrated SOA Gateway: find APIs in the Integration Repository, deploy, grant access and call PL/SQL public APIs.
- How to Add a Private AI Layer to Oracle EBS 12.2 On-PremReference architecture for a private AI layer on Oracle EBS 12.2: Active Data Guard replica, ISG REST, MO and responsibility security, local GPUs and audit.
- Oracle EBS 12.2: stay on-prem or move to Fusion in 2026How CIOs on Oracle E-Business Suite 12.2 should weigh staying on-prem against migrating to Oracle Fusion Cloud ERP, with support dates and a practical decision path.
AI on your ERP
- AI for Oracle E-Business Suite, Without Leaving On-PremHosting Oracle EBS 12.2 on-prem or in a private cloud? Add a private LLM over concurrent programs, interface tables and AP/PO data without moving to Fusion.
- AI for Oracle EBS in Aerospace and Defense ManufacturingAI on Oracle EBS for aerospace and defense manufacturers: project manufacturing, serial control, and ITAR segregation handled without a cloud dependency.
Integrations
- How to build an MCP server for Oracle E-Business SuiteBuild a Model Context Protocol server for Oracle E-Business Suite: which read-only tools to expose, auth, org context, transports and audit for Claude and others.
- How to add AI agents to Oracle E-Business SuiteHow to add AI agents to Oracle E-Business Suite R12: tool layer over ISG services and open interfaces, approval gates, and on-prem model hosting options.