openapi: 3.2.0
info:
title: REST API for Oracle Eloqua Marketing Cloud Service Application/2.0/Custom objects API
description: The Oracle Eloqua Marketing Cloud Service REST APIs enable you to extend the functionality of the product, build Apps, and perform high volume data transfers.
version: 2026.08.07
x-summary: The Oracle Eloqua Marketing Cloud Service REST APIs enable you to extend the functionality of the product, build Apps, and perform high volume data transfers.
tags:
- name: Application/2.0/Custom objects
description: 'Custom objects are a complement to the standard Data Entities (i.e. Contacts, Companies). Essentially, custom objects are used for two main functions: linking directly to a Contact and performing actions based on information collected without duplication.
Learn more about custom objects.'
paths:
/api/rest/2.0/assets/customObject:
post:
operationId: CreateIndividualPOSTRest20
summary: Create a custom object
description: Creates a custom object that matches the criteria specified by the request body.
responses:
'201':
description: Success.
content:
application/json:
schema:
$ref: '#/components/schemas/CustomObjectRest20'
'400':
description: Bad request. See Status Codes for information about other possible HTTP status codes.
'401':
description: Unauthorized. See Status Codes for information about other possible HTTP status codes.
'403':
description: Forbidden. See Status Codes for information about other possible HTTP status codes.
'404':
description: The requested resource was not found. See Status Codes for information about other possible HTTP status codes.
'500':
description: The service has encountered an error. See Status Codes for information about other possible HTTP status codes.
tags:
- Application/2.0/Custom objects
x-internal-id: api-rest-2.0-assets-customObject-post
x-filename-id: api-rest-2.0-assets-customobject-post
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomObjectRest20'
description: The request body defines the details of the custom object to be created.
required: true
/api/rest/2.0/assets/customObject/{id}:
get:
operationId: ReadIndividualGETRest20
parameters:
- name: id
in: path
description: Id of the custom object
required: true
schema:
type: integer
- name: depth
in: query
description: 'Level of detail returned by the request. Eloqua APIs can retrieve entities at three different levels of depth: minimal, partial, and complete. Any other values passed are reset to complete by default. For more information, see Request depth.'
required: false
schema:
type: string
summary: Retrieve a custom object
description: Retrieves the custom object specified by the id parameter.
responses:
'200':
description: OK.
content:
application/json:
schema:
$ref: '#/components/schemas/CustomObjectRest20'
'400':
description: Bad request. See Status Codes for information about other possible HTTP status codes.
'401':
description: Unauthorized. See Status Codes for information about other possible HTTP status codes.
'403':
description: Forbidden. See Status Codes for information about other possible HTTP status codes.
'404':
description: The requested resource was not found. See Status Codes for information about other possible HTTP status codes.
'500':
description: The service has encountered an error. See Status Codes for information about other possible HTTP status codes.
tags:
- Application/2.0/Custom objects
x-internal-id: api-rest-2.0-assets-customObject-{id}-get
x-filename-id: api-rest-2.0-assets-customobject-id-get
put:
operationId: UpdateIndividualPUTRest20
parameters:
- name: id
in: path
description: Id of the custom object.
required: true
schema:
type: integer
summary: Update a custom object
description: Updates the custom object specified by the id parameter. All properties should be included in PUT requests, as some properties will be considered blank if not included.
responses:
'200':
description: OK.
content:
application/json:
schema:
$ref: '#/components/schemas/CustomObjectRest20'
'400':
description: Bad request. See Status Codes for information about other possible HTTP status codes.
'401':
description: Unauthorized. See Status Codes for information about other possible HTTP status codes.
'403':
description: Forbidden. See Status Codes for information about other possible HTTP status codes.
'404':
description: The requested resource was not found. See Status Codes for information about other possible HTTP status codes.
'500':
description: The service has encountered an error. See Status Codes for information about other possible HTTP status codes.
tags:
- Application/2.0/Custom objects
x-internal-id: api-rest-2.0-assets-customObject-{id}-put
x-filename-id: api-rest-2.0-assets-customobject-id-put
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomObjectRest20'
description: The request body defines the details of the custom object to be updated.
required: true
delete:
operationId: DeleteIndividualDELETERest20
parameters:
- name: id
in: path
description: Id of the custom object
required: true
schema:
type: integer
summary: Delete a custom object
description: Deletes the custom object specified by the id parameter.
responses:
'200':
description: OK.
'400':
description: Bad request. See Status Codes for information about other possible HTTP status codes.
'401':
description: Unauthorized. See Status Codes for information about other possible HTTP status codes.
'403':
description: Forbidden. See Status Codes for information about other possible HTTP status codes.
'404':
description: The requested resource was not found. See Status Codes for information about other possible HTTP status codes.
'500':
description: The service has encountered an error. See Status Codes for information about other possible HTTP status codes.
tags:
- Application/2.0/Custom objects
x-internal-id: api-rest-2.0-assets-customObject-{id}-delete
x-filename-id: api-rest-2.0-assets-customobject-id-delete
/api/rest/2.0/assets/customObjects:
get:
operationId: SearchGETRest20
parameters:
- name: depth
in: query
description: 'Level of detail returned by the request. Eloqua APIs can retrieve entities at three different levels of depth: minimal, partial, and complete. Any other values passed are reset to minimal by default.'
required: false
schema:
type: string
- name: count
in: query
description: Maximum number of entities to return. Must be less than or equal to 1000 and greater than or equal to 1.
required: false
schema:
type: integer
- name: page
in: query
description: Specifies which page of entities to return (the count parameter defines the number of entities per page). If the page parameter is not supplied, 1 will be used by default.
required: false
schema:
type: integer
- name: search
in: query
description: Specifies the search criteria used to retrieve entities. See the tutorial for information about using this parameter.
required: false
schema:
type: string
- name: orderBy
in: query
description: Specifies the field by which list results are ordered.
required: false
schema:
type: string
- name: lastUpdatedAt
in: query
description: Unix timestamp for the date and time the custom object was last updated.
required: false
schema:
type: integer
summary: Retrieve a list of custom objects
description: Retrieves all custom objects that match the criteria specified by the request parameters.
responses:
'200':
description: OK.
content:
application/json:
schema:
$ref: '#/components/schemas/QueryResultCustomObjectRest20'
'400':
description: Bad request. See Status Codes for information about other possible HTTP status codes.
'401':
description: Unauthorized. See Status Codes for information about other possible HTTP status codes.
'403':
description: Forbidden. See Status Codes for information about other possible HTTP status codes.
'404':
description: The requested resource was not found. See Status Codes for information about other possible HTTP status codes.
'500':
description: The service has encountered an error. See Status Codes for information about other possible HTTP status codes.
tags:
- Application/2.0/Custom objects
x-internal-id: api-rest-2.0-assets-customObjects-get
x-filename-id: api-rest-2.0-assets-customobjects-get
components:
schemas:
CustomObjectFieldRest20:
title: CustomObjectField
properties:
type:
type: string
description: 'The asset''s type in Eloqua. This is a read-only property. '
id:
type: string
readOnly: true
description: Id of the custom object field. This is a read-only property. Use negative ids in order to reference custom object fields for other properties (e.g. emailAddressFieldId or uniqueCodeFieldId). See example.
currentStatus:
type: string
description: This property is not used for custom object fields.
description:
type: string
description: This property is not used for custom object fields.
permissions:
type: array
description: This property is not used.
items:
type: string
folderId:
type: string
readOnly: true
description: This property is not used for custom object fields.
sourceTemplateId:
type: string
description: This property is not used for custom object fields.
createdBy:
type: string
readOnly: true
description: This property is not used for custom object fields.
createdByName:
type: string
description: This property is not used for custom object fields.
createdAt:
type: string
readOnly: true
description: This property is not used for custom object fields.
updatedBy:
type: string
readOnly: true
description: This property is not used for custom object fields.
updatedByName:
type: string
description: This property is not used for custom object fields.
updatedAt:
type: string
readOnly: true
description: This property is not used for custom object fields.
scheduledFor:
type: string
readOnly: true
description: This property is not used for custom object fields.
depth:
type: string
readOnly: true
description: 'Level of detail returned by the request. Eloqua APIs can retrieve entities at three different levels of depth: minimal, partial, and complete. Any other values passed are reset to complete by default. For more information, see Request depth.'
name:
type: string
description: The name of the custom object field.
displayType:
type: string
description: The custom object field's display type.
dataType:
type: string
description: The custom object field's data type.
defaultValue:
type: string
description: The custom object field's default value.
internalName:
type: string
description: The custom object field's internal name. This is a read-only property.
optionListId:
type: string
description: The option list id for a single select custom object field.
checkedValue:
type: string
description: The checked value of a checkbox custom object field.
uncheckedValue:
type: string
description: The unchecked value of a checkbox custom object field.
QueryResultCustomObjectRest20:
title: QueryResultCustomObject
properties:
type:
type: string
description: The asset's type in Eloqua.
elements:
type: array
description: Array of custom object fields.
items:
$ref: '#/components/schemas/CustomObjectRest20'
total:
type: integer
description: The total amount of results.
pageSize:
type: integer
description: The page size.
page:
type: integer
description: The specified page.
CustomObjectRest20:
title: CustomObject
properties:
type:
type: string
description: 'The asset''s type in Eloqua. This is a read-only property. '
id:
type: string
readOnly: true
description: Id of the custom object.
currentStatus:
type: string
description: This property is not used for custom objects.
name:
type: string
description: The name of the custom object.
description:
type: string
description: The description of the custom object.
permissions:
type: array
description: The permissions for the custom object granted to your current instance. This is a read-only property.
items:
type: string
folderId:
type: string
readOnly: true
description: This property is not used for custom objects.
sourceTemplateId:
type: string
description: This property is not used for custom objects.
createdBy:
type: string
readOnly: true
description: The login id of the user who created the custom object.
createdByName:
type: string
description: The name of the user who created the custom object.
createdAt:
type: string
readOnly: true
description: The date and time the custom object was created, expressed in Unix time.
updatedBy:
type: string
readOnly: true
description: The login id of the user that last updated the custom object.
updatedByName:
type: string
description: The name of the user who last updated the custom object.
updatedAt:
type: string
readOnly: true
description: Unix timestamp for the date and time the custom object was last updated.
scheduledFor:
type: string
readOnly: true
description: This property is not used for custom objects.
depth:
type: string
readOnly: true
description: 'Level of detail returned by the request. Eloqua APIs can retrieve entities at three different levels of depth: minimal, partial, and complete. Any other values passed are reset to complete by default. For more information, see Request depth.'
fields:
type: array
description: Array consisting of custom object field properties.
items:
$ref: '#/components/schemas/CustomObjectFieldRest20'
emailAddressFieldId:
type: string
description: For your custom object record to have an email address field, you must create a custom object field which will act as an email address. You can then use the desired custom object field's id as the value for this parameter.
displayNameFieldId:
type: string
description: For your custom object record to have a meaningful name field, you must create a custom object field which will act as a name. You can then use the desired custom object field's id as the value for this parameter.
uniqueCodeFieldId:
type: string
description: For your custom object record to have a unique identifier, you must create a custom object field which will act as a GUID. You can then use the desired custom object field's id as the value for this parameter.
deleteLinkedCustomObjectData:
type: string
description: Whether or not custom object records are deleted when linked contact records are deleted. Does not apply to records that are unmapped or account deletion. Deleting records is irreversible and data cannot be recovered. The default value is false. This feature is released under our Controlled Availability program. You can request access to this feature by submitting a request to My Oracle Support.