Find an API

Search public APIs with auth details & Postman guides

← All APIs

Oracle Fusion Cloud ERP REST API

oracle.com · Company

Company Basic Auth Paid Financial Services Manufacturing Technology ERP Finance Enterprise

REST APIs for Oracle Fusion Cloud — covers Financials, Procurement, Project Management, Supply Chain, and HCM. Access general ledger, accounts payable/receivable, purchase orders, invoices, and employee data. Requires Oracle Cloud subscription.

Authentication

Basic Auth HTTP Basic authentication with Oracle Fusion Cloud credentials, or OAuth2 with Oracle IDCS. Basic auth uses your Oracle Cloud username and password.

Sample Requests

GET Get invoices

Returns accounts payable invoices. Filter by supplier, status, or date range.

https://{tenant}.fa.us2.oraclecloud.com/fscmRestApi/resources/latest/invoices?q=InvoiceStatus=Unpaid&limit=25

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
Authorization Basic BASE64_USER_PASS
curl -X GET "https://{tenant}.fa.us2.oraclecloud.com/fscmRestApi/resources/latest/invoices?q=InvoiceStatus%3DUnpaid&limit=25" \
  -H "Authorization: Basic YOUR_BASE64_CREDENTIALS"
import requests
params = {
    "q": "InvoiceStatus=Unpaid",
    "limit": "25"
}
headers = {
    "Authorization": "Basic YOUR_BASE64_CREDENTIALS"
}
response = requests.get(
    "https://{tenant}.fa.us2.oraclecloud.com/fscmRestApi/resources/latest/invoices",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://{tenant}.fa.us2.oraclecloud.com/fscmRestApi/resources/latest/invoices');
url.searchParams.set('q', 'InvoiceStatus=Unpaid');
url.searchParams.set('limit', '25');

const response = await fetch(url, {
  headers: {
    'Authorization': 'Basic YOUR_BASE64_CREDENTIALS'
  },
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://{tenant}.fa.us2.oraclecloud.com/fscmRestApi/resources/latest/invoices")
	q := baseURL.Query()
	q.Set("q", "InvoiceStatus=Unpaid")
	q.Set("limit", "25")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)
	req.Header.Set("Authorization", "Basic YOUR_BASE64_CREDENTIALS")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://{tenant}.fa.us2.oraclecloud.com/fscmRestApi/resources/latest/invoices")
uri.query = URI.encode_www_form({
  "q" => "InvoiceStatus=Unpaid",
  "limit" => "25"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)
req["Authorization"] = "Basic YOUR_BASE64_CREDENTIALS"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://{tenant}.fa.us2.oraclecloud.com/fscmRestApi/resources/latest/invoices?" . http_build_query([
    "q" => "InvoiceStatus=Unpaid",
    "limit" => "25"
]);
$opts = ["http" => [
    "method" => "GET",
    "header" => implode("\r\n", [
        "Authorization: Basic YOUR_BASE64_CREDENTIALS"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET Get employees (HCM)

Returns employee records from Oracle HCM Cloud.

https://{tenant}.fa.us2.oraclecloud.com/fscmRestApi/resources/latest/workers?limit=25&fields=PersonNumber,DisplayName,PrimaryEmail

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
Authorization Basic BASE64_USER_PASS
curl -X GET "https://{tenant}.fa.us2.oraclecloud.com/fscmRestApi/resources/latest/workers?limit=25&fields=PersonNumber%2CDisplayName%2CPrimaryEmail" \
  -H "Authorization: Basic YOUR_BASE64_CREDENTIALS"
import requests
params = {
    "limit": "25",
    "fields": "PersonNumber,DisplayName,PrimaryEmail"
}
headers = {
    "Authorization": "Basic YOUR_BASE64_CREDENTIALS"
}
response = requests.get(
    "https://{tenant}.fa.us2.oraclecloud.com/fscmRestApi/resources/latest/workers",
    params=params,
    headers=headers,
)
print(response.json())
const url = new URL('https://{tenant}.fa.us2.oraclecloud.com/fscmRestApi/resources/latest/workers');
url.searchParams.set('limit', '25');
url.searchParams.set('fields', 'PersonNumber,DisplayName,PrimaryEmail');

const response = await fetch(url, {
  headers: {
    'Authorization': 'Basic YOUR_BASE64_CREDENTIALS'
  },
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://{tenant}.fa.us2.oraclecloud.com/fscmRestApi/resources/latest/workers")
	q := baseURL.Query()
	q.Set("limit", "25")
	q.Set("fields", "PersonNumber,DisplayName,PrimaryEmail")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)
	req.Header.Set("Authorization", "Basic YOUR_BASE64_CREDENTIALS")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://{tenant}.fa.us2.oraclecloud.com/fscmRestApi/resources/latest/workers")
uri.query = URI.encode_www_form({
  "limit" => "25",
  "fields" => "PersonNumber,DisplayName,PrimaryEmail"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)
req["Authorization"] = "Basic YOUR_BASE64_CREDENTIALS"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://{tenant}.fa.us2.oraclecloud.com/fscmRestApi/resources/latest/workers?" . http_build_query([
    "limit" => "25",
    "fields" => "PersonNumber,DisplayName,PrimaryEmail"
]);
$opts = ["http" => [
    "method" => "GET",
    "header" => implode("\r\n", [
        "Authorization: Basic YOUR_BASE64_CREDENTIALS"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));

Postman Setup Guide

Get Postman ↗
  1. Requires Oracle Fusion Cloud ERP subscription
  2. In Postman, set Authorization to Basic Auth with your Oracle Cloud username and password
  3. Base URL format: https://{tenant}.fa.{datacenter}.oraclecloud.com/fscmRestApi/resources/latest
  4. For HCM endpoints: replace fscmRestApi with hcmRestApi
  5. Use $filter, $select, limit, offset for querying
  6. Full REST API reference: https://docs.oracle.com/en/cloud/saas/financials/rest-api-erp/

What can you build with Oracle Fusion Cloud ERP REST API?

Oracle Fusion Cloud ERP REST API is a Company API. Developers commonly use company APIs for:

  • enriching CRM records with company firmographics
  • building lead-generation and prospecting tools
  • verifying business identity and registration details
  • monitoring competitors and market intelligence
  • powering B2B data enrichment pipelines

Basic authentication. Send your username and password (Base64-encoded) in the Authorization header. Always use HTTPS — Basic auth over plain HTTP exposes your credentials. Oracle Fusion Cloud ERP REST API is a paid API — check the provider's pricing page before building a production integration.

New to APIs? Read our beginner's guide · Learn about API keys · What is REST?

Open documentation ↗