Skip to content

Instantly share code, notes, and snippets.

@ozzyrod
Last active May 13, 2026 17:21
Show Gist options
  • Select an option

  • Save ozzyrod/a4d760cfa68c1058da2f8ea1e0df6e62 to your computer and use it in GitHub Desktop.

Select an option

Save ozzyrod/a4d760cfa68c1058da2f8ea1e0df6e62 to your computer and use it in GitHub Desktop.
Oracle Eloqua REST API — OpenAPI 3.0 specification (358 paths, 550 operations)
openapi: 3.0.3
info:
title: Oracle Eloqua REST API
version: "2.0.0"
description: |
OpenAPI 3.0 specification for Oracle Eloqua REST APIs. Optimised for LLM tool-use
(e.g. Laravel MCP, OpenAI function-calling).
## Which API version to use
| API | Base path | Use when |
|-----|-----------|----------|
| **Application API 2.0** | `/api/rest/2.0/` | Default for all new work — contacts, accounts, campaigns, emails, forms, programs, SMS, folders, segments |
| **Application API 1.0** | `/api/REST/1.0/` | Resources not yet in v2: Content Sections, Microsites, Option Lists, Email Headers/Footers |
| **Bulk API 2.0** | `/api/bulk/2.0/` | Async exports/imports of large datasets (thousands+ records). Always 4-step workflow — never call data endpoints directly |
| **OData Reporting API** | `/API/OData/` | Read-only analytics: email clicks, bounces, campaign responses, account engagement |
## Bulk API 4-step workflow
The Bulk API is **asynchronous**. Data is never available immediately — always go through a sync:
```
Step 1 — Define
POST /api/bulk/2.0/contacts/exports
Body: {
"name": "My Export",
"fields": { "Email": "{{Contact.Field(C_EmailAddress)}}", "First": "{{Contact.Field(C_FirstName)}}" },
"filter": "{{Contact.Field(C_EmailAddress)}}='*@acme.com'"
}
← Returns: { "uri": "/contacts/exports/1", ... }
Step 2 — Trigger
POST /api/bulk/2.0/syncs
Body: { "syncedInstanceUri": "/contacts/exports/1" }
← Returns: { "uri": "/syncs/42", "status": "pending" }
Step 3 — Poll
GET /api/bulk/2.0/syncs/42
← Repeat until status = "success" | "warning" | "error"
"warning" = completed with some errors (check /syncs/42/logs)
"error" = failed entirely
Step 4 — Fetch
GET /api/bulk/2.0/syncs/42/data?offset=0&limit=50000
← Paginate: increment offset by limit until hasMore = false
```
For **imports**: define import → POST data to import URI → trigger sync → poll.
For **sync actions** (add to list, set field, etc.): define → POST member URIs as data → trigger → poll.
## Field statement syntax (Bulk API)
Fields in bulk definitions use Eloqua statement syntax:
- Contact standard field: `{{Contact.Field(C_EmailAddress)}}`
- Contact custom field: `{{Contact.Field(C_Custom_Field_Name)}}`
- Account field: `{{Account.Field(M_CompanyName)}}`
- Activity field: `{{Activity.Type}}`
Use `GET /api/bulk/2.0/contacts/fields` to discover available field statements.
## Authentication
All endpoints require one of:
- **HTTP Basic**: `Authorization: Basic base64(siteName\username:password)`
- **OAuth 2.0 Bearer**: `Authorization: Bearer <access_token>`
Your `siteName` and pod (`{instance}` server variable) are shown in your Eloqua login URL.
Common pod values: `secure`, `s1`, `s2`, `s3`, `s4`, `p01`.
## Pagination (Application API)
List endpoints use 1-based page numbers:
- `count` — records per page (default 100, max 1000)
- `page` — page number starting at 1
- Response includes `total` (total records matching filter)
## Search syntax
The `search` parameter accepts Eloqua Lucene-style expressions:
- `name=Acme*` — name starts with Acme
- `emailAddress=*@acme.com` — email domain match
- `updatedAt>='2024-01-01'` — date filter
- Multiple conditions: `firstName=John* AND lastName=Smith*`
contact:
url: https://docs.oracle.com/en/cloud/saas/marketing/eloqua-rest-api/
license:
name: Oracle Technology Network License
url: https://www.oracle.com/downloads/licenses/oracle-technology-license-agreement.html
externalDocs:
description: Oracle Eloqua REST API endpoint reference
url: https://docs.oracle.com/en/cloud/saas/marketing/eloqua-rest-api/rest-endpoints.html
servers:
- url: https://{instance}.eloqua.com
description: Oracle Eloqua instance
variables:
instance:
default: secure
description: |
Eloqua pod hostname prefix. Find yours in your Eloqua login URL.
Common values: secure, s1, s2, s3, s4, p01.
security:
- basicAuth: []
- bearerAuth: []
tags:
# ── Application API 1.0 ───────────────────────────────────────────────────
- name: Accounts (v1)
description: "App API 1.0 · Account management"
- name: Activities (v1)
description: "App API 1.0 · Contact activity retrieval"
- name: Contact Fields (v1)
description: "App API 1.0 · Contact field definitions"
- name: Contact Lists (v1)
description: "App API 1.0 · Contact list management"
- name: Contact Segments (v1)
description: "App API 1.0 · Contact segment management"
- name: Contacts (v1)
description: "App API 1.0 · Contact data"
- name: Content Sections (v1)
description: "App API 1.0 · Reusable HTML content blocks for emails and landing pages"
- name: Custom Object Data (v1)
description: "App API 1.0 · Custom object data instances"
- name: Custom Objects (v1)
description: "App API 1.0 · Custom object schema definitions"
- name: Email Folders (v1)
description: "App API 1.0 · Email asset folder management"
- name: Email Footers (v1)
description: "App API 1.0 · Reusable email footer blocks"
- name: Email Groups (v1)
description: "App API 1.0 · Email groups (subscription categories)"
- name: Email Headers (v1)
description: "App API 1.0 · Reusable email header blocks"
- name: Emails (v1)
description: "App API 1.0 · Email asset management"
- name: Form Data (v1)
description: "App API 1.0 · Form submission data"
- name: Forms (v1)
description: "App API 1.0 · Web form asset management"
- name: Images (v1)
description: "App API 1.0 · Image asset management"
- name: Landing Pages (v1)
description: "App API 1.0 · Landing page management"
- name: Microsites (v1)
description: "App API 1.0 · Microsite (custom domain) management"
- name: Option Lists (v1)
description: "App API 1.0 · Dropdown option list management"
- name: Users (v1)
description: "App API 1.0 · Eloqua user account management"
# ── Application API 2.0 ───────────────────────────────────────────────────
- name: Account Groups (v2)
description: "App API 2.0 · Account group (segment) management"
- name: Accounts (v2)
description: "App API 2.0 · Account (company) data"
- name: Activities (v2)
description: "App API 2.0 · Contact activity retrieval by type"
- name: Audit Logs (v2)
description: "App API 2.0 · System audit log export"
- name: Campaign Fields (v2)
description: "App API 2.0 · Campaign custom field definitions"
- name: Campaign Folders (v2)
description: "App API 2.0 · Campaign folder management"
- name: Campaigns (v2)
description: "App API 2.0 · Marketing campaign management and activation"
- name: Contact Filter Folders (v2)
description: "App API 2.0 · Contact filter folder management"
- name: Contact List Folders (v2)
description: "App API 2.0 · Contact list folder management"
- name: Contact Segment Folders (v2)
description: "App API 2.0 · Contact segment folder management"
- name: Contact Segments (v2)
description: "App API 2.0 · Dynamic contact segment management"
- name: Contacts (v2)
description: "App API 2.0 · Contact data (preferred over v1)"
- name: Countries (v2)
description: "App API 2.0 · Country reference data"
- name: Custom Object Data (v2)
description: "App API 2.0 · Custom object instance data (individual records)"
- name: Custom Objects (v2)
description: "App API 2.0 · Custom object schema definitions"
- name: Dedupe Rules (v2)
description: "App API 2.0 · Contact deduplication rule configuration"
- name: Email Deployment (v2)
description: "App API 2.0 · Single-send email deployment"
- name: Email Folders (v2)
description: "App API 2.0 · Email asset folder management"
- name: Emails (v2)
description: "App API 2.0 · Email asset management with archive support"
- name: Event Registrants (v2)
description: "App API 2.0 · Event registration instance data"
- name: Events (v2)
description: "App API 2.0 · Event registration asset management"
- name: External Activities (v2)
description: "App API 2.0 · External (non-Eloqua) activity tracking"
- name: External Asset Types (v2)
description: "App API 2.0 · External asset type definitions"
- name: External Assets (v2)
description: "App API 2.0 · External asset management"
- name: Form Data (v2)
description: "App API 2.0 · Form submission data with batch support"
- name: Form Folders (v2)
description: "App API 2.0 · Form folder management"
- name: Forms (v2)
description: "App API 2.0 · Web form asset management with archive support"
- name: Hyperlink Folders (v2)
description: "App API 2.0 · Hyperlink folder management"
- name: Image Folders (v2)
description: "App API 2.0 · Image folder management"
- name: Landing Pages (v2)
description: "App API 2.0 · Landing page management"
- name: Lookup Tables (v2)
description: "App API 2.0 · Lookup table and entry management"
- name: Programs (v2)
description: "App API 2.0 · Contact program (drip workflow) management and control"
- name: SMS (v2)
description: "App API 2.0 · SMS message asset management"
- name: SMS Codes (v2)
description: "App API 2.0 · SMS sender code reference"
- name: SMS Folders (v2)
description: "App API 2.0 · SMS asset folder management"
- name: SMS Invalid Keyword Messages (v2)
description: "App API 2.0 · SMS invalid keyword auto-response messages"
- name: SMS Keywords (v2)
description: "App API 2.0 · SMS opt-in/opt-out keyword management"
- name: SMS Subscription (v2)
description: "App API 2.0 · SMS contact subscription management"
- name: Security Groups (v2)
description: "App API 2.0 · User security group management"
- name: Signature Rule Mappings (v2)
description: "App API 2.0 · Email signature rule field mappings"
- name: Signature Rules (v2)
description: "App API 2.0 · Email sender signature rules"
- name: Users (v2)
description: "App API 2.0 · Eloqua user account management"
- name: Visitor Profile Fields (v2)
description: "App API 2.0 · Anonymous visitor profile field definitions"
- name: Visitors (v2)
description: "App API 2.0 · Anonymous website visitor data"
# ── Bulk API 2.0 ──────────────────────────────────────────────────────────
- name: Bulk Accounts
description: "Bulk API 2.0 · Async account exports, imports, and sync actions. Use the 4-step workflow: define → trigger sync → poll → fetch."
- name: Bulk Activities
description: "Bulk API 2.0 · Async activity exports and imports"
- name: Bulk Campaign Responses
description: "Bulk API 2.0 · Async campaign response exports and imports"
- name: Bulk Campaigns
description: "Bulk API 2.0 · Campaign field reference for bulk definitions"
- name: Bulk Contacts
description: "Bulk API 2.0 · Async contact exports, imports, and sync actions. The primary mechanism for large-scale contact data operations."
- name: Bulk Custom Objects
description: "Bulk API 2.0 · Async custom object exports, imports, and sync actions"
- name: Bulk Email Addresses
description: "Bulk API 2.0 · Async email address unsubscribe/bounce imports"
- name: Bulk Email Groups
description: "Bulk API 2.0 · Email group reference for bulk definitions"
- name: Bulk Events
description: "Bulk API 2.0 · Async event registration exports and imports"
- name: Bulk Exports
description: "Bulk API 2.0 · Global listing of all export definitions across all resource types"
- name: Bulk Imports
description: "Bulk API 2.0 · Global listing of all import definitions and priority queues"
- name: Bulk Opportunities
description: "Bulk API 2.0 · Async opportunity and opportunity-contact link imports"
- name: Bulk Phone Numbers
description: "Bulk API 2.0 · Async phone number imports"
- name: Bulk Sync Actions
description: "Bulk API 2.0 · Global listing of all sync action definitions"
- name: Bulk Syncs
description: "Bulk API 2.0 · Sync execution engine — trigger, poll, and retrieve results for any bulk operation"
# ── OData Reporting API 1.0 ───────────────────────────────────────────────
- name: Reporting Account Activity
description: "OData API 1.0 · Read-only account activity and engagement reporting"
- name: Reporting Activity Details
description: "OData API 1.0 · Read-only detailed contact activity data (clicks, opens, bounces, form submissions)"
components:
securitySchemes:
basicAuth:
type: http
scheme: basic
description: |
HTTP Basic authentication. Encode `siteName\username:password` in Base64.
Example header: `Authorization: Basic c2l0ZVxhZG1pbjpwYXNzd29yZA==`
bearerAuth:
type: http
scheme: bearer
description: |
OAuth 2.0 access token obtained via Eloqua's OAuth flow.
Example header: `Authorization: Bearer eyJ...`
parameters:
pathId:
name: id
in: path
required: true
description: Numeric ID of the resource.
schema:
type: integer
format: int64
minimum: 1
pathParentId:
name: parentId
in: path
required: true
description: Numeric ID of the parent resource (e.g. the custom object or event definition ID).
schema:
type: integer
format: int64
minimum: 1
pathRuleId:
name: ruleId
in: path
required: true
description: Numeric ID of the deduplication rule.
schema:
type: integer
format: int64
minimum: 1
pathFormId:
name: formId
in: path
required: true
description: Numeric ID of the form asset.
schema:
type: integer
format: int64
minimum: 1
pathFormSubmitJobId:
name: formSubmitJobId
in: path
required: true
description: Job ID returned from an async form-data export request.
schema:
type: string
pathBatchId:
name: batchId
in: path
required: true
description: Batch ID returned from a batch form submission.
schema:
type: string
pathBatchCorrelationId:
name: batchCorrelationId
in: path
required: true
description: Correlation ID used to track a specific batch form submission.
schema:
type: string
pathRowId:
name: rowId
in: path
required: true
description: Numeric row ID of an individual form data submission record.
schema:
type: integer
format: int64
minimum: 1
pathLookupTableId:
name: lookupTableId
in: path
required: true
description: Numeric ID of the lookup table.
schema:
type: integer
format: int64
minimum: 1
pathElementId:
name: elementId
in: path
required: true
description: Numeric ID of the lookup table entry.
schema:
type: integer
format: int64
minimum: 1
queryCount:
name: count
in: query
required: false
description: |
Maximum number of records to return per page. Default: 100. Max: 1000.
Use with `page` to paginate through large result sets.
schema:
type: integer
default: 100
minimum: 1
maximum: 1000
queryPage:
name: page
in: query
required: false
description: |
1-based page number. Use with `count` to paginate.
Example: page=2&count=100 returns records 101–200.
schema:
type: integer
default: 1
minimum: 1
querySearch:
name: search
in: query
required: false
description: |
Lucene-style filter expression. Examples:
- `name=Acme*` — name starts with Acme
- `emailAddress=*@acme.com` — email domain match
- `firstName=John* AND company=Acme*` — multiple conditions
Omit to return all records (subject to count/page limits).
schema:
type: string
queryOrderBy:
name: orderBy
in: query
required: false
description: |
Field to sort results by, optionally followed by direction.
Examples: `name ASC`, `updatedAt DESC`, `id ASC`.
schema:
type: string
queryDepth:
name: depth
in: query
required: false
description: |
Controls how much detail is returned for each resource:
- `minimal` — id and name only (fastest, lowest payload)
- `partial` — common fields, excludes large/nested objects
- `complete` — all fields including custom field values and nested objects (default)
Use `minimal` or `partial` when fetching lists for performance.
schema:
type: string
enum: [minimal, partial, complete]
default: complete
queryLastUpdatedAt:
name: lastUpdatedAt
in: query
required: false
description: |
Unix timestamp (seconds since epoch). When set, returns only records
updated after this time. Useful for incremental sync patterns.
Example: 1704067200 (2024-01-01T00:00:00Z)
schema:
type: integer
format: int64
bulkOffset:
name: offset
in: query
required: false
description: |
Zero-based record offset for paginating bulk data results.
Increment by `limit` on each request until `hasMore` is false.
schema:
type: integer
default: 0
minimum: 0
bulkLimit:
name: limit
in: query
required: false
description: |
Maximum records to return per bulk data request. Max: 50000.
Use the largest value your client can handle to minimise round-trips.
schema:
type: integer
default: 1000
minimum: 1
maximum: 50000
schemas:
Resource:
type: object
description: |
Base fields shared by all Eloqua assets and data records.
Custom field values are in the `fieldValues` array for typed resources.
properties:
id:
type: string
readOnly: true
description: Unique numeric ID assigned by Eloqua (returned as a string).
name:
type: string
description: Display name of the resource.
description:
type: string
description: Optional long-form description.
type:
type: string
readOnly: true
description: Eloqua object type identifier (e.g. "Contact", "Email").
folderId:
type: string
description: ID of the folder this asset belongs to.
createdAt:
type: string
readOnly: true
description: Unix timestamp of creation.
createdBy:
type: string
readOnly: true
description: ID of the user who created this resource.
updatedAt:
type: string
readOnly: true
description: Unix timestamp of the last update.
updatedBy:
type: string
readOnly: true
description: ID of the user who last updated this resource.
permissions:
type: array
items:
type: string
readOnly: true
description: List of permission strings for the current user.
FieldValue:
type: object
description: A single custom field value on a contact, account, or custom object record.
properties:
id:
type: string
description: The field definition ID (matches the id from the contact/account fields endpoint).
value:
type: string
description: |
The field value, always encoded as a string regardless of field type.
Dates use Unix timestamp strings. Booleans use "true"/"false".
type:
type: string
readOnly: true
description: Field type (e.g. "FieldValue").
Contact:
description: |
An Eloqua contact record representing an individual person.
The emailAddress field is the primary identifier and must be unique per Eloqua instance.
Custom fields are in the fieldValues array — use GET /api/rest/2.0/assets/contact/fields
to discover available field IDs and names.
allOf:
- $ref: '#/components/schemas/Resource'
- type: object
properties:
firstName:
type: string
description: Contact's first name.
lastName:
type: string
description: Contact's last name.
emailAddress:
type: string
format: email
description: Primary email address. Must be unique within the Eloqua instance.
title:
type: string
description: Job title.
company:
type: string
description: Current employer / company name.
businessPhone:
type: string
description: Primary business phone number.
mobilePhone:
type: string
description: Mobile phone number.
fax:
type: string
description: Fax number.
address1:
type: string
description: Street address line 1.
address2:
type: string
description: Street address line 2.
city:
type: string
province:
type: string
description: State or province.
postalCode:
type: string
country:
type: string
isSubscribed:
type: string
description: Email subscription status ("Yes", "No").
isBounced:
type: string
description: Whether the contact's email has hard-bounced ("Yes", "No").
accountId:
type: string
description: ID of the linked Account record.
fieldValues:
type: array
description: Custom field values. Each item maps a field ID to its value.
items:
$ref: '#/components/schemas/FieldValue'
Account:
description: |
An Eloqua account record representing a company or organisation.
Accounts can be linked to contacts via the contact's accountId field.
Custom fields are in the fieldValues array — use GET /api/REST/1.0/assets/account/fields
(Bulk API) to discover available field IDs.
allOf:
- $ref: '#/components/schemas/Resource'
- type: object
properties:
companyName:
type: string
description: Primary company name. Acts as the display name.
industry:
type: string
description: Industry category.
annualRevenue:
type: string
description: Annual revenue (stored as string).
numberOfEmployees:
type: string
description: Employee count (stored as string).
address1:
type: string
city:
type: string
province:
type: string
postalCode:
type: string
country:
type: string
website:
type: string
primaryPhone:
type: string
fieldValues:
type: array
items:
$ref: '#/components/schemas/FieldValue'
Email:
description: |
An Eloqua email asset. Emails must belong to an emailGroup (subscription category).
HTML content is set via htmlContent.html. Use the fromName/fromEmail fields to
control the sender — these can reference merge fields (e.g. {{Sender.Name}}).
allOf:
- $ref: '#/components/schemas/Resource'
- type: object
properties:
subject:
type: string
description: Email subject line. Supports merge fields (e.g. "Hi {{Contact.FirstName}}").
htmlContent:
type: object
description: HTML body content wrapper.
properties:
type:
type: string
enum: [RawHtmlContent, EncodedHtmlContent]
description: Use RawHtmlContent for standard HTML.
html:
type: string
description: Full HTML source of the email body.
plainTextContent:
type: object
description: Plain-text fallback content.
properties:
type:
type: string
content:
type: string
fromName:
type: string
description: "Sender display name. Supports merge fields. Example: {{Sender.Name}}"
fromEmail:
type: string
description: "Sender email address. Example: noreply@acme.com"
replyToName:
type: string
description: Reply-to display name.
replyToEmail:
type: string
description: Reply-to email address.
bouncebackEmail:
type: string
description: Address to receive bounce notifications.
emailGroupId:
type: string
description: |
ID of the email group (subscription category) this email belongs to.
Required — contacts can unsubscribe at the group level.
isTracked:
type: boolean
description: Whether email opens and clicks are tracked (default true).
isPlainTextEditable:
type: boolean
Campaign:
description: |
An Eloqua marketing campaign. Campaigns are either Simple (one email blast)
or Multi-step (orchestrated sequence). A campaign must be in draft before
it can be activated. Activating a campaign sends emails — verify carefully
before calling the activate endpoint.
allOf:
- $ref: '#/components/schemas/Resource'
- type: object
properties:
type:
type: string
enum: [Simple, Multi-step]
description: Campaign type. Multi-step campaigns support decision steps and wait steps.
startAt:
type: string
description: Campaign start date as Unix timestamp string.
endAt:
type: string
description: Campaign end date as Unix timestamp string.
actualCost:
type: number
description: Actual spend tracked against this campaign.
budgetedCost:
type: number
description: Planned budget for this campaign.
folderId:
type: string
currentStatus:
type: string
readOnly: true
enum: [Draft, Active, Completed, Cancelled]
elements:
type: array
description: Campaign steps (email sends, decision steps, wait steps).
items:
type: object
additionalProperties: true
Form:
description: |
An Eloqua web form asset. Forms capture contact data and trigger processing steps
(e.g. update contact, add to list, notify user). Embed forms in landing pages
or external sites using the generated embed code.
allOf:
- $ref: '#/components/schemas/Resource'
- type: object
properties:
htmlName:
type: string
description: Internal HTML name used in embed code. Alphanumeric and underscores only.
customCSS:
type: string
description: Custom CSS styles applied to the form.
elements:
type: array
description: Form field elements (text inputs, dropdowns, hidden fields, etc.).
items:
type: object
additionalProperties: true
processingSteps:
type: array
description: |
Post-submission processing steps executed in order.
Examples: Update Contact, Add to List, Send Notification Email.
items:
type: object
additionalProperties: true
style:
type: object
additionalProperties: true
LandingPage:
description: |
An Eloqua-hosted landing page. Landing pages are associated with a microsite
(custom domain) and accessible via their relativeUrl. They can contain
embedded forms and personalisation merge fields.
allOf:
- $ref: '#/components/schemas/Resource'
- type: object
properties:
htmlContent:
type: object
properties:
type:
type: string
html:
type: string
description: Full HTML source of the landing page.
relativeUrl:
type: string
description: URL path relative to the microsite root (e.g. "/thank-you").
micrositeId:
type: string
description: ID of the microsite (custom domain) hosting this page.
deployedAt:
type: string
readOnly: true
description: Unix timestamp of last deployment.
style:
type: object
additionalProperties: true
CustomObject:
description: |
An Eloqua custom object definition — a user-defined data table that can be
linked to contacts. Each custom object has fields and stores data as instances.
Use the Custom Object Data endpoints to manage individual records.
allOf:
- $ref: '#/components/schemas/Resource'
- type: object
properties:
fields:
type: array
description: Field definitions for this custom object.
items:
$ref: '#/components/schemas/CustomObjectField'
displayNameFieldId:
type: string
description: ID of the field used as the display name for instances.
uniqueCodeFieldId:
type: string
description: ID of the field used as the unique identifier for instances.
CustomObjectField:
type: object
description: A field definition within a custom object schema.
properties:
id:
type: string
readOnly: true
name:
type: string
internalName:
type: string
description: System name used in Bulk API field statements.
dataType:
type: string
enum: [text, largeText, numeric, date, dateTime]
isRequired:
type: boolean
maximumLength:
type: integer
description: Max character length (for text fields).
User:
description: An Eloqua user account with login credentials and role permissions.
allOf:
- $ref: '#/components/schemas/Resource'
- type: object
properties:
loginName:
type: string
description: Unique login username.
emailAddress:
type: string
format: email
isEnabled:
type: boolean
description: Whether the user can log in.
capabilities:
type: array
items:
type: string
description: List of permission capability strings.
defaultAccountViewId:
type: string
preferredTimezone:
type: string
description: "IANA timezone name (e.g. America/New_York)."
preferredLanguage:
type: string
ResourceList:
type: object
properties:
elements:
type: array
items:
$ref: '#/components/schemas/Resource'
total:
type: integer
readOnly: true
description: Total number of records matching the search filter (across all pages).
page:
type: integer
readOnly: true
pageSize:
type: integer
readOnly: true
FolderContents:
type: object
properties:
elements:
type: array
items:
$ref: '#/components/schemas/Resource'
total:
type: integer
MembershipList:
type: object
properties:
elements:
type: array
items:
type: object
properties:
id:
type: string
name:
type: string
type:
type: string
total:
type: integer
ErrorResponse:
type: object
properties:
status:
type: integer
description: HTTP status code.
title:
type: string
description: Short error title.
detail:
type: string
description: Human-readable error explanation.
type:
type: string
description: Error type URI.
validationErrors:
type: array
items:
type: object
properties:
field:
type: string
requirement:
type: string
BulkDefinition:
type: object
description: |
A bulk export, import, or sync action definition.
The `fields` map uses aliases (your chosen names) as keys and Eloqua field
statements as values. Example:
fields:
Email: "{{Contact.Field(C_EmailAddress)}}"
FirstName: "{{Contact.Field(C_FirstName)}}"
Use GET /api/bulk/2.0/contacts/fields to discover available field statements.
properties:
name:
type: string
description: Human-readable name for this definition.
fields:
type: object
additionalProperties:
type: string
description: Map of alias → Eloqua field statement.
filter:
type: string
description: |
Eloqua filter expression restricting which records are exported.
Example: "{{Contact.Field(C_EmailAddress)}}='*@acme.com'"
Omit to export all records.
identifierFieldName:
type: string
description: |
(Imports) The alias of the field used to match existing records.
Typically "Email" or a unique ID field alias.
isSyncTriggeredOnImport:
type: boolean
description: If true, Eloqua triggers a CRM sync after this import completes.
uri:
type: string
readOnly: true
description: |
The URI of this definition, used as the `syncedInstanceUri` body field
when triggering a sync via POST /api/bulk/2.0/syncs.
createdAt:
type: string
readOnly: true
updatedAt:
type: string
readOnly: true
status:
type: string
readOnly: true
BulkSync:
type: object
description: |
A bulk sync execution record. Create one via POST /api/bulk/2.0/syncs to
trigger an export, import, or sync action. Poll GET /api/bulk/2.0/syncs/{id}
until status reaches a terminal state.
properties:
syncedInstanceUri:
type: string
description: URI of the export/import/syncAction definition to execute.
status:
type: string
enum: [pending, active, success, warning, error]
description: |
Terminal states: success (all records processed), warning (partial —
check /logs for details), error (failed — check /logs for cause).
createdAt:
type: string
readOnly: true
startedAt:
type: string
readOnly: true
endedAt:
type: string
readOnly: true
uri:
type: string
readOnly: true
description: URI of this sync, e.g. "/syncs/42". Extract the ID for polling.
BulkSyncLog:
type: object
description: Log messages from a sync execution. Check this after warning/error status.
properties:
count:
type: integer
items:
type: array
items:
type: object
properties:
severity:
type: string
enum: [information, warning, error]
statusCode:
type: string
description: Machine-readable error code.
message:
type: string
description: Human-readable error detail.
count:
type: integer
description: Number of records affected by this log entry.
BulkData:
type: object
description: |
Paged bulk data result. Paginate by incrementing `offset` by `limit`
on each request until `hasMore` is false.
properties:
count:
type: integer
description: Number of records in this response page.
hasMore:
type: boolean
description: True if more records remain beyond this page.
items:
type: array
items:
type: object
additionalProperties: true
description: Array of records, each an object with the aliased field names as keys.
totalResults:
type: integer
description: Total records available (may be null for large exports).
BulkFieldList:
type: object
description: List of available fields for use in bulk definition field statements.
properties:
count:
type: integer
items:
type: array
items:
type: object
properties:
name:
type: string
description: Human-readable field name.
internalName:
type: string
description: Internal system name.
dataType:
type: string
description: "Field data type (e.g. text, numeric, date)."
hasReadOnlyConstraint:
type: boolean
description: If true, the field cannot be imported/written.
uri:
type: string
description: Field statement URI to use in bulk definition fields map.
BulkList:
type: object
properties:
count:
type: integer
items:
type: array
items:
$ref: '#/components/schemas/BulkDefinition'
ODataCollection:
type: object
properties:
"@odata.context":
type: string
"@odata.count":
type: integer
value:
type: array
items:
type: object
additionalProperties: true
ODataEntity:
type: object
properties:
"@odata.context":
type: string
additionalProperties: true
responses:
Resource:
description: Single resource
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
ResourceCreated:
description: Resource created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
ResourceList:
description: Paged list of resources
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceList'
FolderContents:
description: Folder contents
content:
application/json:
schema:
$ref: '#/components/schemas/FolderContents'
MembershipList:
description: Membership list
content:
application/json:
schema:
$ref: '#/components/schemas/MembershipList'
NoContent:
description: Success — no body returned
Error:
description: Error response
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
BulkDefinition:
description: Bulk export/import/syncAction definition
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
BulkList:
description: List of bulk definitions
content:
application/json:
schema:
$ref: '#/components/schemas/BulkList'
BulkSync:
description: Sync execution record
content:
application/json:
schema:
$ref: '#/components/schemas/BulkSync'
BulkSyncList:
description: List of sync executions
content:
application/json:
schema:
type: object
properties:
count:
type: integer
items:
type: array
items:
$ref: '#/components/schemas/BulkSync'
BulkSyncLog:
description: Sync log entries
content:
application/json:
schema:
$ref: '#/components/schemas/BulkSyncLog'
BulkData:
description: Paged bulk data records
content:
application/json:
schema:
$ref: '#/components/schemas/BulkData'
BulkFieldList:
description: Available field statements
content:
application/json:
schema:
$ref: '#/components/schemas/BulkFieldList'
ODataCollection:
description: OData entity collection
content:
application/json:
schema:
$ref: '#/components/schemas/ODataCollection'
ODataEntity:
description: OData single entity
content:
application/json:
schema:
$ref: '#/components/schemas/ODataEntity'
paths:
/api/REST/1.0/data/account:
post:
tags: ["Accounts (v1)"]
operationId: createAccountV1
summary: Create an account
description: |
Create a new account (company) record. Returns the created account with its
system-assigned id. Prefer API 2.0 for new integrations.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Account'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/data/accounts:
get:
tags: ["Accounts (v1)"]
operationId: listAccountsV1
summary: List accounts
description: |
Retrieve a paginated list of account records. Filter with Lucene syntax via
`search` (e.g. `companyName=Acme*`). Use `depth=minimal` for lightweight
id+name responses.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
- $ref: '#/components/parameters/queryLastUpdatedAt'
responses:
'200':
$ref: '#/components/responses/ResourceList'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/data/account/{id}:
get:
tags: ["Accounts (v1)"]
operationId: getAccountV1
summary: Get an account
description: |
Retrieve a single account by its numeric ID. Use `depth=complete` to include
all custom field values.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
put:
tags: ["Accounts (v1)"]
operationId: updateAccountV1
summary: Update an account
description: |
Update an account's fields. Submit the full account object with modified
values. Returns the updated account.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Account'
responses:
'200':
$ref: '#/components/responses/Resource'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
delete:
tags: ["Accounts (v1)"]
operationId: deleteAccountV1
x-destructive: true
summary: Delete an account
description: |
**Permanently delete** an account record. This action cannot be undone.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/NoContent'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/REST/1.0/data/activities/contact/{id}:
get:
tags: ["Activities (v1)"]
operationId: listContactActivitiesV1
summary: List contact activities
description: |
Retrieve a list of tracked activities for a specific contact (email opens,
clicks, form submits, page views, etc.). Results are limited to activities
within the retention window.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/contact/field:
post:
tags: ["Contact Fields (v1)"]
operationId: createContactFieldV1
summary: Create a contact field
description: |
Create a new custom contact field definition. Returns the field with its
assigned id, which is used in fieldValues arrays on contact records.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/contact/fields:
get:
tags: ["Contact Fields (v1)"]
operationId: listContactFieldsV1
summary: List contact fields
description: |
List all contact field definitions (standard and custom). Use this to discover
field IDs needed for reading/writing contact fieldValues.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/contact/field/{id}:
get:
tags: ["Contact Fields (v1)"]
operationId: getContactFieldV1
summary: Get a contact field
description: |
Retrieve a single contact field definition by ID.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
put:
tags: ["Contact Fields (v1)"]
operationId: updateContactFieldV1
summary: Update a contact field
description: |
Update a contact field definition (name, display settings). Field type cannot
be changed after creation.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
delete:
tags: ["Contact Fields (v1)"]
operationId: deleteContactFieldV1
x-destructive: true
summary: Delete a contact field
description: |
**Permanently delete** a custom contact field and all its data. This action
cannot be undone.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/NoContent'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/contact/list:
post:
tags: ["Contact Lists (v1)"]
operationId: createContactListV1
summary: Create a contact list
description: |
Create a new static contact list. Contacts are added/removed manually or via
form processing steps.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/contact/lists:
get:
tags: ["Contact Lists (v1)"]
operationId: listContactListsV1
summary: List contact lists
description: |
List all contact lists in the account. Use for discovering list IDs needed by
campaign targeting and form processing.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/contact/list/{id}:
get:
tags: ["Contact Lists (v1)"]
operationId: getContactListV1
summary: Get a contact list
description: |
Retrieve a contact list by ID, including its membership count.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
put:
tags: ["Contact Lists (v1)"]
operationId: updateContactListV1
summary: Update a contact list
description: |
Update a contact list's name or description.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
delete:
tags: ["Contact Lists (v1)"]
operationId: deleteContactListV1
x-destructive: true
summary: Delete a contact list
description: |
**Permanently delete** a contact list. Contacts in the list are not deleted.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/NoContent'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/contact/segment:
post:
tags: ["Contact Segments (v1)"]
operationId: createContactSegmentV1
summary: Create a contact segment
description: |
Create a new dynamic contact segment with filter criteria. Segments auto-update
as contacts match/unmatch the criteria.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/contact/segments:
get:
tags: ["Contact Segments (v1)"]
operationId: listContactSegmentsV1
summary: List contact segments
description: |
List all contact segments. Returns segment names and IDs for use in campaign
targeting.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/contact/segment/{id}:
get:
tags: ["Contact Segments (v1)"]
operationId: getContactSegmentV1
summary: Get a contact segment
description: |
Retrieve a contact segment by ID, including its filter criteria.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
put:
tags: ["Contact Segments (v1)"]
operationId: updateContactSegmentV1
summary: Update a contact segment
description: |
Update a segment's name, description, or filter criteria.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
delete:
tags: ["Contact Segments (v1)"]
operationId: deleteContactSegmentV1
x-destructive: true
summary: Delete a contact segment
description: |
**Permanently delete** a contact segment. Contacts are not deleted.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/NoContent'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/REST/1.0/data/contact:
post:
tags: ["Contacts (v1)"]
operationId: createContactV1
summary: Create a contact
description: |
Create a new contact record. The emailAddress must be unique within the Eloqua
instance. Returns the created contact with its system-assigned id. Prefer API
2.0 for new integrations.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Contact'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/data/contacts:
get:
tags: ["Contacts (v1)"]
operationId: listContactsV1
summary: List contacts
description: |
Retrieve a paginated list of contacts. Filter with Lucene syntax
(e.g. `emailAddress=*@acme.com`). Use `depth=minimal` for id+name only.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
- $ref: '#/components/parameters/queryLastUpdatedAt'
responses:
'200':
$ref: '#/components/responses/ResourceList'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/data/contact/{id}:
get:
tags: ["Contacts (v1)"]
operationId: getContactV1
summary: Get a contact
description: |
Retrieve a single contact by ID. Use `depth=complete` to include all custom
field values in the fieldValues array.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
put:
tags: ["Contacts (v1)"]
operationId: updateContactV1
summary: Update a contact
description: |
Update a contact's fields. The emailAddress cannot be changed to one already
used by another contact.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Contact'
responses:
'200':
$ref: '#/components/responses/Resource'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
delete:
tags: ["Contacts (v1)"]
operationId: deleteContactV1
x-destructive: true
summary: Delete a contact
description: |
**Permanently delete** a contact record and all associated activity history.
This action cannot be undone.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/NoContent'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/contentSection:
post:
tags: ["Content Sections (v1)"]
operationId: createContentSectionV1
summary: Create a content section
description: |
Create a reusable HTML content block that can be embedded in emails and
landing pages.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/contentSections:
get:
tags: ["Content Sections (v1)"]
operationId: listContentSectionsV1
summary: List content sections
description: |
List all content sections in the account.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/contentSection/{id}:
get:
tags: ["Content Sections (v1)"]
operationId: getContentSectionV1
summary: Get a content section
description: |
Retrieve a content section by ID, including its HTML source.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
put:
tags: ["Content Sections (v1)"]
operationId: updateContentSectionV1
summary: Update a content section
description: |
Update a content section's HTML or name.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
delete:
tags: ["Content Sections (v1)"]
operationId: deleteContentSectionV1
x-destructive: true
summary: Delete a content section
description: |
**Permanently delete** a content section. Emails/pages referencing it will be
affected.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/NoContent'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/REST/1.0/data/customObject/{id}:
post:
tags: ["Custom Object Data (v1)"]
operationId: createCustomObjectDataV1
summary: Create a custom object record
description: |
Create a new data instance (record) in the custom object identified by {id}.
Returns the created instance.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
get:
tags: ["Custom Object Data (v1)"]
operationId: getCustomObjectDataV1
summary: Get custom object records
description: |
Retrieve data instances from a custom object. Returns a list of records.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
responses:
'200':
$ref: '#/components/responses/ResourceList'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/customObject:
post:
tags: ["Custom Objects (v1)"]
operationId: createCustomObjectV1
summary: Create a custom object
description: |
Create a new custom object schema definition including its field structure.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomObject'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/customObjects:
get:
tags: ["Custom Objects (v1)"]
operationId: listCustomObjectsV1
summary: List custom objects
description: |
List all custom object definitions in the account.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/customObject/{id}:
get:
tags: ["Custom Objects (v1)"]
operationId: getCustomObjectV1
summary: Get a custom object
description: |
Retrieve a custom object schema definition by ID, including its field
definitions.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
put:
tags: ["Custom Objects (v1)"]
operationId: updateCustomObjectV1
summary: Update a custom object
description: |
Update a custom object's schema (name or description). Field changes require
separate field management.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomObject'
responses:
'200':
$ref: '#/components/responses/Resource'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
delete:
tags: ["Custom Objects (v1)"]
operationId: deleteCustomObjectV1
x-destructive: true
summary: Delete a custom object
description: |
**Permanently delete** a custom object definition and ALL its data. This action
cannot be undone.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/NoContent'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/email/folder:
post:
tags: ["Email Folders (v1)"]
operationId: createEmailFolderV1
summary: Create an email folder
description: |
Create a new folder for organising email assets.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/email/folders:
get:
tags: ["Email Folders (v1)"]
operationId: listEmailFoldersV1
summary: List email folders
description: |
List all email folders in the account.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/email/folder/{id}:
get:
tags: ["Email Folders (v1)"]
operationId: getEmailFolderV1
summary: Get an email folder
description: |
Retrieve an email folder by ID.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
put:
tags: ["Email Folders (v1)"]
operationId: updateEmailFolderV1
summary: Update an email folder
description: |
Rename or move an email folder.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
delete:
tags: ["Email Folders (v1)"]
operationId: deleteEmailFolderV1
x-destructive: true
summary: Delete an email folder
description: |
**Permanently delete** an email folder. Assets inside are not deleted — they
become unfoldered.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/NoContent'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/email/footer:
post:
tags: ["Email Footers (v1)"]
operationId: createEmailFooterV1
summary: Create an email footer
description: |
Create a reusable email footer block (contains unsubscribe links, physical
address, etc.).
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/email/footers:
get:
tags: ["Email Footers (v1)"]
operationId: listEmailFootersV1
summary: List email footers
description: |
List all email footer blocks.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/email/footer/{id}:
get:
tags: ["Email Footers (v1)"]
operationId: getEmailFooterV1
summary: Get an email footer
description: |
Retrieve an email footer by ID, including its HTML source.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
put:
tags: ["Email Footers (v1)"]
operationId: updateEmailFooterV1
summary: Update an email footer
description: |
Update an email footer's HTML or configuration.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
delete:
tags: ["Email Footers (v1)"]
operationId: deleteEmailFooterV1
x-destructive: true
summary: Delete an email footer
description: |
**Permanently delete** an email footer.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/NoContent'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/email/group:
post:
tags: ["Email Groups (v1)"]
operationId: createEmailGroupV1
summary: Create an email group
description: |
Create a new email group (subscription category). Contacts can subscribe or
unsubscribe per group. All emails must be assigned to a group.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/email/groups:
get:
tags: ["Email Groups (v1)"]
operationId: listEmailGroupsV1
summary: List email groups
description: |
List all email groups. Use this to find emailGroupId values required when
creating email assets.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/email/group/{id}:
get:
tags: ["Email Groups (v1)"]
operationId: getEmailGroupV1
summary: Get an email group
description: |
Retrieve an email group by ID.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
put:
tags: ["Email Groups (v1)"]
operationId: updateEmailGroupV1
summary: Update an email group
description: |
Update an email group's name or description.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
delete:
tags: ["Email Groups (v1)"]
operationId: deleteEmailGroupV1
x-destructive: true
summary: Delete an email group
description: |
**Permanently delete** an email group. Emails assigned to this group must be
reassigned first.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/NoContent'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/email/header:
post:
tags: ["Email Headers (v1)"]
operationId: createEmailHeaderV1
summary: Create an email header
description: |
Create a reusable email header block (logo, navigation bar, etc.).
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/email/headers:
get:
tags: ["Email Headers (v1)"]
operationId: listEmailHeadersV1
summary: List email headers
description: |
List all email header blocks.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/email/header/{id}:
get:
tags: ["Email Headers (v1)"]
operationId: getEmailHeaderV1
summary: Get an email header
description: |
Retrieve an email header by ID, including its HTML source.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
put:
tags: ["Email Headers (v1)"]
operationId: updateEmailHeaderV1
summary: Update an email header
description: |
Update an email header's HTML or settings.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
delete:
tags: ["Email Headers (v1)"]
operationId: deleteEmailHeaderV1
x-destructive: true
summary: Delete an email header
description: |
**Permanently delete** an email header.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/NoContent'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/email:
post:
tags: ["Emails (v1)"]
operationId: createEmailV1
summary: Create an email
description: |
Create a new email asset. Requires an emailGroupId. Use the Email schema for
the request body, including subject, htmlContent, fromName, and fromEmail.
Prefer API 2.0 for new work.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Email'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/emails:
get:
tags: ["Emails (v1)"]
operationId: listEmailsV1
summary: List emails
description: |
List email assets. Returns names and IDs. Use `depth=complete` to include HTML
content.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/email/{id}:
get:
tags: ["Emails (v1)"]
operationId: getEmailV1
summary: Get an email
description: |
Retrieve an email asset by ID, including its full HTML content and
configuration.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
put:
tags: ["Emails (v1)"]
operationId: updateEmailV1
summary: Update an email
description: |
Update an email asset's content, subject line, sender fields, or settings.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Email'
responses:
'200':
$ref: '#/components/responses/Resource'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
delete:
tags: ["Emails (v1)"]
operationId: deleteEmailV1
x-destructive: true
summary: Delete an email
description: |
**Permanently delete** an email asset.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/NoContent'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/REST/1.0/data/form/{id}:
post:
tags: ["Form Data (v1)"]
operationId: submitFormDataV1
summary: Submit form data
description: |
Submit a form data record as if a contact had submitted the form. Triggers the
form's processing steps. Use {id} = the form asset ID.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
get:
tags: ["Form Data (v1)"]
operationId: getFormDataOverviewV1
summary: Get form data overview
description: |
Retrieve a summary of form submission data for the specified form.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/REST/1.0/data/form/{formId}/formData:
get:
tags: ["Form Data (v1)"]
operationId: listFormSubmissionsV1
summary: List form submissions
description: |
Retrieve a paginated list of individual form submissions for a form. Use
pathFormId for {formId}.
parameters:
- $ref: '#/components/parameters/pathFormId'
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
responses:
'200':
$ref: '#/components/responses/ResourceList'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/REST/1.0/data/form/{formId}/formData/{formSubmitJobId}:
get:
tags: ["Form Data (v1)"]
operationId: getFormSubmissionV1
summary: Get a form submission
description: |
Retrieve a specific form submission record by job ID.
parameters:
- $ref: '#/components/parameters/pathFormId'
- $ref: '#/components/parameters/pathFormSubmitJobId'
responses:
'200':
$ref: '#/components/responses/Resource'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/form:
post:
tags: ["Forms (v1)"]
operationId: createFormV1
summary: Create a form
description: |
Create a new web form asset with fields and processing steps.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Form'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/forms:
get:
tags: ["Forms (v1)"]
operationId: listFormsV1
summary: List forms
description: |
List form assets. Returns names and IDs.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/form/{id}:
get:
tags: ["Forms (v1)"]
operationId: getFormV1
summary: Get a form
description: |
Retrieve a form by ID, including all form fields and processing steps.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
put:
tags: ["Forms (v1)"]
operationId: updateFormV1
summary: Update a form
description: |
Update a form's configuration, fields, or processing steps.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Form'
responses:
'200':
$ref: '#/components/responses/Resource'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
delete:
tags: ["Forms (v1)"]
operationId: deleteFormV1
x-destructive: true
summary: Delete a form
description: |
**Permanently delete** a form asset. Submitted data is retained.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/NoContent'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/image/content:
post:
tags: ["Images (v1)"]
operationId: uploadImageV1
summary: Upload an image
description: |
Upload an image file to the Eloqua image library. Use multipart/form-data with
a `file` field. Returns the image asset with its hosted URL.
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
required:
- file
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/images:
get:
tags: ["Images (v1)"]
operationId: listImagesV1
summary: List images
description: |
List image assets in the library.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/image/{id}:
get:
tags: ["Images (v1)"]
operationId: getImageV1
summary: Get an image
description: |
Retrieve an image asset by ID, including its hosted URL.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
put:
tags: ["Images (v1)"]
operationId: updateImageV1
summary: Update an image
description: |
Update an image asset's name or folder.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
delete:
tags: ["Images (v1)"]
operationId: deleteImageV1
x-destructive: true
summary: Delete an image
description: |
**Permanently delete** an image asset from the library.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/NoContent'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/landingPage:
post:
tags: ["Landing Pages (v1)"]
operationId: createLandingPageV1
summary: Create a landing page
description: |
Create a new Eloqua-hosted landing page. Requires associating with a microsite.
Prefer API 2.0 for new work.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/LandingPage'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/landingPages:
get:
tags: ["Landing Pages (v1)"]
operationId: listLandingPagesV1
summary: List landing pages
description: |
List landing page assets.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/landingPage/{id}:
get:
tags: ["Landing Pages (v1)"]
operationId: getLandingPageV1
summary: Get a landing page
description: |
Retrieve a landing page by ID, including its HTML content.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
put:
tags: ["Landing Pages (v1)"]
operationId: updateLandingPageV1
summary: Update a landing page
description: |
Update a landing page's HTML content or settings.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/LandingPage'
responses:
'200':
$ref: '#/components/responses/Resource'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
delete:
tags: ["Landing Pages (v1)"]
operationId: deleteLandingPageV1
x-destructive: true
summary: Delete a landing page
description: |
**Permanently delete** a landing page.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/NoContent'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/microsite:
post:
tags: ["Microsites (v1)"]
operationId: createMicrositeV1
summary: Create a microsite
description: |
Create a new microsite (custom domain configuration for landing pages).
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/microsites:
get:
tags: ["Microsites (v1)"]
operationId: listMicrositesV1
summary: List microsites
description: |
List all microsites in the account.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/microsite/{id}:
get:
tags: ["Microsites (v1)"]
operationId: getMicrositeV1
summary: Get a microsite
description: |
Retrieve a microsite by ID.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
put:
tags: ["Microsites (v1)"]
operationId: updateMicrositeV1
summary: Update a microsite
description: |
Update a microsite's configuration.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
delete:
tags: ["Microsites (v1)"]
operationId: deleteMicrositeV1
x-destructive: true
summary: Delete a microsite
description: |
**Permanently delete** a microsite.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/NoContent'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/optionList:
post:
tags: ["Option Lists (v1)"]
operationId: createOptionListV1
summary: Create an option list
description: |
Create a new option list (shared dropdown values) for use in contact fields.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/optionLists:
get:
tags: ["Option Lists (v1)"]
operationId: listOptionListsV1
summary: List option lists
description: |
List all option lists.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/assets/optionList/{id}:
get:
tags: ["Option Lists (v1)"]
operationId: getOptionListV1
summary: Get an option list
description: |
Retrieve an option list by ID, including all its option values.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
put:
tags: ["Option Lists (v1)"]
operationId: updateOptionListV1
summary: Update an option list
description: |
Update an option list's name or values.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
delete:
tags: ["Option Lists (v1)"]
operationId: deleteOptionListV1
x-destructive: true
summary: Delete an option list
description: |
**Permanently delete** an option list.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/NoContent'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/REST/1.0/system/users:
get:
tags: ["Users (v1)"]
operationId: listUsersV1
summary: List users
description: |
List all Eloqua user accounts in the instance.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
/api/REST/1.0/system/user/{id}:
get:
tags: ["Users (v1)"]
operationId: getUserV1
summary: Get a user
description: |
Retrieve a user account by ID.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
put:
tags: ["Users (v1)"]
operationId: updateUserV1
summary: Update a user
description: |
Update a user's name, email, or role settings.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
'404':
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/account/group:
post:
tags:
- "Account Groups (v2)"
operationId: createAccountGroupV2
summary: Create an account group
description: |
Create a new account group for filtering accounts.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/account/groups:
get:
tags:
- "Account Groups (v2)"
operationId: listAccountGroupsV2
summary: List account groups
description: |
List all account groups.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/account/group/{id}:
get:
tags:
- "Account Groups (v2)"
operationId: getAccountGroupV2
summary: Get an account group
description: |
Retrieve an account group by ID.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Account Groups (v2)"
operationId: updateAccountGroupV2
summary: Update an account group
description: |
Update an account group's name or filter criteria.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Account Groups (v2)"
operationId: deleteAccountGroupV2
summary: Delete an account group
description: |
**Permanently delete** an account group.
x-destructive: true
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/accounts:
post:
tags:
- "Accounts (v2)"
operationId: queryAccountsV2
summary: Query accounts
description: |
Retrieve accounts matching criteria submitted in the POST body. Supports richer filtering than v1.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/account/{id}/membership:
get:
tags:
- "Accounts (v2)"
operationId: getAccountMembershipV2
summary: Get account memberships
description: |
Retrieve the account group memberships for a specific account.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/MembershipList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/activities/contact/{id}/{type}:
get:
tags:
- "Activities (v2)"
operationId: listContactActivitiesByTypeV2
summary: List contact activities by type
description: |
Retrieve activities of a specific type for a contact. `type` values: EmailOpen, EmailClickthrough, FormSubmit, PageView, WebVisit, Subscribe, Unsubscribe, Bounceback.
parameters:
- $ref: '#/components/parameters/pathId'
- name: type
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/auditLog/reportExport:
post:
tags:
- "Audit Logs (v2)"
operationId: exportAuditLogsV2
summary: Export audit logs
description: |
Initiate an audit log export recording user and system actions. Returns a job reference — poll the returned URI for completion.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/campaign/field:
post:
tags:
- "Campaign Fields (v2)"
operationId: createCampaignFieldV2
summary: Create a campaign field
description: |
Create a custom campaign field definition.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/campaign/fields:
get:
tags:
- "Campaign Fields (v2)"
operationId: listCampaignFieldsV2
summary: List campaign fields
description: |
List all campaign field definitions.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/campaign/field/{id}:
get:
tags:
- "Campaign Fields (v2)"
operationId: getCampaignFieldV2
summary: Get a campaign field
description: |
Retrieve a campaign field definition by ID.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Campaign Fields (v2)"
operationId: updateCampaignFieldV2
summary: Update a campaign field
description: |
Update a campaign field definition.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Campaign Fields (v2)"
operationId: deleteCampaignFieldV2
summary: Delete a campaign field
description: |
**Permanently delete** a campaign field.
x-destructive: true
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/campaign/folder/{id}/contents:
patch:
tags:
- "Campaign Folders (v2)"
operationId: patchFolderContentsCampaignV2
summary: Update campaign folder contents
description: |
Update folder contents by adding or removing asset references.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Campaign Folders (v2)"
operationId: getFolderContentsCampaignV2
summary: Get campaign folder contents
description: |
Retrieve assets contained within a folder.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/campaign/folder:
post:
tags:
- "Campaign Folders (v2)"
operationId: createFolderCampaignV2
summary: Create a campaign folder
description: |
Create a new folder.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/campaign/folder/{id}:
delete:
tags:
- "Campaign Folders (v2)"
operationId: deleteFolderCampaignV2
summary: Delete a campaign folder
description: |
**Permanently delete** a folder. Assets inside are not deleted.
x-destructive: true
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Campaign Folders (v2)"
operationId: getFolderCampaignV2
summary: Get a campaign folder
description: |
Retrieve a folder by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Campaign Folders (v2)"
operationId: updateFolderCampaignV2
summary: Update a campaign folder
description: |
Update a folder's name or properties.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/campaign/folder/root/contents:
get:
tags:
- "Campaign Folders (v2)"
operationId: getRootFolderContentsCampaignV2
summary: Get root campaign folder contents
description: |
Retrieve assets in the root (top-level) folder.
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/campaign/folders:
get:
tags:
- "Campaign Folders (v2)"
operationId: listFoldersCampaignV2
summary: List campaign folders
description: |
List all folders of this type.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/campaign/folder/{id}/folders:
get:
tags:
- "Campaign Folders (v2)"
operationId: getChildFoldersCampaignV2
summary: Get child campaign folders
description: |
Retrieve child folders of a folder.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/campaign/folder/root/folders:
get:
tags:
- "Campaign Folders (v2)"
operationId: getRootChildFoldersCampaignV2
summary: Get root-level child campaign folders
description: |
Retrieve top-level child folders.
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/campaign/folder/root:
get:
tags:
- "Campaign Folders (v2)"
operationId: getRootFolderCampaignV2
summary: Get root campaign folder
description: |
Retrieve the root folder.
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/campaign:
post:
tags:
- "Campaigns (v2)"
operationId: createCampaignV2
summary: Create a campaign
description: |
Create a new campaign in draft status. Set `type` to Simple or Multi-step.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Campaign'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/campaigns:
get:
tags:
- "Campaigns (v2)"
operationId: listCampaignsV2
summary: List campaigns
description: |
List campaigns. Filter by status or date using `search`.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
- $ref: '#/components/parameters/queryLastUpdatedAt'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/campaign/{id}:
get:
tags:
- "Campaigns (v2)"
operationId: getCampaignV2
summary: Get a campaign
description: |
Retrieve a campaign by ID including its steps and targeting segments.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Campaigns (v2)"
operationId: updateCampaignV2
summary: Update a campaign
description: |
Update a campaign. Must be in draft status to edit.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Campaign'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Campaigns (v2)"
operationId: deleteCampaignV2
summary: Delete a campaign
description: |
**Permanently delete** a campaign.
x-destructive: true
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/campaign/active/{id}:
post:
tags:
- "Campaigns (v2)"
operationId: activateCampaignV2
summary: Activate a campaign
description: |
**Activate (launch) a campaign**, moving it from draft to live. Sends emails and enrolls contacts — cannot be undone. Verify the campaign before activating.
x-destructive: true
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/campaign/draft/{id}:
post:
tags:
- "Campaigns (v2)"
operationId: deactivateCampaignV2
summary: Deactivate a campaign
description: |
Move an active campaign back to draft, pausing execution. In-progress contacts retain their position.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/contact/filter/folder/{id}/contents:
patch:
tags:
- "Contact Filter Folders (v2)"
operationId: patchFolderContentsContactFilterV2
summary: Update contact filter folder contents
description: |
Update folder contents by adding or removing asset references.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Contact Filter Folders (v2)"
operationId: getFolderContentsContactFilterV2
summary: Get contact filter folder contents
description: |
Retrieve assets contained within a folder.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/contact/filter/folder:
post:
tags:
- "Contact Filter Folders (v2)"
operationId: createFolderContactFilterV2
summary: Create a contact filter folder
description: |
Create a new folder.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/contact/filter/folder/{id}:
delete:
tags:
- "Contact Filter Folders (v2)"
operationId: deleteFolderContactFilterV2
summary: Delete a contact filter folder
description: |
**Permanently delete** a folder. Assets inside are not deleted.
x-destructive: true
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Contact Filter Folders (v2)"
operationId: getFolderContactFilterV2
summary: Get a contact filter folder
description: |
Retrieve a folder by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Contact Filter Folders (v2)"
operationId: updateFolderContactFilterV2
summary: Update a contact filter folder
description: |
Update a folder's name or properties.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/contact/filter/folder/root/contents:
get:
tags:
- "Contact Filter Folders (v2)"
operationId: getRootFolderContentsContactFilterV2
summary: Get root contact filter folder contents
description: |
Retrieve assets in the root (top-level) folder.
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/contact/filter/folders:
get:
tags:
- "Contact Filter Folders (v2)"
operationId: listFoldersContactFilterV2
summary: List contact filter folders
description: |
List all folders of this type.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/contact/filter/folder/root:
get:
tags:
- "Contact Filter Folders (v2)"
operationId: getRootFolderContactFilterV2
summary: Get root contact filter folder
description: |
Retrieve the root folder.
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/contact/list/folder/{id}/contents:
patch:
tags:
- "Contact List Folders (v2)"
operationId: patchFolderContentsContactListV2
summary: Update contact list folder contents
description: |
Update folder contents by adding or removing asset references.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Contact List Folders (v2)"
operationId: getFolderContentsContactListV2
summary: Get contact list folder contents
description: |
Retrieve assets contained within a folder.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/contact/list/folder:
post:
tags:
- "Contact List Folders (v2)"
operationId: createFolderContactListV2
summary: Create a contact list folder
description: |
Create a new folder.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/contact/list/folder/{id}:
delete:
tags:
- "Contact List Folders (v2)"
operationId: deleteFolderContactListV2
summary: Delete a contact list folder
description: |
**Permanently delete** a folder. Assets inside are not deleted.
x-destructive: true
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Contact List Folders (v2)"
operationId: getFolderContactListV2
summary: Get a contact list folder
description: |
Retrieve a folder by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Contact List Folders (v2)"
operationId: updateFolderContactListV2
summary: Update a contact list folder
description: |
Update a folder's name or properties.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/contact/list/folder/root/contents:
get:
tags:
- "Contact List Folders (v2)"
operationId: getRootFolderContentsContactListV2
summary: Get root contact list folder contents
description: |
Retrieve assets in the root (top-level) folder.
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/contact/list/folders:
get:
tags:
- "Contact List Folders (v2)"
operationId: listFoldersContactListV2
summary: List contact list folders
description: |
List all folders of this type.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/contact/list/folder/root:
get:
tags:
- "Contact List Folders (v2)"
operationId: getRootFolderContactListV2
summary: Get root contact list folder
description: |
Retrieve the root folder.
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/contact/segment/folder/{id}/contents:
patch:
tags:
- "Contact Segment Folders (v2)"
operationId: patchFolderContentsContactSegmentV2
summary: Update contact segment folder contents
description: |
Update folder contents by adding or removing asset references.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Contact Segment Folders (v2)"
operationId: getFolderContentsContactSegmentV2
summary: Get contact segment folder contents
description: |
Retrieve assets contained within a folder.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/contact/segment/folder:
post:
tags:
- "Contact Segment Folders (v2)"
operationId: createFolderContactSegmentV2
summary: Create a contact segment folder
description: |
Create a new folder.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/contact/segment/folder/{id}:
delete:
tags:
- "Contact Segment Folders (v2)"
operationId: deleteFolderContactSegmentV2
summary: Delete a contact segment folder
description: |
**Permanently delete** a folder. Assets inside are not deleted.
x-destructive: true
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Contact Segment Folders (v2)"
operationId: getFolderContactSegmentV2
summary: Get a contact segment folder
description: |
Retrieve a folder by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Contact Segment Folders (v2)"
operationId: updateFolderContactSegmentV2
summary: Update a contact segment folder
description: |
Update a folder's name or properties.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/contact/segment/folder/root/contents:
get:
tags:
- "Contact Segment Folders (v2)"
operationId: getRootFolderContentsContactSegmentV2
summary: Get root contact segment folder contents
description: |
Retrieve assets in the root (top-level) folder.
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/contact/segment/folders:
get:
tags:
- "Contact Segment Folders (v2)"
operationId: listFoldersContactSegmentV2
summary: List contact segment folders
description: |
List all folders of this type.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/contact/segment/folder/root:
get:
tags:
- "Contact Segment Folders (v2)"
operationId: getRootFolderContactSegmentV2
summary: Get root contact segment folder
description: |
Retrieve the root folder.
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/contact/segment:
post:
tags:
- "Contact Segments (v2)"
operationId: createContactSegmentV2
summary: Create a contact segment
description: |
Create a dynamic contact segment with filter criteria. Segments auto-update as contacts match or unmatch.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/contact/segments:
get:
tags:
- "Contact Segments (v2)"
operationId: listContactSegmentsV2
summary: List contact segments
description: |
List all contact segments.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/contact/segment/{id}:
get:
tags:
- "Contact Segments (v2)"
operationId: getContactSegmentV2
summary: Get a contact segment
description: |
Retrieve a segment by ID, including filter criteria and contact count.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Contact Segments (v2)"
operationId: updateContactSegmentV2
summary: Update a contact segment
description: |
Update a segment's filter criteria or name.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Contact Segments (v2)"
operationId: deleteContactSegmentV2
summary: Delete a contact segment
description: |
**Permanently delete** a contact segment.
x-destructive: true
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/contact/segment/{id}/copy:
post:
tags:
- "Contact Segments (v2)"
operationId: copyContactSegmentV2
summary: Copy a contact segment
description: |
Create a copy of a contact segment with all its criteria.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/contacts:
post:
tags:
- "Contacts (v2)"
operationId: queryContactsV2
summary: Query contacts
description: |
Retrieve contacts matching POST body criteria. Preferred over v1 for new integrations.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/contact/{id}:
get:
tags:
- "Contacts (v2)"
operationId: getContactV2
summary: Get a contact
description: |
Retrieve a contact by ID. Use `depth=complete` for all custom field values.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Contacts (v2)"
operationId: updateContactV2
summary: Update a contact
description: |
Update a contact's fields. emailAddress cannot duplicate another contact's.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Contact'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/contact/{id}/membership:
get:
tags:
- "Contacts (v2)"
operationId: getContactMembershipV2
summary: Get contact memberships
description: |
Retrieve the lists and segments a contact currently belongs to.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/MembershipList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/system/countries:
get:
tags:
- "Countries (v2)"
operationId: listCountriesV2
summary: List countries
description: |
List countries available in Eloqua for address fields and segmentation.
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/customObject/{parentId}/instance:
post:
tags:
- "Custom Object Data (v2)"
operationId: createCustomObjectInstanceV2
summary: Create a custom object instance
description: |
Create a new instance (record) in custom object {parentId}.
parameters:
- $ref: '#/components/parameters/pathParentId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/customObject/{parentId}/instances:
get:
tags:
- "Custom Object Data (v2)"
operationId: listCustomObjectInstancesV2
summary: List custom object instances
description: |
List instances from a custom object.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/customObject/{parentId}/instance/{id}:
get:
tags:
- "Custom Object Data (v2)"
operationId: getCustomObjectInstanceV2
summary: Get a custom object instance
description: |
Retrieve a specific custom object instance.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Custom Object Data (v2)"
operationId: updateCustomObjectInstanceV2
summary: Update a custom object instance
description: |
Update a custom object instance's field values.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Custom Object Data (v2)"
operationId: deleteCustomObjectInstanceV2
summary: Delete a custom object instance
description: |
**Permanently delete** a custom object instance.
x-destructive: true
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/customObject:
post:
tags:
- "Custom Objects (v2)"
operationId: createCustomObjectV2
summary: Create a custom object
description: |
Create a new custom object schema definition.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomObject'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/customObjects:
get:
tags:
- "Custom Objects (v2)"
operationId: listCustomObjectsV2
summary: List custom objects
description: |
List all custom object definitions.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/customObject/{id}:
get:
tags:
- "Custom Objects (v2)"
operationId: getCustomObjectV2
summary: Get a custom object
description: |
Retrieve a custom object schema by ID including field definitions.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Custom Objects (v2)"
operationId: updateCustomObjectV2
summary: Update a custom object
description: |
Update a custom object schema.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomObject'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Custom Objects (v2)"
operationId: deleteCustomObjectV2
summary: Delete a custom object
description: |
**Permanently delete** a custom object and ALL its instance data.
x-destructive: true
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/dedupeRules:
get:
tags:
- "Dedupe Rules (v2)"
operationId: listDedupeRulesV2
summary: List dedupe rules
description: |
List all contact deduplication rules.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/dedupeRule/{ruleId}:
get:
tags:
- "Dedupe Rules (v2)"
operationId: getDedupeRuleV2
summary: Get a dedupe rule
description: |
Retrieve a deduplication rule by ID.
parameters:
- $ref: '#/components/parameters/pathRuleId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/dedupeRule/{ruleId}/handlerSets:
get:
tags:
- "Dedupe Rules (v2)"
operationId: listDedupeRuleHandlerSetsV2
summary: List dedupe rule handler sets
description: |
List handler sets (action groups) for a deduplication rule.
parameters:
- $ref: '#/components/parameters/pathRuleId'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/dedupeRule/{ruleId}/handlerSet/{id}:
get:
tags:
- "Dedupe Rules (v2)"
operationId: getDedupeRuleHandlerSetV2
summary: Get a dedupe rule handler set
description: |
Retrieve a specific handler set from a deduplication rule.
parameters:
- $ref: '#/components/parameters/pathRuleId'
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/email/deployment:
post:
tags:
- "Email Deployment (v2)"
operationId: createEmailDeploymentV2
summary: Create an email deployment
description: |
Create and schedule a single-send email deployment to specific recipients.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/email/deployment/{id}:
get:
tags:
- "Email Deployment (v2)"
operationId: getEmailDeploymentV2
summary: Get an email deployment
description: |
Retrieve the status and details of an email deployment.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/email/folder/{id}/contents:
patch:
tags:
- "Email Folders (v2)"
operationId: patchFolderContentsEmailV2
summary: Update email folder contents
description: |
Update folder contents by adding or removing asset references.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Email Folders (v2)"
operationId: getFolderContentsEmailV2
summary: Get email folder contents
description: |
Retrieve assets contained within a folder.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/email/folder:
post:
tags:
- "Email Folders (v2)"
operationId: createFolderEmailV2
summary: Create an email folder
description: |
Create a new folder.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/email/folder/{id}:
delete:
tags:
- "Email Folders (v2)"
operationId: deleteFolderEmailV2
summary: Delete an email folder
description: |
**Permanently delete** a folder. Assets inside are not deleted.
x-destructive: true
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Email Folders (v2)"
operationId: getFolderEmailV2
summary: Get an email folder
description: |
Retrieve a folder by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Email Folders (v2)"
operationId: updateFolderEmailV2
summary: Update an email folder
description: |
Update a folder's name or properties.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/email/folder/root/contents:
get:
tags:
- "Email Folders (v2)"
operationId: getRootFolderContentsEmailV2
summary: Get root email folder contents
description: |
Retrieve assets in the root (top-level) folder.
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/email/folders:
get:
tags:
- "Email Folders (v2)"
operationId: listFoldersEmailV2
summary: List email folders
description: |
List all folders of this type.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/email/folder/{id}/folders:
get:
tags:
- "Email Folders (v2)"
operationId: getChildFoldersEmailV2
summary: Get child email folders
description: |
Retrieve child folders of a folder.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/email/folder/root/folders:
get:
tags:
- "Email Folders (v2)"
operationId: getRootChildFoldersEmailV2
summary: Get root-level child email folders
description: |
Retrieve top-level child folders.
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/email/folder/root:
get:
tags:
- "Email Folders (v2)"
operationId: getRootFolderEmailV2
summary: Get root email folder
description: |
Retrieve the root folder.
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/email:
post:
tags:
- "Emails (v2)"
operationId: createEmailV2
summary: Create an email
description: |
Create an email asset. Requires emailGroupId. Include subject, htmlContent, fromName, fromEmail.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Email'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/emails:
get:
tags:
- "Emails (v2)"
operationId: listEmailsV2
summary: List emails
description: |
List email assets. Use `depth=minimal` for a fast id+name list.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
- $ref: '#/components/parameters/queryLastUpdatedAt'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/email/{id}:
get:
tags:
- "Emails (v2)"
operationId: getEmailV2
summary: Get an email
description: |
Retrieve an email by ID including full HTML content and sender configuration.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Emails (v2)"
operationId: updateEmailV2
summary: Update an email
description: |
Update an email's content, subject, or sender fields.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Email'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Emails (v2)"
operationId: deleteEmailV2
summary: Delete an email
description: |
**Permanently delete** an email asset.
x-destructive: true
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/email/{id}/archive:
post:
tags:
- "Emails (v2)"
operationId: archiveEmailV2
summary: Archive an email
description: |
Archive an email, removing it from active use without deleting.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/email/{id}/unarchive:
post:
tags:
- "Emails (v2)"
operationId: unarchiveEmailV2
summary: Unarchive an email
description: |
Restore an archived email to active status.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/eventRegistration/{parentId}/instance:
post:
tags:
- "Event Registrants (v2)"
operationId: createEventRegistrantV2
summary: Create an event registrant
description: |
Create a new event registrant for event {parentId}.
parameters:
- $ref: '#/components/parameters/pathParentId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/eventRegistration/{parentId}/instances:
get:
tags:
- "Event Registrants (v2)"
operationId: listEventRegistrantsV2
summary: List event registrants
description: |
List registrants for a specific event.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/eventRegistration/{parentId}/instance/{id}:
get:
tags:
- "Event Registrants (v2)"
operationId: getEventRegistrantV2
summary: Get an event registrant
description: |
Retrieve a specific event registrant.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Event Registrants (v2)"
operationId: updateEventRegistrantV2
summary: Update an event registrant
description: |
Update an event registrant's field values.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Event Registrants (v2)"
operationId: deleteEventRegistrantV2
summary: Delete an event registrant
description: |
**Permanently delete** an event registrant.
x-destructive: true
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/eventRegistration:
post:
tags:
- "Events (v2)"
operationId: createEventV2
summary: Create an event
description: |
Create a new event registration asset defining the event structure.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/eventRegistrations:
get:
tags:
- "Events (v2)"
operationId: listEventsV2
summary: List events
description: |
List all event registration assets.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/eventRegistration/{id}:
get:
tags:
- "Events (v2)"
operationId: getEventV2
summary: Get an event
description: |
Retrieve an event registration asset by ID.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Events (v2)"
operationId: updateEventV2
summary: Update an event
description: |
Update an event registration asset.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Events (v2)"
operationId: deleteEventV2
summary: Delete an event
description: |
**Permanently delete** an event and all its registrant data.
x-destructive: true
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/activity:
post:
tags:
- "External Activities (v2)"
operationId: createExternalActivityV2
summary: Create external activity
description: |
Log an external (off-Eloqua) activity for a contact, such as a web
chat, event check-in, or CRM touchpoint. Links the activity to a
contact via emailAddress and associates it with an external asset.
Enriches the contact activity history with data from outside Eloqua.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/activity/{id}:
get:
tags:
- "External Activities (v2)"
operationId: getExternalActivityV2
summary: Get external activity
description: |
Retrieve a single external activity record by its Eloqua-assigned ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/external/type:
post:
tags:
- "External Asset Types (v2)"
operationId: createExternalAssetTypeV2
summary: Create external asset type
description: |
Create a custom external asset type (e.g., 'Live Demo', 'Webinar')
that categorises non-Eloqua assets. The type must be created before
assets of that type can be added.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/external/types:
get:
tags:
- "External Asset Types (v2)"
operationId: listExternalAssetTypesV2
summary: List external asset types
description: |
List all external asset type definitions in the instance.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/external/type/{id}:
get:
tags:
- "External Asset Types (v2)"
operationId: getExternalAssetTypeV2
summary: Get external asset type
description: |
Retrieve a single external asset type by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "External Asset Types (v2)"
operationId: updateExternalAssetTypeV2
summary: Update external asset type
description: |
Update the name or attributes of an external asset type.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "External Asset Types (v2)"
operationId: deleteExternalAssetTypeV2
x-destructive: true
summary: Delete external asset type
description: |
Permanently delete an external asset type. Existing assets linked to
this type will lose their type association.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/external:
post:
tags:
- "External Assets (v2)"
operationId: createExternalAssetV2
summary: Create external asset
description: |
Create an external asset — a non-Eloqua content piece (product page,
event, video) that can be linked to external activities and tracked
for engagement.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/externals:
get:
tags:
- "External Assets (v2)"
operationId: listExternalAssetsV2
summary: List external assets
description: |
List all external assets.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/external/{id}:
get:
tags:
- "External Assets (v2)"
operationId: getExternalAssetV2
summary: Get external asset
description: |
Retrieve a single external asset by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "External Assets (v2)"
operationId: updateExternalAssetV2
summary: Update external asset
description: |
Update an external asset's properties.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "External Assets (v2)"
operationId: deleteExternalAssetV2
x-destructive: true
summary: Delete external asset
description: |
Permanently delete an external asset. Previously recorded activities
retain their historical data.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/form/{id}:
post:
tags:
- "Form Data (v2)"
operationId: submitFormDataV2
summary: Submit form data
description: |
Submit a form data entry for the specified form, simulating a web form
submission. Triggers all configured processing steps (notifications,
contact create/update, CRM integration). Use for server-side form
submission.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Form Data (v2)"
operationId: getFormDataOverviewV2
summary: Get form data overview
description: |
Retrieve a summary overview of form submission data including
submission counts and metadata.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/form/{id}/batch:
post:
tags:
- "Form Data (v2)"
operationId: batchSubmitFormDataV2
summary: Batch submit form data
description: |
Submit multiple form data entries in one request. Each entry triggers
processing steps independently. More efficient than individual
submissions for bulk ingestion.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/form/{id}/datarow/{rowId}:
delete:
tags:
- "Form Data (v2)"
operationId: deleteFormDataRowV2
x-destructive: true
summary: Delete a form data row
description: |
Permanently delete a single form submission row by its row ID.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/pathRowId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/form/{formId}/formData:
get:
tags:
- "Form Data (v2)"
operationId: listFormSubmissionsV2
summary: List form submissions
description: |
List all form submissions for the specified form, paginated.
parameters:
- name: formId
in: path
required: true
schema:
type: integer
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/form/{formId}/formData/{formSubmitJobId}:
get:
tags:
- "Form Data (v2)"
operationId: getFormSubmissionV2
summary: Get specific form submission
description: |
Retrieve a specific form submission by form ID and submission job ID.
parameters:
- name: formId
in: path
required: true
schema:
type: integer
- name: formSubmitJobId
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/form/{formId}/formSpamData:
get:
tags:
- "Form Data (v2)"
operationId: listFormSpamSubmissionsV2
summary: List spam submissions
description: |
List submissions flagged as spam for the specified form. Spam
submissions do not trigger form processing steps.
parameters:
- name: formId
in: path
required: true
schema:
type: integer
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/form/{formId}/batchCorrelation/formData/{batchCorrelationId}:
get:
tags:
- "Form Data (v2)"
operationId: getFormDataBatchByCorrelationIdV2
summary: Get batch by correlation ID
description: |
Retrieve the status and results of a batch submission by its client-
assigned correlation ID. Useful for tracking asynchronous batch
submissions.
parameters:
- name: formId
in: path
required: true
schema:
type: integer
- name: batchCorrelationId
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/form/{formId}/batch/formData/{batchId}:
get:
tags:
- "Form Data (v2)"
operationId: getFormDataBatchV2
summary: Get batch data
description: |
Retrieve the status and results of a batch submission by the batch ID
returned from POST /batch.
parameters:
- name: formId
in: path
required: true
schema:
type: integer
- name: batchId
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/form/folder/{id}/contents:
patch:
tags:
- "Form Folders (v2)"
operationId: patchFolderContentsFormV2
summary: Patch form folder contents
description: |
Update folder membership — move form assets into or out of the folder
in a single PATCH operation.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Form Folders (v2)"
operationId: getFolderContentsFormV2
summary: Get form folder contents
description: |
List all form assets within a specific folder.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/form/folder:
post:
tags:
- "Form Folders (v2)"
operationId: createFolderFormV2
summary: Create form folder
description: |
Create a new folder for organising form assets.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/form/folder/{id}:
delete:
tags:
- "Form Folders (v2)"
operationId: deleteFolderFormV2
x-destructive: true
summary: Delete form folder
description: |
Permanently delete a form folder. The folder must be empty before
deletion.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Form Folders (v2)"
operationId: getFolderFormV2
summary: Get form folder
description: |
Retrieve a form folder by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Form Folders (v2)"
operationId: updateFolderFormV2
summary: Update form folder
description: |
Update a form folder's name or properties.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/form/folder/root/contents:
get:
tags:
- "Form Folders (v2)"
operationId: getRootFolderContentsFormV2
summary: Get form root folder contents
description: |
List all form assets and subfolders at the root of the form folder
hierarchy.
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/form/folders:
get:
tags:
- "Form Folders (v2)"
operationId: listFoldersFormV2
summary: List form folders
description: |
List all form folders across the account.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/form/folder/{id}/folders:
get:
tags:
- "Form Folders (v2)"
operationId: getFolderSubfoldersFormV2
summary: Get form folder subfolders
description: |
List direct child subfolders of a specific form folder.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/form/folder/root/folders:
get:
tags:
- "Form Folders (v2)"
operationId: getRootFolderSubfoldersFormV2
summary: Get form root folder subfolders
description: |
List all top-level form folders (direct children of root).
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/form/folder/root:
get:
tags:
- "Form Folders (v2)"
operationId: getRootFolderFormV2
summary: Get form root folder
description: |
Retrieve the root form folder — the top of the folder hierarchy.
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/form:
post:
tags:
- "Forms (v2)"
operationId: createFormV2
summary: Create form
description: |
Create a new form with field definitions, processing steps, and
styling. Forms capture contact data from landing pages or embedded web
forms.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Form'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/forms:
get:
tags:
- "Forms (v2)"
operationId: listFormsV2
summary: List forms
description: |
List all forms in the account.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/form/{id}:
get:
tags:
- "Forms (v2)"
operationId: getFormV2
summary: Get form
description: |
Retrieve a form by ID, including all field definitions and processing
steps.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Forms (v2)"
operationId: updateFormV2
summary: Update form
description: |
Replace all form properties. Used to update field definitions and
processing steps.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Form'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
patch:
tags:
- "Forms (v2)"
operationId: patchFormV2
summary: Partial update form
description: |
Partially update a form, merging supplied fields with existing ones.
Preferred for targeted changes.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Form'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Forms (v2)"
operationId: deleteFormV2
x-destructive: true
summary: Delete form
description: |
Permanently delete a form and its field definitions. Existing
submission data is retained.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/form/{id}/archive:
post:
tags:
- "Forms (v2)"
operationId: archiveFormV2
summary: Archive form
description: |
Archive a form to remove it from active use without deletion. Archived
forms cannot accept new submissions.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/form/{id}/unarchive:
post:
tags:
- "Forms (v2)"
operationId: unarchiveFormV2
summary: Unarchive form
description: |
Restore an archived form to active status, allowing it to accept new
submissions again.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/hyperlink/folder/{id}/contents:
patch:
tags:
- "Hyperlink Folders (v2)"
operationId: patchFolderContentsHyperlinkV2
summary: Patch hyperlink folder contents
description: |
Update folder membership — move hyperlink assets into or out of the
folder in a single PATCH.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Hyperlink Folders (v2)"
operationId: getFolderContentsHyperlinkV2
summary: Get hyperlink folder contents
description: |
List all hyperlink assets within a specific folder.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/hyperlink/folder:
post:
tags:
- "Hyperlink Folders (v2)"
operationId: createFolderHyperlinkV2
summary: Create hyperlink folder
description: |
Create a new folder for organising hyperlink assets.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/hyperlink/folder/{id}:
delete:
tags:
- "Hyperlink Folders (v2)"
operationId: deleteFolderHyperlinkV2
x-destructive: true
summary: Delete hyperlink folder
description: |
Permanently delete a hyperlink folder. The folder must be empty before
deletion.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Hyperlink Folders (v2)"
operationId: getFolderHyperlinkV2
summary: Get hyperlink folder
description: |
Retrieve a hyperlink folder by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Hyperlink Folders (v2)"
operationId: updateFolderHyperlinkV2
summary: Update hyperlink folder
description: |
Update a hyperlink folder's name or properties.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/hyperlink/folder/root/contents:
get:
tags:
- "Hyperlink Folders (v2)"
operationId: getRootFolderContentsHyperlinkV2
summary: Get hyperlink root folder contents
description: |
List all hyperlink assets and subfolders at the root of the folder
hierarchy.
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/hyperlink/folders:
get:
tags:
- "Hyperlink Folders (v2)"
operationId: listFoldersHyperlinkV2
summary: List hyperlink folders
description: |
List all hyperlink folders across the account.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/hyperlink/folder/{id}/folders:
get:
tags:
- "Hyperlink Folders (v2)"
operationId: getFolderSubfoldersHyperlinkV2
summary: Get hyperlink folder subfolders
description: |
List direct child subfolders of a specific hyperlink folder.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/hyperlink/folder/root/folders:
get:
tags:
- "Hyperlink Folders (v2)"
operationId: getRootFolderSubfoldersHyperlinkV2
summary: Get hyperlink root folder subfolders
description: |
List all top-level hyperlink folders (direct children of root).
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/hyperlink/folder/root:
get:
tags:
- "Hyperlink Folders (v2)"
operationId: getRootFolderHyperlinkV2
summary: Get hyperlink root folder
description: |
Retrieve the root hyperlink folder — the top of the folder hierarchy.
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/image/folder/{id}/contents:
patch:
tags:
- "Image Folders (v2)"
operationId: patchFolderContentsImageV2
summary: Patch image folder contents
description: |
Update folder membership — move image assets into or out of the folder
in a single PATCH.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Image Folders (v2)"
operationId: getFolderContentsImageV2
summary: Get image folder contents
description: |
List all image assets within a specific folder.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/image/folder:
post:
tags:
- "Image Folders (v2)"
operationId: createFolderImageV2
summary: Create image folder
description: |
Create a new folder for organising image assets.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/image/folder/{id}:
delete:
tags:
- "Image Folders (v2)"
operationId: deleteFolderImageV2
x-destructive: true
summary: Delete image folder
description: |
Permanently delete an image folder. The folder must be empty before
deletion.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Image Folders (v2)"
operationId: getFolderImageV2
summary: Get image folder
description: |
Retrieve an image folder by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Image Folders (v2)"
operationId: updateFolderImageV2
summary: Update image folder
description: |
Update an image folder's name or properties.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/image/folder/root/contents:
get:
tags:
- "Image Folders (v2)"
operationId: getRootFolderContentsImageV2
summary: Get image root folder contents
description: |
List all image assets and subfolders at the root of the folder
hierarchy.
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/image/folders:
get:
tags:
- "Image Folders (v2)"
operationId: listFoldersImageV2
summary: List image folders
description: |
List all image folders across the account.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/image/folder/{id}/folders:
get:
tags:
- "Image Folders (v2)"
operationId: getFolderSubfoldersImageV2
summary: Get image folder subfolders
description: |
List direct child subfolders of a specific image folder.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/image/folder/root/folders:
get:
tags:
- "Image Folders (v2)"
operationId: getRootFolderSubfoldersImageV2
summary: Get image root folder subfolders
description: |
List all top-level image folders (direct children of root).
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/image/folder/root:
get:
tags:
- "Image Folders (v2)"
operationId: getRootFolderImageV2
summary: Get image root folder
description: |
Retrieve the root image folder — the top of the folder hierarchy.
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/landingPage:
post:
tags:
- "Landing Pages (v2)"
operationId: createLandingPageV2
summary: Create landing page
description: |
Create a new Eloqua-hosted landing page. Landing pages can embed
forms, tracked links, and personalised merge fields. Set relativeUrl
to control the page URL path.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/LandingPage'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/landingPages:
get:
tags:
- "Landing Pages (v2)"
operationId: listLandingPagesV2
summary: List landing pages
description: |
List all landing pages.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/landingPage/{id}:
get:
tags:
- "Landing Pages (v2)"
operationId: getLandingPageV2
summary: Get landing page
description: |
Retrieve a landing page by ID, including HTML content and its deployed
URL.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Landing Pages (v2)"
operationId: updateLandingPageV2
summary: Update landing page
description: |
Update a landing page's HTML content, form associations, or
properties. Changes take effect immediately on the live hosted URL.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/LandingPage'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Landing Pages (v2)"
operationId: deleteLandingPageV2
x-destructive: true
summary: Delete landing page
description: |
Permanently delete a landing page. The page is immediately taken
offline.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/lookupTables:
get:
tags:
- "Lookup Tables (v2)"
operationId: listLookupTablesV2
summary: List lookup tables
description: |
List all lookup tables — static reference data tables used for
personalisation, field population, and conditional logic.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/lookupTable/{id}:
get:
tags:
- "Lookup Tables (v2)"
operationId: getLookupTableV2
summary: Get lookup table
description: |
Retrieve a lookup table by ID, including all column definitions.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/lookupTable/{id}/lookupTableEntries:
get:
tags:
- "Lookup Tables (v2)"
operationId: listLookupTableEntriesV2
summary: List lookup table entries
description: |
List all rows in a lookup table.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/lookupTable/{id}/lookupTableEntry:
post:
tags:
- "Lookup Tables (v2)"
operationId: createLookupTableEntryV2
summary: Create lookup table entry
description: |
Add a new row to a lookup table.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/lookupTable/{lookupTableId}/lookupTableEntry/{elementId}:
put:
tags:
- "Lookup Tables (v2)"
operationId: updateLookupTableEntryV2
summary: Update lookup table entry
description: |
Update an existing lookup table row by element ID.
parameters:
- $ref: '#/components/parameters/pathLookupTableId'
- $ref: '#/components/parameters/pathElementId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Lookup Tables (v2)"
operationId: deleteLookupTableEntryV2
x-destructive: true
summary: Delete lookup table entry
description: |
Permanently delete a row from a lookup table.
parameters:
- $ref: '#/components/parameters/pathLookupTableId'
- $ref: '#/components/parameters/pathElementId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/program:
post:
tags:
- "Programs (v2)"
operationId: createProgramV2
summary: Create program
description: |
Create a new orchestration program — an automated multi-step workflow
that contacts move through over time, with decision branches, email
sends, wait steps, and CRM updates.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/programs:
get:
tags:
- "Programs (v2)"
operationId: listProgramsV2
summary: List programs
description: |
List all programs.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/program/{id}:
get:
tags:
- "Programs (v2)"
operationId: getProgramV2
summary: Get program
description: |
Retrieve a program by ID, including all step definitions and current
status.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Programs (v2)"
operationId: updateProgramV2
summary: Update program
description: |
Update a program's step definitions or configuration. Only allowed
when the program is in draft status.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Programs (v2)"
operationId: deleteProgramV2
x-destructive: true
summary: Delete program
description: |
Permanently delete a program. Active programs must be deactivated
before deletion.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/program/active/{id}:
post:
tags:
- "Programs (v2)"
operationId: activateProgramV2
x-destructive: true
summary: Activate program
description: |
Activate (start) a program, moving it from draft to live. Once
activated, contacts begin entering and progressing through program
steps. Cannot be undone — use deactivate or pause to stop execution.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/program/draft/{id}:
post:
tags:
- "Programs (v2)"
operationId: deactivateProgramV2
summary: Deactivate program
description: |
Return a running program to draft status, stopping new contacts from
entering. Contacts currently in the program continue until they
naturally exit.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/program/pause/{id}:
post:
tags:
- "Programs (v2)"
operationId: pauseProgramV2
summary: Pause program
description: |
Temporarily pause a live program, suspending contact movement.
Contacts remain at their current step until the program is re-
activated.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/sms:
post:
tags:
- "SMS (v2)"
operationId: createSmsV2
summary: Create SMS
description: |
Create an SMS asset — an outbound SMS message with content, sender
code, and keyword configuration.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "SMS (v2)"
operationId: listSmsV2
summary: List SMS
description: |
List all SMS assets in the account.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/sms/{id}:
get:
tags:
- "SMS (v2)"
operationId: getSmsV2
summary: Get SMS
description: |
Retrieve an SMS asset by ID along with its sender code and keyword
settings.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "SMS (v2)"
operationId: updateSmsV2
summary: Update SMS
description: |
Update an SMS asset's message content or keyword configuration.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "SMS (v2)"
operationId: deleteSmsV2
x-destructive: true
summary: Delete SMS
description: |
Permanently delete an SMS asset.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/sms/senderCodes:
get:
tags:
- "SMS Codes (v2)"
operationId: listSmsSenderCodesV2
summary: List SMS sender codes
description: |
List all SMS sender codes (short codes or long codes) configured for
the account.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/sms/folder/{id}/contents:
patch:
tags:
- "SMS Folders (v2)"
operationId: patchFolderContentsSmsV2
summary: Patch SMS folder contents
description: |
Update folder membership — move SMS assets into or out of the folder
in a single PATCH.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "SMS Folders (v2)"
operationId: getFolderContentsSmsV2
summary: Get SMS folder contents
description: |
List all SMS assets within a specific folder.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/sms/folder:
post:
tags:
- "SMS Folders (v2)"
operationId: createFolderSmsV2
summary: Create SMS folder
description: |
Create a new folder for organising SMS assets.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/sms/folder/{id}:
delete:
tags:
- "SMS Folders (v2)"
operationId: deleteFolderSmsV2
x-destructive: true
summary: Delete SMS folder
description: |
Permanently delete an SMS folder. The folder must be empty before
deletion.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "SMS Folders (v2)"
operationId: getFolderSmsV2
summary: Get SMS folder
description: |
Retrieve an SMS folder by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "SMS Folders (v2)"
operationId: updateFolderSmsV2
summary: Update SMS folder
description: |
Update an SMS folder's name or properties.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/sms/folder/root/contents:
get:
tags:
- "SMS Folders (v2)"
operationId: getRootFolderContentsSmsV2
summary: Get SMS root folder contents
description: |
List all SMS assets and subfolders at the root of the SMS folder
hierarchy.
responses:
'200':
$ref: '#/components/responses/FolderContents'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/sms/folders:
get:
tags:
- "SMS Folders (v2)"
operationId: listFoldersSmsV2
summary: List SMS folders
description: |
List all SMS folders across the account.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/sms/folder/{id}/folders:
get:
tags:
- "SMS Folders (v2)"
operationId: getFolderSubfoldersSmsV2
summary: Get SMS folder subfolders
description: |
List direct child subfolders of a specific SMS folder.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/sms/folder/root/folders:
get:
tags:
- "SMS Folders (v2)"
operationId: getRootFolderSubfoldersSmsV2
summary: Get SMS root folder subfolders
description: |
List all top-level SMS folders (direct children of root).
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/sms/folder/root:
get:
tags:
- "SMS Folders (v2)"
operationId: getRootFolderSmsV2
summary: Get SMS root folder
description: |
Retrieve the root SMS folder — the top of the folder hierarchy.
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/sms/invalidResponseMessage:
post:
tags:
- "SMS Invalid Keyword Messages (v2)"
operationId: createSmsInvalidResponseMessageV2
summary: Create SMS invalid keyword message
description: |
Create a reply message sent to contacts who text an unrecognised
keyword to the SMS number.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/sms/invalidResponseMessages:
get:
tags:
- "SMS Invalid Keyword Messages (v2)"
operationId: listSmsInvalidResponseMessagesV2
summary: List SMS invalid keyword messages
description: |
List all SMS invalid-response message definitions.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/sms/invalidResponseMessage/{id}:
get:
tags:
- "SMS Invalid Keyword Messages (v2)"
operationId: getSmsInvalidResponseMessageV2
summary: Get SMS invalid keyword message
description: |
Retrieve a single invalid-response message by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "SMS Invalid Keyword Messages (v2)"
operationId: updateSmsInvalidResponseMessageV2
summary: Update SMS invalid keyword message
description: |
Update the reply text or configuration of an invalid-response message.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "SMS Invalid Keyword Messages (v2)"
operationId: deleteSmsInvalidResponseMessageV2
x-destructive: true
summary: Delete SMS invalid keyword message
description: |
Permanently delete an invalid-response message.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/sms/keyword:
post:
tags:
- "SMS Keywords (v2)"
operationId: createSmsKeywordV2
summary: Create SMS keyword
description: |
Create an SMS keyword (e.g., STOP, JOIN, INFO) that contacts can text
to trigger a specific response or opt-in/opt-out action.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/sms/keywords:
get:
tags:
- "SMS Keywords (v2)"
operationId: listSmsKeywordsV2
summary: List SMS keywords
description: |
List all SMS keywords configured for the account.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/sms/keyword/{id}:
get:
tags:
- "SMS Keywords (v2)"
operationId: getSmsKeywordV2
summary: Get SMS keyword
description: |
Retrieve a single SMS keyword by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "SMS Keywords (v2)"
operationId: deleteSmsKeywordV2
x-destructive: true
summary: Delete SMS keyword
description: |
Permanently delete an SMS keyword.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/sms/subscription:
post:
tags:
- "SMS Subscription (v2)"
operationId: createSmsSubscriptionV2
summary: Create SMS subscription
description: |
Record an SMS opt-in or opt-out for a contact. Always ensure explicit
prior consent is obtained before sending marketing SMS (required by
TCPA/GDPR/CASL).
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "SMS Subscription (v2)"
operationId: updateSmsSubscriptionV2
summary: Update SMS subscription
description: |
Update the SMS subscription status for a contact, changing their opt-
in or opt-out state.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/system/security/group:
post:
tags:
- "Security Groups (v2)"
operationId: createSecurityGroupV2
summary: Create security group
description: |
Create a new security group for role-based access control (RBAC).
Security groups define which Eloqua assets, features, and data views
group members can access.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/system/security/groups:
get:
tags:
- "Security Groups (v2)"
operationId: listSecurityGroupsV2
summary: List security groups
description: |
List all security groups in the account.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/system/security/group/{id}:
get:
tags:
- "Security Groups (v2)"
operationId: getSecurityGroupV2
summary: Get security group
description: |
Retrieve a security group by ID, including its member list and
permission configuration.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Security Groups (v2)"
operationId: updateSecurityGroupV2
summary: Update security group
description: |
Update a security group's name or permission assignments.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Security Groups (v2)"
operationId: deleteSecurityGroupV2
x-destructive: true
summary: Delete security group
description: |
Permanently delete a security group. Members lose the associated
permissions immediately.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/system/security/group/{id}/users:
get:
tags:
- "Security Groups (v2)"
operationId: listSecurityGroupUsersV2
summary: List security group users
description: |
List all users who are members of the specified security group.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
patch:
tags:
- "Security Groups (v2)"
operationId: patchSecurityGroupUsersV2
summary: Add or remove users from security group
description: |
Add or remove users from a security group in a single PATCH operation.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/email/signature/rule/{ruleId}/mappings:
post:
tags:
- "Signature Rule Mappings (v2)"
operationId: createSignatureRuleMappingsV2
summary: Create signature rule mappings
description: |
Create segment-to-signature mappings for an email signature rule. Each
mapping associates a contact segment with a specific email signature
variant.
parameters:
- $ref: '#/components/parameters/pathRuleId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Signature Rule Mappings (v2)"
operationId: getSignatureRuleMappingsV2
summary: Get signature rule mappings
description: |
Retrieve all signature-to-segment mappings for the specified signature
rule.
parameters:
- $ref: '#/components/parameters/pathRuleId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Signature Rule Mappings (v2)"
operationId: updateSignatureRuleMappingsV2
summary: Update signature rule mappings
description: |
Replace all signature-to-segment mappings for the specified signature
rule.
parameters:
- $ref: '#/components/parameters/pathRuleId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Signature Rule Mappings (v2)"
operationId: deleteSignatureRuleMappingsV2
x-destructive: true
summary: Delete signature rule mappings
description: |
Permanently delete all signature-to-segment mappings for the specified
signature rule.
parameters:
- $ref: '#/components/parameters/pathRuleId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/email/signature/rule:
post:
tags:
- "Signature Rules (v2)"
operationId: createSignatureRuleV2
summary: Create signature rule
description: |
Create an email signature rule that dynamically selects the
appropriate sender signature based on contact attributes or campaign
context.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/email/signature/rules:
get:
tags:
- "Signature Rules (v2)"
operationId: listSignatureRulesV2
summary: List signature rules
description: |
List all email signature rules.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/email/signature/rule/{id}:
get:
tags:
- "Signature Rules (v2)"
operationId: getSignatureRuleV2
summary: Get signature rule
description: |
Retrieve a signature rule by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Signature Rules (v2)"
operationId: updateSignatureRuleV2
summary: Update signature rule
description: |
Update a signature rule's mappings or configuration.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Signature Rules (v2)"
operationId: deleteSignatureRuleV2
x-destructive: true
summary: Delete signature rule
description: |
Permanently delete a signature rule. Emails using this rule will lose
dynamic signature population.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/system/user:
post:
tags:
- "Users (v2)"
operationId: createUserV2
summary: Create user
description: |
Create a new Eloqua user account. After creation, assign the user to
security groups to grant appropriate permissions.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'201':
$ref: '#/components/responses/ResourceCreated'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/system/users:
get:
tags:
- "Users (v2)"
operationId: listUsersV2
summary: List users
description: |
List all users in the Eloqua instance.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
- $ref: '#/components/parameters/querySearch'
- $ref: '#/components/parameters/queryOrderBy'
- $ref: '#/components/parameters/queryDepth'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/system/user/current:
get:
tags:
- "Users (v2)"
operationId: getCurrentUserV2
summary: Get current user
description: |
Retrieve the profile of the currently authenticated user. Useful for
validating API credentials or bootstrapping session context.
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/system/user/{id}:
get:
tags:
- "Users (v2)"
operationId: getUserV2
summary: Get user
description: |
Retrieve a specific user by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Users (v2)"
operationId: updateUserV2
summary: Update user
description: |
Update a user's profile, preferences, or default views.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Users (v2)"
operationId: deleteUserV2
x-destructive: true
summary: Delete user
description: |
Permanently delete a user account. This action removes all account
history associated with the user.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/system/user/{id}/enabled:
put:
tags:
- "Users (v2)"
operationId: setUserEnabledV2
summary: Enable or disable user
description: |
Enable or disable a user account. Disabled users cannot log in or make
API calls. Use to deactivate departing employees without deleting
account history.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/Resource'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/system/user/{id}/password:
put:
tags:
- "Users (v2)"
operationId: changeUserPasswordV2
summary: Change user password
description: |
Set a new password for a user account. The user must use the new
password on their next login.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/assets/visitor/fields:
get:
tags:
- "Visitor Profile Fields (v2)"
operationId: listVisitorProfileFieldsV2
summary: List visitor profile fields
description: |
List all visitor profile fields defined in the account. Visitor
profile fields capture anonymous website visitor behaviour (pages
visited, location, referrer) before the visitor is identified as a
contact.
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/api/rest/2.0/data/visitors:
get:
tags:
- "Visitors (v2)"
operationId: listVisitorsV2
summary: List visitors
description: |
List recent anonymous website visitors tracked by the Eloqua tracking
script. Returns visitor GUID, timestamps, and page activity.
parameters:
- $ref: '#/components/parameters/queryCount'
- $ref: '#/components/parameters/queryPage'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
post:
tags:
- "Visitors (v2)"
operationId: queryVisitorsV2
summary: Retrieve visitors by GUID
description: |
Retrieve specific visitor records by supplying an array of visitor
GUIDs in the request body. Returns full profile data for each matched
visitor.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Resource'
responses:
'200':
$ref: '#/components/responses/ResourceList'
default:
$ref: '#/components/responses/Error'
/API/OData/AccountActivity/1/Account:
get:
tags:
- "Reporting Account Activity"
operationId: listODataAccountActivity
summary: List accounts
description: |
List Account entities from the OData AccountActivity reporting feed.
Supports $filter, $select, $orderby, $top, and $skip query options.
responses:
'200':
$ref: '#/components/responses/ODataCollection'
default:
$ref: '#/components/responses/Error'
/API/OData/AccountActivity/1/Account/{key}:
get:
tags:
- "Reporting Account Activity"
operationId: getODataAccountActivityByKey
summary: Get account by key
description: |
Retrieve a single Account entity by its primary key from the OData
AccountActivity reporting feed.
parameters:
- name: key
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/ODataEntity'
default:
$ref: '#/components/responses/Error'
/API/OData/AccountActivity/1/Account/AccountIDByAccountName(AccountName='{AccountName}'):
get:
tags:
- "Reporting Account Activity"
operationId: getODataAccountActivityIdByName
summary: Get account ID by account name
description: |
OData function call that returns the Eloqua account entity matching
the supplied AccountName. Use the returned id in subsequent queries or
Application API calls.
parameters:
- name: AccountName
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/ODataEntity'
default:
$ref: '#/components/responses/Error'
/API/OData/AccountActivity/1/Account/AccountIDByCompanyName(CompanyName='{CompanyName}'):
get:
tags:
- "Reporting Account Activity"
operationId: getODataAccountActivityIdByCompanyName
summary: Get account ID by company name
description: |
OData function call that returns the Eloqua account entity matching
the supplied CompanyName. Use the returned id in subsequent queries or
Application API calls.
parameters:
- name: CompanyName
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/ODataEntity'
default:
$ref: '#/components/responses/Error'
/API/OData/AccountActivity/1/AccountEngagement:
get:
tags:
- "Reporting Account Activity"
operationId: listODataAccountEngagement
summary: List account engagement
description: |
List AccountEngagement records from the OData AccountActivity
reporting feed. Engagement data reflects aggregated contact
interactions attributed to accounts. Supports standard OData v4 query
options.
responses:
'200':
$ref: '#/components/responses/ODataCollection'
default:
$ref: '#/components/responses/Error'
/API/OData/AccountActivity/1/AccountEngagement/{key}:
get:
tags:
- "Reporting Account Activity"
operationId: getODataAccountEngagementByKey
summary: Get account engagement by key
description: |
Retrieve a single AccountEngagement record by its primary key from the
OData reporting feed.
parameters:
- name: key
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/ODataEntity'
default:
$ref: '#/components/responses/Error'
/API/OData/ActivityDetails/1/Campaign:
get:
tags:
- "Reporting Activity Details"
operationId: listODataCampaign
summary: List campaigns
description: |
List Campaign entities from the OData ActivityDetails reporting feed.
Supports $filter, $select, $orderby, $top, and $skip query options.
responses:
'200':
$ref: '#/components/responses/ODataCollection'
default:
$ref: '#/components/responses/Error'
/API/OData/ActivityDetails/1/Campaign/{key}:
get:
tags:
- "Reporting Activity Details"
operationId: getODataCampaignByKey
summary: Get campaign by key
description: |
Retrieve a single Campaign entity by its primary key from the OData
ActivityDetails reporting feed.
parameters:
- name: key
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/ODataEntity'
default:
$ref: '#/components/responses/Error'
/API/OData/ActivityDetails/1/CampaignResponse:
get:
tags:
- "Reporting Activity Details"
operationId: listODataCampaignResponse
summary: List campaign responses
description: |
List CampaignResponse entities from the OData ActivityDetails
reporting feed. Supports standard OData v4 query options.
responses:
'200':
$ref: '#/components/responses/ODataCollection'
default:
$ref: '#/components/responses/Error'
/API/OData/ActivityDetails/1/CampaignResponse/{key}:
get:
tags:
- "Reporting Activity Details"
operationId: getODataCampaignResponseByKey
summary: Get campaign response by key
description: |
Retrieve a single CampaignResponse entity by its primary key from the
OData reporting feed.
parameters:
- name: key
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/ODataEntity'
default:
$ref: '#/components/responses/Error'
/API/OData/ActivityDetails/1/Contact:
get:
tags:
- "Reporting Activity Details"
operationId: listODataContact
summary: List contacts
description: |
List Contact entities from the OData ActivityDetails reporting feed.
Supports $filter, $select, $orderby, $top, and $skip query options.
responses:
'200':
$ref: '#/components/responses/ODataCollection'
default:
$ref: '#/components/responses/Error'
/API/OData/ActivityDetails/1/Contact/{key}:
get:
tags:
- "Reporting Activity Details"
operationId: getODataContactByKey
summary: Get contact by key
description: |
Retrieve a single Contact entity by its primary key from the OData
ActivityDetails reporting feed.
parameters:
- name: key
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/ODataEntity'
default:
$ref: '#/components/responses/Error'
/API/OData/ActivityDetails/1/ContactIntegrationFields:
get:
tags:
- "Reporting Activity Details"
operationId: listODataContactIntegrationFields
summary: List contact integration fields
description: |
List ContactIntegrationFields entities from the OData ActivityDetails
feed — these map contact fields to external CRM integration field
identifiers.
responses:
'200':
$ref: '#/components/responses/ODataCollection'
default:
$ref: '#/components/responses/Error'
/API/OData/ActivityDetails/1/ContactIntegrationFields/{key}:
get:
tags:
- "Reporting Activity Details"
operationId: getODataContactIntegrationFieldsByKey
summary: Get contact integration fields by key
description: |
Retrieve a single ContactIntegrationFields record by its primary key.
parameters:
- name: key
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/ODataEntity'
default:
$ref: '#/components/responses/Error'
/API/OData/ActivityDetails/1/Device:
get:
tags:
- "Reporting Activity Details"
operationId: listODataDevice
summary: List devices
description: |
List Device entities from the OData ActivityDetails reporting feed.
Device records capture browser, OS, and device type from email open
and click events.
responses:
'200':
$ref: '#/components/responses/ODataCollection'
default:
$ref: '#/components/responses/Error'
/API/OData/ActivityDetails/1/Device/{key}:
get:
tags:
- "Reporting Activity Details"
operationId: getODataDeviceByKey
summary: Get device by key
description: |
Retrieve a single Device entity by its primary key from the OData
reporting feed.
parameters:
- name: key
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/ODataEntity'
default:
$ref: '#/components/responses/Error'
/API/OData/ActivityDetails/1/EloquaLinkedAccount:
get:
tags:
- "Reporting Activity Details"
operationId: listODataEloquaLinkedAccount
summary: List Eloqua linked accounts
description: |
List EloquaLinkedAccount entities from the OData ActivityDetails feed.
These represent CRM accounts linked to Eloqua accounts for revenue
attribution.
responses:
'200':
$ref: '#/components/responses/ODataCollection'
default:
$ref: '#/components/responses/Error'
/API/OData/ActivityDetails/1/EloquaLinkedAccount/{key}:
get:
tags:
- "Reporting Activity Details"
operationId: getODataEloquaLinkedAccountByKey
summary: Get Eloqua linked account by key
description: |
Retrieve a single EloquaLinkedAccount entity by its primary key.
parameters:
- name: key
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/ODataEntity'
default:
$ref: '#/components/responses/Error'
/API/OData/ActivityDetails/1/EmailAsset:
get:
tags:
- "Reporting Activity Details"
operationId: listODataEmailAsset
summary: List email assets
description: |
List EmailAsset entities from the OData ActivityDetails reporting
feed. Email assets represent templates referenced in activity data.
responses:
'200':
$ref: '#/components/responses/ODataCollection'
default:
$ref: '#/components/responses/Error'
/API/OData/ActivityDetails/1/EmailAsset/{key}:
get:
tags:
- "Reporting Activity Details"
operationId: getODataEmailAssetByKey
summary: Get email asset by key
description: |
Retrieve a single EmailAsset entity by its primary key.
parameters:
- name: key
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/ODataEntity'
default:
$ref: '#/components/responses/Error'
/API/OData/ActivityDetails/1/EmailAutoClick:
get:
tags:
- "Reporting Activity Details"
operationId: listODataEmailAutoClick
summary: List email auto clicks
description: |
List EmailAutoClick events from the OData ActivityDetails feed. Auto-
clicks are machine-generated clicks (e.g., from security scanners) not
caused by human recipients.
responses:
'200':
$ref: '#/components/responses/ODataCollection'
default:
$ref: '#/components/responses/Error'
/API/OData/ActivityDetails/1/EmailAutoClick/{key}:
get:
tags:
- "Reporting Activity Details"
operationId: getODataEmailAutoClickByKey
summary: Get email auto click by key
description: |
Retrieve a single EmailAutoClick event record by its primary key.
parameters:
- name: key
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/ODataEntity'
default:
$ref: '#/components/responses/Error'
/API/OData/ActivityDetails/1/EmailAutoOpen:
get:
tags:
- "Reporting Activity Details"
operationId: listODataEmailAutoOpen
summary: List email auto opens
description: |
List EmailAutoOpen events from the OData ActivityDetails feed. Auto-
opens are machine-generated opens (e.g., from mail preview or security
scanning) not caused by human recipients.
responses:
'200':
$ref: '#/components/responses/ODataCollection'
default:
$ref: '#/components/responses/Error'
/API/OData/ActivityDetails/1/EmailAutoOpen/{key}:
get:
tags:
- "Reporting Activity Details"
operationId: getODataEmailAutoOpenByKey
summary: Get email auto open by key
description: |
Retrieve a single EmailAutoOpen event record by its primary key.
parameters:
- name: key
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/ODataEntity'
default:
$ref: '#/components/responses/Error'
/API/OData/ActivityDetails/1/EmailBounceback:
get:
tags:
- "Reporting Activity Details"
operationId: listODataEmailBounceback
summary: List email bouncebacks
description: |
List EmailBounceback events from the OData ActivityDetails feed.
Bounce records capture hard and soft bounces, including bounce type
and reason code.
responses:
'200':
$ref: '#/components/responses/ODataCollection'
default:
$ref: '#/components/responses/Error'
/API/OData/ActivityDetails/1/EmailBounceback/{key}:
get:
tags:
- "Reporting Activity Details"
operationId: getODataEmailBouncebackByKey
summary: Get email bounceback by key
description: |
Retrieve a single EmailBounceback event record by its primary key.
parameters:
- name: key
in: path
required: true
schema:
type: string
responses:
'200':
$ref: '#/components/responses/ODataEntity'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/accounts/exports:
post:
tags:
- "Bulk Accounts"
operationId: createBulkAccountExport
summary: Create an account export definition
description: |
Step 1 (Define) of the Bulk Export workflow. Create an export
definition specifying which account fields to export using field
statements like {{Account.Field(C_Company)}}. Returns a uri to
reference when triggering a sync at POST /api/bulk/2.0/syncs.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'201':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Bulk Accounts"
operationId: listBulkAccountExports
summary: List account export definitions
description: |
List all account export definitions. Use to discover existing exports
or audit active definitions.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/accounts/exports/{id}:
get:
tags:
- "Bulk Accounts"
operationId: getBulkAccountExport
summary: Get an account export definition
description: |
Retrieve a single account export definition by ID, including its field
map, filter, and uri.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Bulk Accounts"
operationId: updateBulkAccountExport
summary: Update an account export definition
description: |
Update an account export definition. Changes take effect on the next
sync triggered against this definition.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Accounts"
operationId: deleteBulkAccountExport
x-destructive: true
summary: Delete an account export definition
description: |
Permanently delete an account export definition. Active syncs
referencing this definition are not affected, but the definition
cannot be reused.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/accounts/exports/{id}/data:
get:
tags:
- "Bulk Accounts"
operationId: getBulkAccountExportData
summary: Get account export data
description: |
Step 4 (Fetch) of the Bulk Export workflow. Retrieve exported account
records page by page. Use offset and limit to paginate (max 50,000 per
call). Only available after the sync reaches success or warning
status.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkData'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Accounts"
operationId: deleteBulkAccountExportData
x-destructive: true
summary: Delete account export data
description: |
Permanently delete all staged export data for this definition, freeing
server storage. Run after you have successfully fetched all records.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/accounts/imports:
post:
tags:
- "Bulk Accounts"
operationId: createBulkAccountImport
summary: Create an account import definition
description: |
Step 1 (Define) of the Bulk Import workflow. Create an import
definition specifying the field map for uploading account records. Set
identifierFieldName to control the match/merge key. Returns a uri for
data upload and sync triggering.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'201':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Bulk Accounts"
operationId: listBulkAccountImports
summary: List account import definitions
description: |
List all account import definitions.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/accounts/imports/{id}:
get:
tags:
- "Bulk Accounts"
operationId: getBulkAccountImport
summary: Get an account import definition
description: |
Retrieve a single account import definition by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Bulk Accounts"
operationId: updateBulkAccountImport
summary: Update an account import definition
description: |
Update an account import definition. Changes apply to the next data
upload and sync.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Accounts"
operationId: deleteBulkAccountImport
x-destructive: true
summary: Delete an account import definition
description: |
Permanently delete an account import definition.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/accounts/imports/{id}/data:
delete:
tags:
- "Bulk Accounts"
operationId: deleteBulkAccountImportData
x-destructive: true
summary: Delete account import data
description: |
Permanently delete all staged import data for this definition. Use to
clear bad data before re-uploading.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
post:
tags:
- "Bulk Accounts"
operationId: uploadBulkAccountImportData
summary: Upload account import data
description: |
Step 1.5 (Upload) of the Bulk Import workflow — run BEFORE triggering
the sync. POST a BulkData payload with an items array of account
records to stage for import.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkData'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/accounts/syncActions:
post:
tags:
- "Bulk Accounts"
operationId: createBulkAccountSyncAction
summary: Create an account sync action definition
description: |
Step 1 (Define) of the Bulk Sync Action workflow. Create a sync action
that performs a server-side operation on matching account records
(e.g., update a field value). Returns a uri for triggering via POST
/api/bulk/2.0/syncs.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'201':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Bulk Accounts"
operationId: listBulkAccountSyncActions
summary: List account sync action definitions
description: |
List all account sync action definitions.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/accounts/syncActions/{id}:
get:
tags:
- "Bulk Accounts"
operationId: getBulkAccountSyncAction
summary: Get an account sync action definition
description: |
Retrieve a single account sync action definition by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Bulk Accounts"
operationId: updateBulkAccountSyncAction
summary: Update an account sync action definition
description: |
Update an account sync action definition.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Accounts"
operationId: deleteBulkAccountSyncAction
x-destructive: true
summary: Delete an account sync action definition
description: |
Permanently delete an account sync action definition.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/accounts/syncActions/{id}/data:
delete:
tags:
- "Bulk Accounts"
operationId: deleteBulkAccountSyncActionData
x-destructive: true
summary: Delete account sync action data
description: |
Permanently delete staged sync action data for this definition.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
post:
tags:
- "Bulk Accounts"
operationId: uploadBulkAccountSyncActionData
summary: Upload account sync action data
description: |
Step 1.5 (Upload) of the Bulk Sync Action workflow. Upload account
records to process before triggering the sync.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkData'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/accounts/fields:
get:
tags:
- "Bulk Accounts"
operationId: listBulkAccountFields
summary: List available account fields
description: |
List all available account fields that can be referenced in
export/import field statements. Each field has a statement property
(e.g., {{Account.Field(C_Company)}}) to use in definition field maps.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkFieldList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/accounts/fields/{id}:
get:
tags:
- "Bulk Accounts"
operationId: getBulkAccountField
summary: Get an account field
description: |
Retrieve a single account field descriptor by ID, including its field
statement syntax and data type.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/accounts/lists:
get:
tags:
- "Bulk Accounts"
operationId: listBulkAccountLists
summary: List account lists
description: |
List account list definitions that can be used as filter constraints
in account export definitions.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/accounts/lists/{id}:
get:
tags:
- "Bulk Accounts"
operationId: getBulkAccountList
summary: Get an account list
description: |
Retrieve a single account list definition by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/activities/exports:
post:
tags:
- "Bulk Activities"
operationId: createBulkActivityExport
summary: Create an activity export definition
description: |
Step 1 (Define) of the Bulk Export workflow. Create an export
definition for contact activity data — email sends, opens, clicks,
bounces, and form submissions. Returns a uri to reference when
triggering a sync.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'201':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Bulk Activities"
operationId: listBulkActivityExports
summary: List activity export definitions
description: |
List all activity export definitions.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/activities/exports/{id}:
get:
tags:
- "Bulk Activities"
operationId: getBulkActivityExport
summary: Get an activity export definition
description: |
Retrieve a single activity export definition by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Bulk Activities"
operationId: updateBulkActivityExport
summary: Update an activity export definition
description: |
Update an activity export definition.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Activities"
operationId: deleteBulkActivityExport
x-destructive: true
summary: Delete an activity export definition
description: |
Permanently delete an activity export definition.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/activities/exports/{id}/data:
get:
tags:
- "Bulk Activities"
operationId: getBulkActivityExportData
summary: Get activity export data
description: |
Step 4 (Fetch) of the Bulk Export workflow. Retrieve exported activity
records page by page (max 50,000 per call). Only available after sync
completion.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkData'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Activities"
operationId: deleteBulkActivityExportData
x-destructive: true
summary: Delete activity export data
description: |
Permanently delete staged activity export data, freeing server
storage.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/activities/imports:
post:
tags:
- "Bulk Activities"
operationId: createBulkActivityImport
summary: Create an activity import definition
description: |
Step 1 (Define) of the Bulk Import workflow. Create an import
definition for uploading external activity records into Eloqua contact
activity history.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'201':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Bulk Activities"
operationId: listBulkActivityImports
summary: List activity import definitions
description: |
List all activity import definitions.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/activities/imports/{id}:
get:
tags:
- "Bulk Activities"
operationId: getBulkActivityImport
summary: Get an activity import definition
description: |
Retrieve a single activity import definition by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Bulk Activities"
operationId: updateBulkActivityImport
summary: Update an activity import definition
description: |
Update an activity import definition.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Activities"
operationId: deleteBulkActivityImport
x-destructive: true
summary: Delete an activity import definition
description: |
Permanently delete an activity import definition.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/activities/imports/{id}/data:
delete:
tags:
- "Bulk Activities"
operationId: deleteBulkActivityImportData
x-destructive: true
summary: Delete activity import data
description: |
Permanently delete staged activity import data.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
post:
tags:
- "Bulk Activities"
operationId: uploadBulkActivityImportData
summary: Upload activity import data
description: |
Step 1.5 (Upload) of the Bulk Import workflow. Upload activity records
to stage for import BEFORE triggering a sync.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkData'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/activities/fields:
get:
tags:
- "Bulk Activities"
operationId: listBulkActivityFields
summary: List available activity fields
description: |
List all available activity fields that can be referenced in
export/import field statements.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkFieldList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/activities/fields/{id}:
get:
tags:
- "Bulk Activities"
operationId: getBulkActivityField
summary: Get an activity field
description: |
Retrieve a single activity field descriptor by ID, including its field
statement and data type.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/campaignResponses/exports:
post:
tags:
- "Bulk Campaign Responses"
operationId: createBulkCampaignResponseExport
summary: Create a campaign response export definition
description: |
Step 1 (Define) of the Bulk Export workflow. Create an export
definition for campaign response data — records showing which contacts
responded to which campaigns.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'201':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Bulk Campaign Responses"
operationId: listBulkCampaignResponseExports
summary: List campaign response export definitions
description: |
List all campaign response export definitions.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/campaignResponses/exports/{id}:
get:
tags:
- "Bulk Campaign Responses"
operationId: getBulkCampaignResponseExport
summary: Get a campaign response export definition
description: |
Retrieve a single campaign response export definition by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Bulk Campaign Responses"
operationId: updateBulkCampaignResponseExport
summary: Update a campaign response export definition
description: |
Update a campaign response export definition.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Campaign Responses"
operationId: deleteBulkCampaignResponseExport
x-destructive: true
summary: Delete a campaign response export definition
description: |
Permanently delete a campaign response export definition.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/campaignResponses/exports/{id}/data:
get:
tags:
- "Bulk Campaign Responses"
operationId: getBulkCampaignResponseExportData
summary: Get campaign response export data
description: |
Step 4 (Fetch) of the Bulk Export workflow. Retrieve exported campaign
response records page by page.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkData'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Campaign Responses"
operationId: deleteBulkCampaignResponseExportData
x-destructive: true
summary: Delete campaign response export data
description: |
Permanently delete staged campaign response export data.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/campaignResponses/imports:
post:
tags:
- "Bulk Campaign Responses"
operationId: createBulkCampaignResponseImport
summary: Create a campaign response import definition
description: |
Step 1 (Define) of the Bulk Import workflow. Create an import
definition for uploading campaign response records.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'201':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Bulk Campaign Responses"
operationId: listBulkCampaignResponseImports
summary: List campaign response import definitions
description: |
List all campaign response import definitions.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/campaignResponses/imports/{id}:
get:
tags:
- "Bulk Campaign Responses"
operationId: getBulkCampaignResponseImport
summary: Get a campaign response import definition
description: |
Retrieve a single campaign response import definition by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Bulk Campaign Responses"
operationId: updateBulkCampaignResponseImport
summary: Update a campaign response import definition
description: |
Update a campaign response import definition.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Campaign Responses"
operationId: deleteBulkCampaignResponseImport
x-destructive: true
summary: Delete a campaign response import definition
description: |
Permanently delete a campaign response import definition.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/campaignResponses/imports/{id}/data:
delete:
tags:
- "Bulk Campaign Responses"
operationId: deleteBulkCampaignResponseImportData
x-destructive: true
summary: Delete campaign response import data
description: |
Permanently delete staged campaign response import data.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
post:
tags:
- "Bulk Campaign Responses"
operationId: uploadBulkCampaignResponseImportData
summary: Upload campaign response import data
description: |
Step 1.5 (Upload) of the Bulk Import workflow. Upload campaign
response records to stage for import.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkData'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/campaignResponses/fields:
get:
tags:
- "Bulk Campaign Responses"
operationId: listBulkCampaignResponseFields
summary: List available campaign response fields
description: |
List all available campaign response fields for use in field
statements.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkFieldList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/campaignResponses/fields/{id}:
get:
tags:
- "Bulk Campaign Responses"
operationId: getBulkCampaignResponseField
summary: Get a campaign response field
description: |
Retrieve a single campaign response field descriptor by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/campaigns/fields:
get:
tags:
- "Bulk Campaigns"
operationId: listBulkCampaignFields
summary: List available campaign fields
description: |
List all available campaign fields that can be referenced in field
statements. Campaign fields are read-only in the Bulk API — use them
in export definitions to enrich contact exports with campaign
attributes.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkFieldList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/campaigns/fields/{id}:
get:
tags:
- "Bulk Campaigns"
operationId: getBulkCampaignField
summary: Get a campaign field
description: |
Retrieve a single campaign field descriptor by ID, including its field
statement syntax.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/contacts/exports:
post:
tags:
- "Bulk Contacts"
operationId: createBulkContactExport
summary: Create a contact export definition
description: |
Step 1 (Define) of the Bulk Export workflow. Create an export
definition specifying which contact fields to export using field
statements like {{Contact.Field(C_EmailAddress)}}. Optionally add a
filter to restrict which contacts are included. Returns a uri to
reference when triggering a sync at POST /api/bulk/2.0/syncs.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'201':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Bulk Contacts"
operationId: listBulkContactExports
summary: List contact export definitions
description: |
List all contact export definitions. Use to discover existing exports
or audit active definitions.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/contacts/exports/{id}:
get:
tags:
- "Bulk Contacts"
operationId: getBulkContactExport
summary: Get a contact export definition
description: |
Retrieve a single contact export definition by ID, including its field
map, filter, and uri.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Bulk Contacts"
operationId: updateBulkContactExport
summary: Update a contact export definition
description: |
Update a contact export definition. Changes take effect on the next
sync.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Contacts"
operationId: deleteBulkContactExport
x-destructive: true
summary: Delete a contact export definition
description: |
Permanently delete a contact export definition.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/contacts/exports/{id}/data:
get:
tags:
- "Bulk Contacts"
operationId: getBulkContactExportData
summary: Get contact export data
description: |
Step 4 (Fetch) of the Bulk Export workflow. Retrieve exported contact
records page by page using offset and limit (max 50,000 per call).
Only available after the sync reaches success or warning status.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkData'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Contacts"
operationId: deleteBulkContactExportData
x-destructive: true
summary: Delete contact export data
description: |
Permanently delete staged contact export data, freeing server storage.
Run after successfully fetching all records.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/contacts/imports:
post:
tags:
- "Bulk Contacts"
operationId: createBulkContactImport
summary: Create a contact import definition
description: |
Step 1 (Define) of the Bulk Import workflow. Create an import
definition for uploading contact records. Typically set
identifierFieldName to C_EmailAddress for match/merge. Returns a uri
for staging data and triggering syncs.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'201':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Bulk Contacts"
operationId: listBulkContactImports
summary: List contact import definitions
description: |
List all contact import definitions.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/contacts/imports/{id}:
get:
tags:
- "Bulk Contacts"
operationId: getBulkContactImport
summary: Get a contact import definition
description: |
Retrieve a single contact import definition by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Bulk Contacts"
operationId: updateBulkContactImport
summary: Update a contact import definition
description: |
Update a contact import definition.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Contacts"
operationId: deleteBulkContactImport
x-destructive: true
summary: Delete a contact import definition
description: |
Permanently delete a contact import definition.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/contacts/imports/{id}/data:
delete:
tags:
- "Bulk Contacts"
operationId: deleteBulkContactImportData
x-destructive: true
summary: Delete contact import data
description: |
Permanently delete staged contact import data. Use to clear bad data
before re-uploading.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
post:
tags:
- "Bulk Contacts"
operationId: uploadBulkContactImportData
summary: Upload contact import data
description: |
Step 1.5 (Upload) of the Bulk Import workflow — run BEFORE triggering
the sync. POST a BulkData payload with an items array of contact
records to stage for import.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkData'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/contacts/syncActions:
post:
tags:
- "Bulk Contacts"
operationId: createBulkContactSyncAction
summary: Create a contact sync action definition
description: |
Step 1 (Define) of the Bulk Sync Action workflow. Create a sync action
that performs a server-side operation on matching contact records
(e.g., add to a list, subscribe to an email group). Returns a uri for
triggering.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'201':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Bulk Contacts"
operationId: listBulkContactSyncActions
summary: List contact sync action definitions
description: |
List all contact sync action definitions.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/contacts/syncActions/{id}:
get:
tags:
- "Bulk Contacts"
operationId: getBulkContactSyncAction
summary: Get a contact sync action definition
description: |
Retrieve a single contact sync action definition by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Bulk Contacts"
operationId: updateBulkContactSyncAction
summary: Update a contact sync action definition
description: |
Update a contact sync action definition.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Contacts"
operationId: deleteBulkContactSyncAction
x-destructive: true
summary: Delete a contact sync action definition
description: |
Permanently delete a contact sync action definition.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/contacts/syncActions/{id}/data:
delete:
tags:
- "Bulk Contacts"
operationId: deleteBulkContactSyncActionData
x-destructive: true
summary: Delete contact sync action data
description: |
Permanently delete staged contact sync action data.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
post:
tags:
- "Bulk Contacts"
operationId: uploadBulkContactSyncActionData
summary: Upload contact sync action data
description: |
Step 1.5 (Upload) of the Bulk Sync Action workflow. Upload contact
records to process before triggering the sync.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkData'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/contacts/fields:
get:
tags:
- "Bulk Contacts"
operationId: listBulkContactFields
summary: List available contact fields
description: |
List all available contact fields that can be referenced in
export/import field statements. Each field has a statement property
(e.g., {{Contact.Field(C_EmailAddress)}}) to use in definition field
maps.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkFieldList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/contacts/fields/{id}:
get:
tags:
- "Bulk Contacts"
operationId: getBulkContactField
summary: Get a contact field
description: |
Retrieve a single contact field descriptor by ID, including its field
statement and data type.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/contacts/filters:
get:
tags:
- "Bulk Contacts"
operationId: listBulkContactFilters
summary: List available contact filters
description: |
List contact filter definitions that can be referenced in the filter
field of contact export definitions to restrict which contacts are
exported.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/contacts/filters/{id}:
get:
tags:
- "Bulk Contacts"
operationId: getBulkContactFilter
summary: Get a contact filter
description: |
Retrieve a single contact filter definition by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/contacts/lists:
get:
tags:
- "Bulk Contacts"
operationId: listBulkContactLists
summary: List contact lists
description: |
List contact list definitions. Use the list uri in a filter to
restrict a contact export or sync action to list members only.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/contacts/lists/{id}:
get:
tags:
- "Bulk Contacts"
operationId: getBulkContactList
summary: Get a contact list
description: |
Retrieve a single contact list definition by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/contacts/segments:
get:
tags:
- "Bulk Contacts"
operationId: listBulkContactSegments
summary: List contact segments
description: |
List contact segment definitions. Segments are dynamic groupings that
can be referenced in export filter criteria.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/contacts/segments/{id}:
get:
tags:
- "Bulk Contacts"
operationId: getBulkContactSegment
summary: Get a contact segment
description: |
Retrieve a single contact segment definition by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/contacts/scoring/models:
get:
tags:
- "Bulk Contacts"
operationId: listBulkContactScoringModels
summary: List contact scoring models
description: |
List contact scoring model definitions. Scoring model fields can be
exported to retrieve contact profile scores.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/contacts/scoring/models/{id}:
get:
tags:
- "Bulk Contacts"
operationId: getBulkContactScoringModel
summary: Get a contact scoring model
description: |
Retrieve a single contact scoring model definition by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/customObjects:
get:
tags:
- "Bulk Custom Objects"
operationId: listBulkCustomObjects
summary: List all custom object definitions
description: |
List all Custom Data Object (CDO) definitions available for bulk
operations. Use the parentId from this list when accessing CDO-
specific export, import, syncAction, and field endpoints.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/customObjects/{parentId}:
get:
tags:
- "Bulk Custom Objects"
operationId: getBulkCustomObject
summary: Get a custom object definition
description: |
Retrieve a single CDO definition by its parentId, including field
definitions and the unique key field.
parameters:
- $ref: '#/components/parameters/pathParentId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/customObjects/{parentId}/exports:
post:
tags:
- "Bulk Custom Objects"
operationId: createBulkCustomObjectExport
summary: Create a custom object export definition
description: |
Step 1 (Define) of the Bulk Export workflow for a CDO. Create an
export definition specifying which CDO fields to export. Use the CDO
parentId in the path. Returns a uri to reference when triggering a
sync.
parameters:
- $ref: '#/components/parameters/pathParentId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'201':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Bulk Custom Objects"
operationId: listBulkCustomObjectExports
summary: List custom object export definitions
description: |
List all export definitions for the specified CDO (identified by
parentId).
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/customObjects/{parentId}/exports/{id}:
get:
tags:
- "Bulk Custom Objects"
operationId: getBulkCustomObjectExport
summary: Get a custom object export definition
description: |
Retrieve a single CDO export definition by ID.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Bulk Custom Objects"
operationId: updateBulkCustomObjectExport
summary: Update a custom object export definition
description: |
Update a CDO export definition.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Custom Objects"
operationId: deleteBulkCustomObjectExport
x-destructive: true
summary: Delete a custom object export definition
description: |
Permanently delete a CDO export definition.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/customObjects/{parentId}/exports/{id}/data:
get:
tags:
- "Bulk Custom Objects"
operationId: getBulkCustomObjectExportData
summary: Get custom object export data
description: |
Step 4 (Fetch) of the Bulk Export workflow. Retrieve exported CDO
records page by page (max 50,000 per call).
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkData'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Custom Objects"
operationId: deleteBulkCustomObjectExportData
x-destructive: true
summary: Delete custom object export data
description: |
Permanently delete staged CDO export data, freeing server storage.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/customObjects/{parentId}/imports:
post:
tags:
- "Bulk Custom Objects"
operationId: createBulkCustomObjectImport
summary: Create a custom object import definition
description: |
Step 1 (Define) of the Bulk Import workflow for a CDO. Create an
import definition for uploading records into the specified CDO.
parameters:
- $ref: '#/components/parameters/pathParentId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'201':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Bulk Custom Objects"
operationId: listBulkCustomObjectImports
summary: List custom object import definitions
description: |
List all import definitions for the specified CDO.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/customObjects/{parentId}/imports/{id}:
get:
tags:
- "Bulk Custom Objects"
operationId: getBulkCustomObjectImport
summary: Get a custom object import definition
description: |
Retrieve a single CDO import definition by ID.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Bulk Custom Objects"
operationId: updateBulkCustomObjectImport
summary: Update a custom object import definition
description: |
Update a CDO import definition.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Custom Objects"
operationId: deleteBulkCustomObjectImport
x-destructive: true
summary: Delete a custom object import definition
description: |
Permanently delete a CDO import definition.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/customObjects/{parentId}/imports/{id}/data:
delete:
tags:
- "Bulk Custom Objects"
operationId: deleteBulkCustomObjectImportData
x-destructive: true
summary: Delete custom object import data
description: |
Permanently delete staged CDO import data.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
post:
tags:
- "Bulk Custom Objects"
operationId: uploadBulkCustomObjectImportData
summary: Upload custom object import data
description: |
Step 1.5 (Upload) of the Bulk Import workflow. Upload CDO records to
stage for import BEFORE triggering a sync.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkData'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/customObjects/{parentId}/syncActions:
post:
tags:
- "Bulk Custom Objects"
operationId: createBulkCustomObjectSyncAction
summary: Create a custom object sync action definition
description: |
Step 1 (Define) of the Bulk Sync Action workflow for a CDO. Create a
sync action that performs a server-side operation on matching CDO
records.
parameters:
- $ref: '#/components/parameters/pathParentId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'201':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Bulk Custom Objects"
operationId: listBulkCustomObjectSyncActions
summary: List custom object sync action definitions
description: |
List all sync action definitions for the specified CDO.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/customObjects/{parentId}/syncActions/{id}:
get:
tags:
- "Bulk Custom Objects"
operationId: getBulkCustomObjectSyncAction
summary: Get a custom object sync action definition
description: |
Retrieve a single CDO sync action definition by ID.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Bulk Custom Objects"
operationId: updateBulkCustomObjectSyncAction
summary: Update a custom object sync action definition
description: |
Update a CDO sync action definition.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Custom Objects"
operationId: deleteBulkCustomObjectSyncAction
x-destructive: true
summary: Delete a custom object sync action definition
description: |
Permanently delete a CDO sync action definition.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/customObjects/{parentId}/syncActions/{id}/data:
delete:
tags:
- "Bulk Custom Objects"
operationId: deleteBulkCustomObjectSyncActionData
x-destructive: true
summary: Delete custom object sync action data
description: |
Permanently delete staged CDO sync action data.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
post:
tags:
- "Bulk Custom Objects"
operationId: uploadBulkCustomObjectSyncActionData
summary: Upload custom object sync action data
description: |
Step 1.5 (Upload) of the Bulk Sync Action workflow. Upload CDO records
to process before triggering the sync.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkData'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/customObjects/{parentId}/fields:
get:
tags:
- "Bulk Custom Objects"
operationId: listBulkCustomObjectFields
summary: List available custom object fields
description: |
List all available fields for the specified CDO. Each field has a
statement property for use in export/import definitions.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkFieldList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/customObjects/{parentId}/fields/{id}:
get:
tags:
- "Bulk Custom Objects"
operationId: getBulkCustomObjectField
summary: Get a custom object field
description: |
Retrieve a single CDO field descriptor by ID, including its field
statement and data type.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/emailAddresses/imports:
post:
tags:
- "Bulk Email Addresses"
operationId: createBulkEmailAddressImport
summary: Create an email address import definition
description: |
Step 1 (Define) of the Bulk Import workflow for email addresses.
Create an import definition for bulk-managing contact email addresses.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'201':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Bulk Email Addresses"
operationId: listBulkEmailAddressImports
summary: List email address import definitions
description: |
List all email address import definitions.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/emailAddresses/imports/{id}:
get:
tags:
- "Bulk Email Addresses"
operationId: getBulkEmailAddressImport
summary: Get an email address import definition
description: |
Retrieve a single email address import definition by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Bulk Email Addresses"
operationId: updateBulkEmailAddressImport
summary: Update an email address import definition
description: |
Update an email address import definition.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Email Addresses"
operationId: deleteBulkEmailAddressImport
x-destructive: true
summary: Delete an email address import definition
description: |
Permanently delete an email address import definition.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/emailAddresses/imports/{id}/data:
delete:
tags:
- "Bulk Email Addresses"
operationId: deleteBulkEmailAddressImportData
x-destructive: true
summary: Delete email address import data
description: |
Permanently delete staged email address import data.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
post:
tags:
- "Bulk Email Addresses"
operationId: uploadBulkEmailAddressImportData
summary: Upload email address import data
description: |
Step 1.5 (Upload) of the Bulk Import workflow. Upload email address
records to stage for import BEFORE triggering a sync.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkData'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/emailGroups:
get:
tags:
- "Bulk Email Groups"
operationId: listBulkEmailGroups
summary: List email groups
description: |
List all email group definitions. Email groups control subscription
categories (e.g., 'Newsletter', 'Product Updates') and are referenced
in subscription management imports.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/emailGroups/{id}:
get:
tags:
- "Bulk Email Groups"
operationId: getBulkEmailGroup
summary: Get an email group
description: |
Retrieve a single email group definition by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/events:
get:
tags:
- "Bulk Events"
operationId: listBulkEvents
summary: List all event definitions
description: |
List all Event definitions available for bulk operations. Use the
parentId from this list to access event-specific export, import, and
field endpoints.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/events/{parentId}:
get:
tags:
- "Bulk Events"
operationId: getBulkEvent
summary: Get an event definition
description: |
Retrieve a single Event definition by parentId, including its field
schema.
parameters:
- $ref: '#/components/parameters/pathParentId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/events/{parentId}/exports:
post:
tags:
- "Bulk Events"
operationId: createBulkEventExport
summary: Create an event export definition
description: |
Step 1 (Define) of the Bulk Export workflow for an Event. Create an
export definition specifying which event fields to export. Returns a
uri to reference when triggering a sync.
parameters:
- $ref: '#/components/parameters/pathParentId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'201':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Bulk Events"
operationId: listBulkEventExports
summary: List event export definitions
description: |
List all export definitions for the specified Event (identified by
parentId).
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/events/{parentId}/exports/{id}:
get:
tags:
- "Bulk Events"
operationId: getBulkEventExport
summary: Get an event export definition
description: |
Retrieve a single Event export definition by ID.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Bulk Events"
operationId: updateBulkEventExport
summary: Update an event export definition
description: |
Update an Event export definition.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Events"
operationId: deleteBulkEventExport
x-destructive: true
summary: Delete an event export definition
description: |
Permanently delete an Event export definition.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/events/{parentId}/exports/{id}/data:
get:
tags:
- "Bulk Events"
operationId: getBulkEventExportData
summary: Get event export data
description: |
Step 4 (Fetch) of the Bulk Export workflow. Retrieve exported Event
records page by page (max 50,000 per call).
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkData'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Events"
operationId: deleteBulkEventExportData
x-destructive: true
summary: Delete event export data
description: |
Permanently delete staged Event export data, freeing server storage.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/events/{parentId}/imports:
post:
tags:
- "Bulk Events"
operationId: createBulkEventImport
summary: Create an event import definition
description: |
Step 1 (Define) of the Bulk Import workflow for an Event. Create an
import definition for uploading event registration or attendance
records.
parameters:
- $ref: '#/components/parameters/pathParentId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'201':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Bulk Events"
operationId: listBulkEventImports
summary: List event import definitions
description: |
List all import definitions for the specified Event.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/events/{parentId}/imports/{id}:
get:
tags:
- "Bulk Events"
operationId: getBulkEventImport
summary: Get an event import definition
description: |
Retrieve a single Event import definition by ID.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Bulk Events"
operationId: updateBulkEventImport
summary: Update an event import definition
description: |
Update an Event import definition.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Events"
operationId: deleteBulkEventImport
x-destructive: true
summary: Delete an event import definition
description: |
Permanently delete an Event import definition.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/events/{parentId}/imports/{id}/data:
delete:
tags:
- "Bulk Events"
operationId: deleteBulkEventImportData
x-destructive: true
summary: Delete event import data
description: |
Permanently delete staged Event import data.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
post:
tags:
- "Bulk Events"
operationId: uploadBulkEventImportData
summary: Upload event import data
description: |
Step 1.5 (Upload) of the Bulk Import workflow. Upload event records to
stage for import BEFORE triggering a sync.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkData'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/events/{parentId}/fields:
get:
tags:
- "Bulk Events"
operationId: listBulkEventFields
summary: List available event fields
description: |
List all available fields for the specified Event. Each field has a
statement property for use in export/import definitions.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkFieldList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/events/{parentId}/fields/{id}:
get:
tags:
- "Bulk Events"
operationId: getBulkEventField
summary: Get an event field
description: |
Retrieve a single Event field descriptor by ID, including its field
statement and data type.
parameters:
- $ref: '#/components/parameters/pathParentId'
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/exports:
get:
tags:
- "Bulk Exports"
operationId: listBulkExports
summary: List all export definitions across all resource types
description: |
List all export definitions across all entity types. Useful for a
global audit of active definitions.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/exports/data:
get:
tags:
- "Bulk Exports"
operationId: getBulkExportsData
summary: Get data from any export
description: |
Retrieve exported data from a completed export by URI. An alternative
to the entity-specific data endpoint for accessing export results.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkData'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/imports:
get:
tags:
- "Bulk Imports"
operationId: listBulkImports
summary: List all import definitions across all resource types
description: |
List all import definitions across all entity types.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/imports/data:
get:
tags:
- "Bulk Imports"
operationId: getBulkImportsData
summary: Get import data
description: |
Retrieve the status of staged import data across all definitions.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkData'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/imports/priorities:
get:
tags:
- "Bulk Imports"
operationId: listBulkImportPriorities
summary: List import priorities
description: |
List import priority definitions that control the processing order
when multiple imports run concurrently.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/imports/priorities/{id}:
get:
tags:
- "Bulk Imports"
operationId: getBulkImportPriority
summary: Get an import priority
description: |
Retrieve a single import priority definition by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/opportunities/imports:
post:
tags:
- "Bulk Opportunities"
operationId: createBulkOpportunityImport
summary: Create an opportunity import definition
description: |
Step 1 (Define) of the Bulk Import workflow for opportunities. Create
an import definition for bulk-loading CRM opportunity records into
Eloqua. Supports linking opportunities to contacts for revenue
attribution.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'201':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Bulk Opportunities"
operationId: listBulkOpportunityImports
summary: List opportunity import definitions
description: |
List all opportunity import definitions.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/opportunities/imports/{id}:
get:
tags:
- "Bulk Opportunities"
operationId: getBulkOpportunityImport
summary: Get an opportunity import definition
description: |
Retrieve a single opportunity import definition by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Bulk Opportunities"
operationId: updateBulkOpportunityImport
summary: Update an opportunity import definition
description: |
Update an opportunity import definition.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Opportunities"
operationId: deleteBulkOpportunityImport
x-destructive: true
summary: Delete an opportunity import definition
description: |
Permanently delete an opportunity import definition.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/opportunities/imports/{id}/data:
delete:
tags:
- "Bulk Opportunities"
operationId: deleteBulkOpportunityImportData
x-destructive: true
summary: Delete opportunity import data
description: |
Permanently delete staged opportunity import data.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
post:
tags:
- "Bulk Opportunities"
operationId: uploadBulkOpportunityImportData
summary: Upload opportunity import data
description: |
Step 1.5 (Upload) of the Bulk Import workflow. Upload opportunity
records to stage for import BEFORE triggering a sync.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkData'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/opportunities/contacts/imports:
post:
tags:
- "Bulk Opportunities"
operationId: createBulkOpportunityContactImport
summary: Create an opportunity-contact import definition
description: |
Step 1 (Define) of the Bulk Import workflow for opportunity-contact
links. Create an import definition for associating CRM opportunity IDs
with Eloqua contact records (many-to-many).
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'201':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Bulk Opportunities"
operationId: listBulkOpportunityContactImports
summary: List opportunity-contact import definitions
description: |
List all opportunity-contact import definitions.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/opportunities/contacts/imports/{id}:
get:
tags:
- "Bulk Opportunities"
operationId: getBulkOpportunityContactImport
summary: Get an opportunity-contact import definition
description: |
Retrieve a single opportunity-contact import definition by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Bulk Opportunities"
operationId: updateBulkOpportunityContactImport
summary: Update an opportunity-contact import definition
description: |
Update an opportunity-contact import definition.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Opportunities"
operationId: deleteBulkOpportunityContactImport
x-destructive: true
summary: Delete an opportunity-contact import definition
description: |
Permanently delete an opportunity-contact import definition.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/opportunities/contacts/imports/{id}/data:
delete:
tags:
- "Bulk Opportunities"
operationId: deleteBulkOpportunityContactImportData
x-destructive: true
summary: Delete opportunity-contact import data
description: |
Permanently delete staged opportunity-contact import data.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
post:
tags:
- "Bulk Opportunities"
operationId: uploadBulkOpportunityContactImportData
summary: Upload opportunity-contact import data
description: |
Step 1.5 (Upload) of the Bulk Import workflow. Upload opportunity-
contact link records to stage for import.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkData'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/opportunities/fields:
get:
tags:
- "Bulk Opportunities"
operationId: listBulkOpportunityFields
summary: List available opportunity fields
description: |
List all available opportunity fields for use in import field
statements.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkFieldList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/opportunities/fields/{id}:
get:
tags:
- "Bulk Opportunities"
operationId: getBulkOpportunityField
summary: Get an opportunity field
description: |
Retrieve a single opportunity field descriptor by ID, including its
field statement and data type.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/phoneNumbers/imports:
post:
tags:
- "Bulk Phone Numbers"
operationId: createBulkPhoneNumberImport
summary: Create a phone number import definition
description: |
Step 1 (Define) of the Bulk Import workflow for phone numbers. Create
an import definition for bulk-associating phone numbers with contacts.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'201':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Bulk Phone Numbers"
operationId: listBulkPhoneNumberImports
summary: List phone number import definitions
description: |
List all phone number import definitions.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/phoneNumbers/imports/{id}:
get:
tags:
- "Bulk Phone Numbers"
operationId: getBulkPhoneNumberImport
summary: Get a phone number import definition
description: |
Retrieve a single phone number import definition by ID.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
put:
tags:
- "Bulk Phone Numbers"
operationId: updateBulkPhoneNumberImport
summary: Update a phone number import definition
description: |
Update a phone number import definition.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkDefinition'
responses:
'200':
$ref: '#/components/responses/BulkDefinition'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Phone Numbers"
operationId: deleteBulkPhoneNumberImport
x-destructive: true
summary: Delete a phone number import definition
description: |
Permanently delete a phone number import definition.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/phoneNumbers/imports/{id}/data:
delete:
tags:
- "Bulk Phone Numbers"
operationId: deleteBulkPhoneNumberImportData
x-destructive: true
summary: Delete phone number import data
description: |
Permanently delete staged phone number import data.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
post:
tags:
- "Bulk Phone Numbers"
operationId: uploadBulkPhoneNumberImportData
summary: Upload phone number import data
description: |
Step 1.5 (Upload) of the Bulk Import workflow. Upload phone number
records to stage for import BEFORE triggering a sync.
parameters:
- $ref: '#/components/parameters/pathId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkData'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/syncActions:
get:
tags:
- "Bulk Sync Actions"
operationId: listBulkSyncActions
summary: List all sync action definitions across all resource types
description: |
List all sync action definitions across all entity types. Useful for a
cross-entity audit of active sync actions.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/syncs:
post:
tags:
- "Bulk Syncs"
operationId: createBulkSync
summary: Create and trigger a sync
description: |
Step 2 (Trigger) of the Bulk workflow. POST {"syncedInstanceUri":
"<uri>"} to execute an export, import, or sync action definition.
Returns a sync object with id and initial status of pending. Poll GET
/api/bulk/2.0/syncs/{id} until status reaches a terminal state.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BulkSync'
responses:
'201':
$ref: '#/components/responses/BulkSync'
default:
$ref: '#/components/responses/Error'
get:
tags:
- "Bulk Syncs"
operationId: listBulkSyncs
summary: List syncs
description: |
List recent syncs across all entity types. Useful for monitoring
active operations and auditing historical runs.
parameters:
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkSyncList'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/syncs/{id}:
get:
tags:
- "Bulk Syncs"
operationId: getBulkSync
summary: Get sync status
description: |
Step 3 (Poll) of the Bulk workflow. Retrieve the current status of a
sync. Poll every 5-10 seconds until status is success, warning, or
error. A warning status means some records were rejected — check
/syncs/{id}/rejects for details.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'200':
$ref: '#/components/responses/BulkSync'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/syncs/{id}/logs:
get:
tags:
- "Bulk Syncs"
operationId: getBulkSyncLogs
summary: Get sync log entries
description: |
Retrieve log entries for a sync, providing detailed diagnostic
information about what occurred during execution, including per-record
warnings and error codes.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkSyncLog'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/syncs/{id}/data:
get:
tags:
- "Bulk Syncs"
operationId: getBulkSyncData
summary: Get synced data
description: |
Step 4 (Fetch) of the Bulk Export workflow. Retrieve exported records
from a completed sync. Page through results using offset and limit
(max 50,000 per call). Only populated for export-type syncs.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkData'
default:
$ref: '#/components/responses/Error'
delete:
tags:
- "Bulk Syncs"
operationId: deleteBulkSyncData
x-destructive: true
summary: Delete sync data
description: |
Permanently delete the staged data for a completed sync, freeing
server storage. Run after successfully fetching all exported records.
parameters:
- $ref: '#/components/parameters/pathId'
responses:
'204':
$ref: '#/components/responses/NoContent'
default:
$ref: '#/components/responses/Error'
/api/bulk/2.0/syncs/{id}/rejects:
get:
tags:
- "Bulk Syncs"
operationId: getBulkSyncRejects
summary: Get rejected records from a sync
description: |
Retrieve records rejected during a sync. Each entry includes the
reason for rejection. Use to identify and remediate data quality
issues, then re-import corrected records.
parameters:
- $ref: '#/components/parameters/pathId'
- $ref: '#/components/parameters/bulkOffset'
- $ref: '#/components/parameters/bulkLimit'
responses:
'200':
$ref: '#/components/responses/BulkData'
default:
$ref: '#/components/responses/Error'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment