openapi: 3.1.0 info: title: Oracle Eloqua Bulk Account Exports Contacts API description: The Bulk API for Oracle Eloqua Marketing Cloud Service, designed for high-volume data operations including imports, exports, and synchronization of large datasets for contacts, accounts, activities, and custom objects. version: '2.0' contact: name: Oracle Support url: https://support.oracle.com/ termsOfService: https://www.oracle.com/legal/terms.html servers: - url: https://secure.p01.eloqua.com/API/Bulk/2.0 description: Eloqua Bulk API v2.0 (pod may vary per instance) security: - basicAuth: [] - oAuth2: [] tags: - name: Contacts description: Manage contact records and data paths: /data/contacts: post: operationId: searchContacts summary: Oracle Eloqua Search contacts description: Retrieve a list of contacts matching the specified search criteria. tags: - Contacts parameters: - $ref: '#/components/parameters/count' - $ref: '#/components/parameters/depth' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/search' - $ref: '#/components/parameters/orderBy' - $ref: '#/components/parameters/lastUpdatedAt' responses: '200': description: Successfully retrieved contacts content: application/json: schema: $ref: '#/components/schemas/QueryResultContact' '400': description: Bad request '401': description: Unauthorized '403': description: Forbidden '500': description: Internal server error /data/contact/{id}: get: operationId: getContact summary: Oracle Eloqua Retrieve a contact description: Retrieve a single contact record by its identifier. tags: - Contacts parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/depth' - name: viewId in: query description: The contact view identifier to use schema: type: string responses: '200': description: Successfully retrieved contact content: application/json: schema: $ref: '#/components/schemas/Contact' '401': description: Unauthorized '404': description: Contact not found put: operationId: updateContact summary: Oracle Eloqua Update a contact description: Update an existing contact record. tags: - Contacts parameters: - $ref: '#/components/parameters/id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Contact' responses: '200': description: Successfully updated contact content: application/json: schema: $ref: '#/components/schemas/Contact' '400': description: Bad request '401': description: Unauthorized '404': description: Contact not found delete: operationId: deleteContact summary: Oracle Eloqua Delete a contact description: Delete a contact record by its identifier. tags: - Contacts parameters: - $ref: '#/components/parameters/id' responses: '204': description: Contact deleted successfully '401': description: Unauthorized '404': description: Contact not found /data/contact/{id}/membership: get: operationId: getContactListMembership summary: Oracle Eloqua Get contact list membership description: Retrieve the contact lists to which a contact belongs. tags: - Contacts parameters: - $ref: '#/components/parameters/id' responses: '200': description: Successfully retrieved membership content: application/json: schema: type: object properties: elements: type: array items: $ref: '#/components/schemas/ContactList' '401': description: Unauthorized '404': description: Contact not found components: schemas: FieldValue: type: object properties: id: type: string description: Field identifier readOnly: true type: type: string description: Field type readOnly: true value: type: string description: Field value (dates are returned as Unix timestamps) Contact: type: object properties: id: type: string description: Unique identifier for the contact readOnly: true name: type: string description: Contact display name firstName: type: string description: Contact first name lastName: type: string description: Contact last name emailAddress: type: string format: email description: Contact email address title: type: string description: Contact job title accountId: type: string description: Associated account identifier readOnly: true accountName: type: string description: Associated account name address1: type: string description: Primary address line address2: type: string description: Secondary address line city: type: string description: City province: type: string description: State or province postalCode: type: string description: Postal or ZIP code country: type: string description: Country businessPhone: type: string description: Business phone number mobilePhone: type: string description: Mobile phone number isSubscribed: type: string description: Email subscription status isBounced: type: string description: Whether the contact email has bounced fieldValues: type: array description: Custom field values items: $ref: '#/components/schemas/FieldValue' createdAt: type: string description: Creation timestamp (Unix time) readOnly: true updatedAt: type: string description: Last update timestamp (Unix time) readOnly: true createdBy: type: string description: User who created the contact readOnly: true updatedBy: type: string description: User who last updated the contact readOnly: true depth: type: string description: Level of detail returned readOnly: true folderId: type: string description: Containing folder identifier readOnly: true type: type: string description: Asset type in Eloqua readOnly: true QueryResultContact: type: object properties: elements: type: array items: $ref: '#/components/schemas/Contact' page: type: integer pageSize: type: integer total: type: integer ContactList: type: object properties: id: type: string description: Unique identifier for the contact list readOnly: true name: type: string description: Contact list name description: type: string description: Contact list description count: type: integer description: Number of contacts in the list readOnly: true membershipAdditions: type: array description: Contact identifiers to add items: type: string membershipDeletions: type: array description: Contact identifiers to remove items: type: string folderId: type: string description: Containing folder identifier readOnly: true createdAt: type: string description: Creation timestamp (Unix time) readOnly: true updatedAt: type: string description: Last update timestamp (Unix time) readOnly: true depth: type: string description: Level of detail returned readOnly: true type: type: string description: Asset type in Eloqua readOnly: true parameters: orderBy: name: orderBy in: query description: Field to sort results by (e.g., createdAt DESC) schema: type: string lastUpdatedAt: name: lastUpdatedAt in: query description: Unix timestamp to filter entities updated after this time schema: type: integer count: name: count in: query description: Maximum number of entities to return (1-1000) schema: type: integer minimum: 1 maximum: 1000 depth: name: depth in: query description: Level of detail returned for the entity schema: type: string enum: - minimal - partial - complete default: minimal page: name: page in: query description: Page number to return (starts at 1) schema: type: integer minimum: 1 default: 1 search: name: search in: query description: Search criteria for filtering results schema: type: string id: name: id in: path required: true description: The unique identifier of the resource schema: type: string securitySchemes: basicAuth: type: http scheme: basic description: HTTP Basic authentication using company\username and password in the format CompanyName\Username. oAuth2: type: oauth2 description: OAuth 2.0 authorization code flow flows: authorizationCode: authorizationUrl: https://login.eloqua.com/auth/oauth2/authorize tokenUrl: https://login.eloqua.com/auth/oauth2/token scopes: full: Full access to all Eloqua resources externalDocs: description: Oracle Eloqua Bulk API Documentation url: https://docs.oracle.com/en/cloud/saas/marketing/eloqua-rest-api/BulkAPI.html