openapi: 3.1.0 info: title: Oracle Eloqua Bulk Account Exports Custom Objects 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: Custom Objects description: Manage custom object definitions and data paths: /assets/customObjects: get: operationId: listCustomObjects summary: Oracle Eloqua List custom objects description: Retrieve all custom object definitions. tags: - Custom Objects parameters: - $ref: '#/components/parameters/count' - $ref: '#/components/parameters/depth' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/search' - $ref: '#/components/parameters/orderBy' responses: '200': description: Successfully retrieved custom objects content: application/json: schema: $ref: '#/components/schemas/QueryResultCustomObject' '400': description: Bad request '401': description: Unauthorized /assets/customObject: post: operationId: createCustomObject summary: Oracle Eloqua Create a custom object description: Create a new custom object definition. tags: - Custom Objects requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CustomObject' responses: '201': description: Custom object created successfully content: application/json: schema: $ref: '#/components/schemas/CustomObject' '400': description: Bad request '401': description: Unauthorized /assets/customObject/{id}: get: operationId: getCustomObject summary: Oracle Eloqua Retrieve a custom object description: Retrieve a custom object definition by its identifier. tags: - Custom Objects parameters: - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/depth' responses: '200': description: Successfully retrieved custom object content: application/json: schema: $ref: '#/components/schemas/CustomObject' '401': description: Unauthorized '404': description: Custom object not found put: operationId: updateCustomObject summary: Oracle Eloqua Update a custom object description: Update an existing custom object definition. tags: - Custom Objects parameters: - $ref: '#/components/parameters/id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CustomObject' responses: '200': description: Successfully updated custom object content: application/json: schema: $ref: '#/components/schemas/CustomObject' '400': description: Bad request '401': description: Unauthorized '404': description: Custom object not found delete: operationId: deleteCustomObject summary: Oracle Eloqua Delete a custom object description: Delete a custom object definition by its identifier. tags: - Custom Objects parameters: - $ref: '#/components/parameters/id' responses: '204': description: Custom object deleted successfully '401': description: Unauthorized '404': description: Custom object not found /data/customObject/{parentId}/instances: get: operationId: listCustomObjectData summary: Oracle Eloqua List custom object data instances description: Retrieve data instances for a specific custom object. tags: - Custom Objects parameters: - name: parentId in: path required: true description: The custom object definition identifier schema: type: string - $ref: '#/components/parameters/count' - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/search' responses: '200': description: Successfully retrieved custom object data content: application/json: schema: type: object properties: elements: type: array items: $ref: '#/components/schemas/CustomObjectData' page: type: integer pageSize: type: integer total: type: integer '401': description: Unauthorized '404': description: Custom object not found /data/customObject/{parentId}/instance: post: operationId: createCustomObjectData summary: Oracle Eloqua Create a custom object data instance description: Create a new data instance for a specific custom object. tags: - Custom Objects parameters: - name: parentId in: path required: true description: The custom object definition identifier schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CustomObjectData' responses: '201': description: Custom object data created content: application/json: schema: $ref: '#/components/schemas/CustomObjectData' '400': description: Bad request '401': description: Unauthorized /data/customObject/{parentId}/instance/{id}: get: operationId: getCustomObjectData summary: Oracle Eloqua Retrieve a custom object data instance description: Retrieve a specific data instance from a custom object. tags: - Custom Objects parameters: - name: parentId in: path required: true description: The custom object definition identifier schema: type: string - $ref: '#/components/parameters/id' responses: '200': description: Successfully retrieved custom object data content: application/json: schema: $ref: '#/components/schemas/CustomObjectData' '401': description: Unauthorized '404': description: Instance not found put: operationId: updateCustomObjectData summary: Oracle Eloqua Update a custom object data instance description: Update an existing data instance for a custom object. tags: - Custom Objects parameters: - name: parentId in: path required: true description: The custom object definition identifier schema: type: string - $ref: '#/components/parameters/id' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CustomObjectData' responses: '200': description: Successfully updated custom object data content: application/json: schema: $ref: '#/components/schemas/CustomObjectData' '400': description: Bad request '401': description: Unauthorized '404': description: Instance not found delete: operationId: deleteCustomObjectData summary: Oracle Eloqua Delete a custom object data instance description: Delete a specific data instance from a custom object. tags: - Custom Objects parameters: - name: parentId in: path required: true description: The custom object definition identifier schema: type: string - $ref: '#/components/parameters/id' responses: '204': description: Custom object data deleted '401': description: Unauthorized '404': description: Instance 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) QueryResultCustomObject: type: object properties: elements: type: array items: $ref: '#/components/schemas/CustomObject' page: type: integer pageSize: type: integer total: type: integer CustomObjectData: type: object properties: id: type: string description: Data instance identifier readOnly: true type: type: string description: Data type uniqueCode: type: string description: Unique code for the data instance contactId: type: string description: Associated contact identifier accountId: type: string description: Associated account identifier fieldValues: type: array description: Field values for the data instance 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 CustomObject: type: object properties: id: type: string description: Unique identifier for the custom object readOnly: true name: type: string description: Custom object name description: type: string description: Custom object description displayNameFieldId: type: string description: Field used as the display name uniqueCodeFieldId: type: string description: Field used as the unique code fields: type: array description: Custom object field definitions items: type: object properties: id: type: string name: type: string dataType: type: string displayType: type: string defaultValue: type: string 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 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