Create an export definition for a custom object
/api/bulk/2.0/customObjects/{parentId}/exports
Request
- application/json
- text/csv
object
CustomObjectExportIndividual
-
areSystemTimestampsInUTC:
boolean
Title:
areSystemTimestampsInUTC
-
autoDeleteDuration:
string
Title:
autoDeleteDuration
-
createdAt:
string(date-time)
Title:
createdAt
-
createdBy:
string
Title:
createdBy
-
crmAccountIdField:
string
Title:
crmAccountIdField
-
dataRetentionDuration:
string
Title:
dataRetentionDuration
-
externalSystemId:
integer
Title:
externalSystemId
-
fields:
object fields
Title:
fields
-
filter:
string
Title:
filter
-
kbUsed:
integer(int64)
Title:
kbUsed
-
maxRecords:
integer
Title:
maxRecords
-
name:
string
Title:
name
-
productIdField:
string
Title:
productIdField
-
syncActions:
array syncActions
Title:
syncActions
-
updatedAt:
string(date-time)
Title:
updatedAt
-
updatedBy:
string
Title:
updatedBy
-
uri:
string
Title:
uri
object
fields
array
syncActions
-
Array of:
object SyncAction
Title:
SyncAction
object
SyncAction
-
action:
string
Title:
SyncActionType
Default Value:add
Allowed Values:[ "add", "remove", "setStatus" ]
-
destination:
string
Title:
destination
-
status:
string
Title:
MemberStatus
Default Value:bounced
Allowed Values:[ "bounced", "subscribed", "unsubscribed", "active", "complete", "pending", "errored", "yes", "no", "invalid", "permission" ]
-
updateAll:
boolean
Title:
updateAll
Response
- application/json
201 Response
object
CustomObjectExportIndividualResponse
-
areSystemTimestampsInUTC:
boolean
Title:
areSystemTimestampsInUTC
-
autoDeleteDuration:
string
Title:
autoDeleteDuration
-
createdAt:
string(date-time)
Title:
createdAt
-
createdBy:
string
Title:
createdBy
-
crmAccountIdField:
string
Title:
crmAccountIdField
-
dataRetentionDuration:
string
Title:
dataRetentionDuration
-
externalSystemId:
integer
Title:
externalSystemId
-
fields:
object fields
Title:
fields
-
filter:
string
Title:
filter
-
kbUsed:
integer(int64)
Title:
kbUsed
-
maxRecords:
integer
Title:
maxRecords
-
name:
string
Title:
name
-
productIdField:
string
Title:
productIdField
-
syncActions:
array syncActions
Title:
syncActions
-
updatedAt:
string(date-time)
Title:
updatedAt
-
updatedBy:
string
Title:
updatedBy
-
uri:
string
Title:
uri
object
fields
array
syncActions
-
Array of:
object SyncAction
Title:
SyncAction
object
SyncAction
-
action:
string
Title:
SyncActionType
Default Value:add
Allowed Values:[ "add", "remove", "setStatus" ]
-
destination:
string
Title:
destination
-
status:
string
Title:
MemberStatus
Default Value:bounced
Allowed Values:[ "bounced", "subscribed", "unsubscribed", "active", "complete", "pending", "errored", "yes", "no", "invalid", "permission" ]
-
updateAll:
boolean
Title:
updateAll
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