Create an export definition for a custom object
/api/bulk/2.0/customObjects/{parentId}/exports
Request
- application/json
- text/csv
-
parentId(required): integer
The custom object's resource identification number.
objectCustomObjectExportIndividual-
areSystemTimestampsInUTC:
boolean
Title:
areSystemTimestampsInUTCWhether or not system timestamps will be exported in UTC. See Filtering tutorial for an example of filtering whenareSystemTimestampsInUTCis set totrue. -
autoDeleteDuration:
string
Title:
autoDeleteDurationTime until the definition will be deleted, expressed using the ISO-8601 standard. -
createdAt:
string(date-time)
Title:
createdAtThe date and time the entity was created, expressed using the ISO-8601 standard. This is a read-only property. -
createdBy:
string
Title:
createdByThe login id of the user who created the entity. This is a read-only property. -
crmAccountIdField:
string
Title:
crmAccountIdFieldThe ML statement for an existing contact field which addresses the CRM account ID. -
dataRetentionDuration:
string
Title:
dataRetentionDurationThe length of time exported data should remain in the staging area. Bulk API 2.0 uses the ISO-8601 standard for specifying all durations. Valid values are anything from PT1H (1 hour) to P14D (2 weeks). This setting will default to PT12H (12 hours) if not explicitly set during export definition creation. -
externalSystemId:
integer
Title:
externalSystemIdThe external system ID is used when exporting data containing CRM fields. -
fields:
object fields
Title:
fieldsList of fields to be included in the operation. -
filter:
string
Title:
filterThe filter parameter uses Eloqua Markup Language to only return certain results. Learn more about filters. -
kbUsed:
integer(int64)
Title:
kbUsedThe amount of space used in kilobytes. This is a read-only property. -
maxRecords:
integer
Title:
maxRecordsThe maximum amount of records. -
name:
string
Title:
nameThe name of the export definition. -
productIdField:
string
Title:
productIdFieldThe ML statement for an existing campaign field which addresses the product ID. -
syncActions:
array syncActions
Title:
syncActionsSpecifies operations to perform during the sync with a maximum of 10 actions. See Sync actions parameters for a list of sync actions. For more information about this parameter, see the Oracle Eloqua Developer Help Center. -
updatedAt:
string(date-time)
Title:
updatedAtThe date and time the entity was last updated, expressed using the ISO-8601 standard. This is a read-only property. -
updatedBy:
string
Title:
updatedByThe login id of the user that last updated the entity. This is a read-only property. -
uri:
string
Title:
uriSystem-generated unique resource identifier that defines the definition for future referencing. This is a read-only property.
objectfieldsarraysyncActions-
Array of:
object SyncAction
Title:
SyncActionThe definition of the action to take at time of syncronization.
objectSyncAction-
action:
string
Title:
SyncActionTypeDefault Value:addAllowed Values:[ "add", "remove", "setStatus" ]The action to take at time of synchronization. -
destination:
string
Title:
destinationThe ML statement used to reference an object used by the action. -
status:
string
Title:
MemberStatusDefault Value:bouncedAllowed Values:[ "bounced", "subscribed", "unsubscribed", "active", "complete", "pending", "errored", "yes", "no", "invalid", "permission" ]The status of members. -
updateAll:
boolean
Title:
updateAllUpdate status of all records in an execution.
Response
- application/json
201 Response
objectCustomObjectExportIndividualResponse-
areSystemTimestampsInUTC:
boolean
Title:
areSystemTimestampsInUTCWhether or not system timestamps will be exported in UTC. See Filtering tutorial for an example of filtering whenareSystemTimestampsInUTCis set totrue. -
autoDeleteDuration:
string
Title:
autoDeleteDurationTime until the definition will be deleted, expressed using the ISO-8601 standard. -
createdAt:
string(date-time)
Title:
createdAtThe date and time the entity was created, expressed using the ISO-8601 standard. This is a read-only property. -
createdBy:
string
Title:
createdByThe login id of the user who created the entity. This is a read-only property. -
crmAccountIdField:
string
Title:
crmAccountIdFieldThe ML statement for an existing contact field which addresses the CRM account ID. -
dataRetentionDuration:
string
Title:
dataRetentionDurationThe length of time exported data should remain in the staging area. Bulk API 2.0 uses the ISO-8601 standard for specifying all durations. Valid values are anything from PT1H (1 hour) to P14D (2 weeks). This setting will default to PT12H (12 hours) if not explicitly set during export definition creation. -
externalSystemId:
integer
Title:
externalSystemIdThe external system ID is used when exporting data containing CRM fields. -
fields:
object fields
Title:
fieldsList of fields to be included in the operation. -
filter:
string
Title:
filterThe filter parameter uses Eloqua Markup Language to only return certain results. Learn more about filters. -
kbUsed:
integer(int64)
Title:
kbUsedThe amount of space used in kilobytes. This is a read-only property. -
maxRecords:
integer
Title:
maxRecordsThe maximum amount of records. -
name:
string
Title:
nameThe name of the export definition. -
productIdField:
string
Title:
productIdFieldThe ML statement for an existing campaign field which addresses the product ID. -
syncActions:
array syncActions
Title:
syncActionsSpecifies operations to perform during the sync with a maximum of 10 actions. See Sync actions parameters for a list of sync actions. For more information about this parameter, see the Oracle Eloqua Developer Help Center. -
updatedAt:
string(date-time)
Title:
updatedAtThe date and time the entity was last updated, expressed using the ISO-8601 standard. This is a read-only property. -
updatedBy:
string
Title:
updatedByThe login id of the user that last updated the entity. This is a read-only property. -
uri:
string
Title:
uriSystem-generated unique resource identifier that defines the definition for future referencing. This is a read-only property.
objectfieldsarraysyncActions-
Array of:
object SyncAction
Title:
SyncActionThe definition of the action to take at time of syncronization.
objectSyncAction-
action:
string
Title:
SyncActionTypeDefault Value:addAllowed Values:[ "add", "remove", "setStatus" ]The action to take at time of synchronization. -
destination:
string
Title:
destinationThe ML statement used to reference an object used by the action. -
status:
string
Title:
MemberStatusDefault Value:bouncedAllowed Values:[ "bounced", "subscribed", "unsubscribed", "active", "complete", "pending", "errored", "yes", "no", "invalid", "permission" ]The status of members. -
updateAll:
boolean
Title:
updateAllUpdate status of all records in an execution.
400 Response
401 Response
403 Response
404 Response
409 Response
410 Response
412 Response
413 Response
500 Response
503 Response
Examples
The following examples demonstrate how to create a new custom object export definition using an HTTP request and cURL. For more information on requests, see API requests. See the tutorial for details on how to export data.
HTTP Request Example
Create a new "Hot Air Balloon" custom object (id #9) export:
POST /customObjects/9/exports
Content-Type: application/json
Request body:
{
"name": "Hot Air Balloon Export",
"fields": {
"inflated": "{{CustomObject[9].Field[99]}}",
"ID": "{{CustomObject[9].ExternalId}}"
}
}
Note:
Custom objects are unique to each Eloqua installation. Examples here will not map directly to your custom objects and their fields. You can obtain a list of all custom objects using theGET /api/bulk/2.0/customObjects endpoint. Once you have a custom object's id #, you can retrieve its field list by using the GET /api/bulk/2.0/customObjects/{id}/fields endpoint: this will allow you to create accurate import/export definitions.
Response:
{
"name":"Hot Air Balloon Export",
"fields":{
"inflated":"{{CustomObject[9].Field[99]}}",
"ID":"{{CustomObject[9].ExternalId}}"
},
"dataRetentionDuration":"PT12H",
"uri":"/customObjects/9/exports/32091",
"createdBy":"API.User",
"createdAt":"2015-09-14T19:45:46.2078245Z",
"updatedBy":"API.User",
"updatedAt":"2015-09-14T19:45:46.2078245Z"
}
cURL Example
Here is the same example in cURL given an instance with the name APITest, username API.User, and POD of 3.
curl --user "APITest\API.User" --header "Content-Type: application/json" --request POST --data '{"name":"Hot Air Balloon Export","fields":{"inflated":"{{CustomObject[9].Field[99]}}","ID":"{{CustomObject[9].ExternalId}}"}}' https://secure.p03.eloqua.com/api/bulk/2.0/customObjects/9/exports
HTTP Request Example
Create a new custom object export that includes mapped contact and account fields:
POST /customObjects/9/exports
Content-Type: application/json
Request body:
Note:
Custom object exports can include any Contact or Account field, which will be returned if the exported Custom Object record is mapped to a Contact or Account. Contact or Account fields must be added with the Custom Object root.
{
"name": "Hot Air Balloon Export with Contact and Account Fields",
"fields": {
"inflated": "{{CustomObject[9].Field[99]}}",
"ExternalId": "{{CustomObject[9].ExternalId}}",
"ContactId": "{{CustomObject[9].Contact.Id}}",
"ContactFirstName": "{{CustomObject[9].Contact.Field(C_FirstName)}}",
"AccountId": "{{CustomObject[9].Account.Id}}",
"AccountCompanyName": "{{CustomObject[9].Account.Field(M_CompanyName)}}"
}
}
Response:
{
"name": "Custom Object Export with Mapped fields",
"fields": {
"inflated": "{{CustomObject[9].Field[99]}}",
"ExternalId": "{{CustomObject[9].ExternalId}}",
"ContactId": "{{CustomObject[9].Contact.Id}}",
"ContactFirstName": "{{CustomObject[9].Contact.Field(C_FirstName)}}",
"AccountId": "{{CustomObject[9].Account.Id}}",
"AccountCompanyName": "{{CustomObject[9].Account.Field(M_CompanyName)}}"
},
"dataRetentionDuration": "PT12H",
"uri": "/customObjects/9/exports/83",
"createdBy": "API.User",
"createdAt": "2018-12-05T17:56:09.9810802Z",
"updatedBy": "API.User",
"updatedAt": "2018-12-05T17:56:09.9810802Z"
}
cURL Example
Here is the same example in cURL given an instance with the name APITest, username API.User, and POD of 3.
curl --user "APITest\API.User" --header "Content-Type: application/json" --request POST --data '{"name":"Hot Air Balloon Export with Contact and Account Fields","fields":{"inflated":"{{CustomObject[9].Field[99]}}","ExternalId":"{{CustomObject[9].ExternalId}}","ContactId":"{{CustomObject[9].Contact.Id}}","ContactFirstName":"{{CustomObject[9].Contact.Field(C_FirstName)}}","AccountId":"{{CustomObject[9].Account.Id}}","AccountCompanyName":"{{CustomObject[9].Account.Field(M_CompanyName)}}"}}' https://secure.p03.eloqua.com/api/bulk/2.0/customObjects/9/exports