canonical: https://jentic.com/apis/oracle.com/oracle-eloqua-api

# Oracle Eloqua Marketing Cloud Service REST API

Jentic publishes the only available OpenAPI specification for Oracle Eloqua Marketing Cloud Service REST API, keeping it validated and agent-ready. The Eloqua REST API exposes contacts, accounts, campaigns, emails, forms, and bulk import and export jobs across Application v1.0, Application v2.0, and Bulk v2.0 surfaces. It is the integration backbone for B2B marketers that need to sync large CRM populations, manage nurture campaigns, and pull engagement activity into a data warehouse on a schedule.

## For AI agents

Manage Eloqua contacts, accounts, campaigns, emails, and bulk imports across the Application and Bulk REST APIs against an Eloqua instance.

## Scope

Does not handle CRM master records, ad campaign management, or transactional email delivery - use for B2B marketing automation in Eloqua only.

## Capabilities

- Create and update contact records in Eloqua including custom fields
- Search and segment contacts by activity, list, or custom criteria
- Manage campaigns including launching, scheduling, and monitoring status
- Send and track Eloqua emails and retrieve engagement metrics
- Run bulk import and export jobs for contacts, accounts, and activities
- Manage forms, landing pages, and the assets attached to a campaign

## Use cases

### CRM-to-Eloqua Contact Sync

Keep an external CRM and Eloqua aligned by mirroring contact records and lead status changes between the two systems. The Application REST API exposes contacts and accounts with full custom-field support so the integration can map every Salesforce or HubSpot field to its Eloqua counterpart and reconcile in either direction.

Example prompt: POST `/api/REST/1.0/data/contact` for new CRM leads and PATCH the Eloqua contact when the source record changes

### Campaign Engagement Warehouse

Pull email opens, clicks, form submits, and visit data out of Eloqua and load it into a data warehouse for cross-channel attribution. The Bulk v2.0 surface exists exactly for this - it is built for high-volume exports of activities, contacts, and accounts on a schedule.

Example prompt: Create a bulk export job for contact activities since the last watermark, poll until it completes, then download the result

### Form-Driven Lead Capture and Routing

Use Eloqua forms as the lead-capture layer for landing pages and route incoming submissions through the API to scoring rules and nurture campaigns. The Application REST API exposes form definitions and submissions, so an integration can add submissions and trigger downstream campaign membership.

Example prompt: POST a new form submission to Eloqua and add the resulting contact to a nurture program

### Marketing Operations Reporting

Generate marketing operations dashboards by combining campaign metadata from the Application API with engagement counts from the Bulk API. Marketing ops teams use this pattern to report campaign throughput, deliverability, and pipeline contribution without touching the Eloqua UI.

Example prompt: GET active campaigns from the Application API and bulk-export their email activity, then render a weekly ops report

### Agent-Driven Eloqua Operations via Jentic

An AI assistant for marketing ops can search Eloqua contacts, launch campaigns, and queue bulk exports through Jentic. The agent handles natural-language intents and Jentic resolves them to the right Application or Bulk endpoint without leaking Basic Auth credentials.

Example prompt: Search Jentic for 'create an Eloqua contact', load the POST `/api/REST/1.0/data/contact` operation, and execute with the lead's details

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/api/REST/1.0/data/contacts` | List contacts |
| POST | `/api/REST/1.0/data/contact` | Create a contact |
| GET | `/api/REST/1.0/data/contact/{id}` | Retrieve a contact |
| GET | `/api/REST/1.0/data/accounts` | List accounts |
| GET | `/api/REST/1.0/data/account/{id}` | Retrieve an account |
| GET | `/api/REST/1.0/data/activities/contact/{id}` | Retrieve activities for a contact |

## Key resources

- **Contacts** — Individual contacts including custom fields, list memberships, and activity
- **Accounts** — Account records with hierarchy and custom fields
- **Campaigns** — Campaign definitions, scheduling, and status
- **Emails** — Email assets, sends, and engagement metadata
- **Forms** — Form definitions and submissions
- **Bulk Activities** — Bulk exports of contact, account, and activity data
- **Bulk Imports** — High-volume contact and account imports

## Why Jentic

- **Setup:** Wiring Oracle Eloqua by hand means handling its dual bearer and basic auth, resolving your per-account {instance}.eloqua.com host, and managing the bulk export polling yourself. Through Jentic you install once, import Oracle Eloqua from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** You choose which Eloqua operations the agent may call, so you can limit it to the operations it needs, such as reading contacts and accounts or fetching a contact's activities, while write operations like creating a contact stay out of the allowed set unless you add them.
- **Credential handling:** Your Eloqua bearer token or basic-auth credentials are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create an Eloqua contact' or 'export campaign activity for a contact', and Jentic returns the matching Eloqua operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **HubSpot Marketing Events API** — HubSpot's marketing automation surface targets SMB and mid-market more than Eloqua's enterprise B2B fit
- **Mailchimp Marketing API** — SMB-focused email and marketing automation API with a much smaller surface than Eloqua
- **Salesforce REST API** — CRM commonly synced with Eloqua for B2B lead-to-opportunity flow

## FAQ

### Why is there no official OpenAPI spec for Oracle Eloqua Marketing Cloud Service REST API?

Oracle does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Oracle Eloqua Marketing Cloud Service REST API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Oracle Eloqua REST API use?

The spec declares both bearerAuth (HTTP Bearer) and basicAuth (HTTP Basic) schemes. Production integrations use Bearer tokens issued via Eloqua's OAuth flow, with Basic Auth available for legacy and bulk transfer scenarios. Jentic stores either credential type encrypted in the vault and hands the agent a scoped session.

### Can I bulk export contact activity from Eloqua?

Yes. The Bulk Activities and Bulk Contacts tag groups expose multi-step jobs: create the export definition, sync the data, then download the result. This is the supported path for high-volume engagement exports rather than paginating the Application API.

### Does the spec cover both Application v1.0 and v2.0 plus the Bulk API?

Yes. Tag groups for Accounts v1.0, Accounts v2.0, Activities v1.0, Activities v2.0, Bulk Accounts, Bulk Activities, Bulk Campaign Responses, and Bulk Contacts are all present in the spec, so integrations can pick the surface that matches their data shape and volume.

### What is the base URL pattern for Eloqua API calls?

https://{instance}.eloqua.com where {instance} is the customer's Eloqua pod (for example secure.p01 or secure.p02). The pod is returned by Eloqua's login URL discovery call and must be used for every subsequent API request.

### How do I create an Eloqua contact through Jentic?

Install the SDK with pip install jentic, then search Jentic for 'create an Eloqua contact'. Jentic returns the POST `/api/REST/1.0/data/contact` operation with its schema; load it, supply the contact payload, and execute. Run it through Jentic One, the self-hosted execution layer.

### Can I limit what my agent is allowed to do with the Oracle Eloqua API?

Yes. Because Jentic One runs self-hosted, you set the rules that decide which Eloqua operations and credentials your agent may use. You can allow it only the endpoints it needs, such as listing contacts, retrieving an account, or fetching a contact's activities, while keeping write operations like creating a contact or launching a campaign outside the allowed set until you add them. The stored bearer or basic-auth credential is injected at execution time under those same limits, so the agent can only call what you have permitted.
