Sending API requests

A basic application and Bulk API request has several components not including authentication. An Oracle Eloqua application and Bulk API request follows the form:

[Verb] [baseURL]/API/[APIName]/[APINumber]/[endpoint]

Where...

  • baseURL is the location of your data center. See Determining base URLs for more information.
  • [APIName] is the name of the API, such as "rest" or "bulk"
  • [APINumber] is the version of the API, such as "1.0" or 2.0"

Therefore an example of a complete request would be as follows:

GET https//secure.<pod>.eloqua.com/API/rest/1.0/assets/emails

The reporting API requests follow the form:

GET [base URL]/API/odata/[subjectArea]/[APIVersionIdentifier]/[endpoint]

Where [subjectArea] is the subject area of the endpoint, such as "campaignAnalysis", and [APIVersionIdentifier] is the version of the API, such as "1.0".

Here is an example of a complete reporting API request:

GET https://secure.p03.eloqua.com/api/odata/campaignAnalysis/1.0/campaign

Learn more about the reporting API.

Learn more by watching the video

Determining Base URLs

Before you can send a request, you must determine the Eloqua data center for which your instance is located. Your data center is a component of your API request, if continuing our example above, the data center is the <pod> component of your request. Eloqua supports multiple data centers, and the https://login.eloqua.com/id endpoint allows you to interface with Eloqua regardless of where the Eloqua install is located. It is important to validate your base URL before making any API calls. If you don't validate, your API calls may not work.

Learn about base URLs

HTTP verbs

Eloqua's API services support four different methods or "verbs": POST, GET, PUT and DELETE. In terms of database functions, these HTTP verbs correspond to the basic operations of "CRUD": create, read, update and delete.

  • GET is used to retrieve a representation or API entity from a resource. Can be used to retrieve one or more entities. The reporting API only supports GET requests.
  • POST is used to create a new resource.
  • PUT is used to update a resource.
  • DELETE is used to delete a resource.

Learn about HTTP verbs

HTTP request headers

Multiple request headers may be required for API requests to Eloqua's APIs, depending on the endpoint. The documentation for that endpoint will explain which headers are required. Generally, the request headers for most Eloqua endpoints are similar.

Learn about request headers

Request depth

Eloqua application and Bulk APIs can retrieve entities at three different levels of depth: minimal, partial, and complete. In general, requests at minimal depth will perform best, as they scan the least amount of data. For most application API endpoint properties, if a property in the root of the response does not have a value, that property will not be returned.

Learn about request depth

Note: The reporting API does not support request depth. Learn more about reporting API query options.

URL parameters

Application and Bulk request endpoints may also contain one or more URL parameters. Parameters are used to customize requests so as to more easily manipulate information in the database.

Learn more: URL parameters

HTTP status codes

In most cases Eloqua's APIs will respond to requests with the standard HTTP status code definitions. If the API fails to validate a request, it will respond with a validation error message (JSON or XML) describing the issue.

Learn about HTTP status codes

Bulk API status codes

In addition to the standard HTTP status codes, Eloqua includes specific status codes to help inform you when performing operations with the their APIs. Each status code has a number, as well as a human-readable message.

Learn about bulk API status codes

Validation errors

If the API fails to validate a request, it will respond with a 400 validation error message (JSON or XML) describing the issue.

Learn about validation errors

Endpoints

Endpoints allow access to Oracle Eloqua resources and operations. Each resource/operation is associated with a specific URL. Endpoints have can be accessed and manipulated through HTTP verbs, but not all verbs are valid for all endpoints.

Note: An endpoint is sometimes referred to as a "URI" or uniform resource identifier.

For example, performing a GET request on the REST 1.0 "assets/emails" endpoint will return a list of all the emails in your instance's database. However, you cannot perform a POST request on this endpoint.

See the API reference documentation

For more information about the endpoints beyond the reference material, such as tutorials and walkthroughs, see the links below.

Learn more about Bulk endpoints

Learn more about Application Endpoints