Oracle Eloqua Contacts API

Manage contact records and list membership.

OpenAPI Specification

oracle-eloqua-contacts-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Oracle Eloqua REST Accounts Contacts API
  description: "Oracle Eloqua REST APIs for the Oracle Marketing B2B marketing\nautomation platform. Two API surfaces are covered:\n\n- The **Application API** at `/api/rest/2.0/` for managing assets and\n  data (contacts, accounts, campaigns, emails, forms, custom objects).\n- The **Bulk API** at `/api/bulk/2.0/` for high-volume imports,\n  exports, and sync operations.\n\nBoth surfaces share the same authentication. The base URL is\npod-specific and resolved at runtime per customer from the\n`https://login.eloqua.com/id` discovery endpoint. Authentication is\nOAuth 2.0 Bearer tokens (Authorization Code, Implicit, or Resource\nOwner Password grants) or HTTP Basic Authentication using\n`client_id:client_secret`.\n"
  version: 2.0.0
  contact:
    name: Oracle Eloqua
    url: https://www.oracle.com/cx/marketing/automation/
servers:
- url: https://{pod}.eloqua.com
  description: Customer's Eloqua pod (e.g. secure.p01.eloqua.com).
  variables:
    pod:
      default: secure.p01
      description: The pod-specific subdomain returned by the /id discovery call.
security:
- bearerAuth: []
- basicAuth: []
tags:
- name: Contacts
  description: Manage contact records and list membership.
paths:
  /api/rest/2.0/data/contacts:
    post:
      tags:
      - Contacts
      summary: Retrieve contact information
      operationId: searchContacts
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Contact search payload.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Collection'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /api/rest/2.0/data/contact/{id}:
    parameters:
    - $ref: '#/components/parameters/IdParam'
    get:
      tags:
      - Contacts
      summary: Retrieve a contact
      operationId: getContact
      responses:
        '200':
          description: Contact resource.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      tags:
      - Contacts
      summary: Update a contact
      operationId: updateContact
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: Updated contact.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
components:
  schemas:
    Collection:
      type: object
      properties:
        elements:
          type: array
          items:
            type: object
            additionalProperties: true
        page:
          type: integer
        pageSize:
          type: integer
        total:
          type: integer
    ErrorResponse:
      type: object
      properties:
        type:
          type: string
        title:
          type: string
        detail:
          type: string
        errorCode:
          type: string
  responses:
    NotFound:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Missing or invalid credentials.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  parameters:
    IdParam:
      name: id
      in: path
      required: true
      schema:
        type: string
      description: Resource ID.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'OAuth 2.0 access token obtained from

        `https://login.eloqua.com/auth/oauth2/token`. Sent as

        `Authorization: Bearer {access_token}`.

        '
    basicAuth:
      type: http
      scheme: basic
      description: 'HTTP Basic Authentication with `client_id:client_secret`. Used at

        the token endpoint and as a legacy fallback.

        '
externalDocs:
  description: Oracle Eloqua REST API Documentation
  url: https://docs.oracle.com/en/cloud/saas/marketing/eloqua-rest-api/index.html