bulk

Embed
Preview of the card
<a href="https://hermeticor.com/docs/ref-bulk"><img src="https://hermeticor.com/docs/_api/public/orgs/5fcd8b3c-a27c-4688-972f-de710125592f/spaces/caf5dc05-15f7-4e0c-bdb8-ab29ede6211e/pages/e0b7a378-f5a0-43b9-944e-5efff065021b/social-card.svg?v=3e7ae33eec8b" alt="bulk" width="600" height="315"></a>
POSThttps://hermeticor.com/v1/profiles/bulk

Tag, untag, add/remove list, subscribe, unsubscribe, suppress, unsuppress or delete many profiles as a background job

Request body

application/json
Example
{
  "op": "tag",
  "selector": {
    "profileIds": [
      "string"
    ],
    "listId": "string",
    "segmentId": "string",
    "all": true,
    "filter": {
      "q": "string",
      "tag": "string",
      "tagsAny": "string",
      "tagsAll": "string",
      "listId": "string",
      "email": "string",
      "phone": "string",
      "createdSince": "2024-01-01T00:00:00Z",
      "createdBefore": "2024-01-01T00:00:00Z",
      "updatedSince": "2024-01-01T00:00:00Z",
      "updatedBefore": "2024-01-01T00:00:00Z",
      "attrKey": "string",
      "attrValue": "string",
      "vip": "true",
      "consentStatus": "granted",
      "consentChannel": "email",
      "consentSince": "2024-01-01T00:00:00Z",
      "topicId": "string",
      "country": "string",
      "region": "string",
      "city": "string",
      "segmentId": "string",
      "eventName": "string",
      "eventSince": "2024-01-01T00:00:00Z",
      "eventBefore": "2024-01-01T00:00:00Z",
      "source": "string",
      "archived": "only",
      "attrOp": "eq"
    }
  },
  "tags": [
    "string"
  ]
}
Option 1
opstringrequired
tag
selectorobjectrequired
Show child parameters
profileIdsstring[]
listIdstring
segmentIdstring
allboolean
true
filterobject
Show child parameters
qstring
tagstring
tagsAnystring
tagsAllstring
listIdstring
emailstring
phonestring
createdSincestring
createdBeforestring
updatedSincestring
updatedBeforestring
attrKeystring
attrValuestring
vipstring
true | false
consentStatusstring
granted | revoked | pending_confirmation | none
consentChannelstring
email | sms | whatsapp | push | postcard
consentSincestring
topicIdstring
countrystring
regionstring
citystring
segmentIdstring
eventNamestring
eventSincestring
eventBeforestring
sourcestring
archivedstring
only | include
attrOpstring
eq | contains | gt | lt = eq
tagsstring[]required
{
  "op": "tag",
  "selector": {
    "profileIds": [
      "string"
    ],
    "listId": "string",
    "segmentId": "string",
    "all": true,
    "filter": {
      "q": "string",
      "tag": "string",
      "tagsAny": "string",
      "tagsAll": "string",
      "listId": "string",
      "email": "string",
      "phone": "string",
      "createdSince": "2024-01-01T00:00:00Z",
      "createdBefore": "2024-01-01T00:00:00Z",
      "updatedSince": "2024-01-01T00:00:00Z",
      "updatedBefore": "2024-01-01T00:00:00Z",
      "attrKey": "string",
      "attrValue": "string",
      "vip": "true",
      "consentStatus": "granted",
      "consentChannel": "email",
      "consentSince": "2024-01-01T00:00:00Z",
      "topicId": "string",
      "country": "string",
      "region": "string",
      "city": "string",
      "segmentId": "string",
      "eventName": "string",
      "eventSince": "2024-01-01T00:00:00Z",
      "eventBefore": "2024-01-01T00:00:00Z",
      "source": "string",
      "archived": "only",
      "attrOp": "eq"
    }
  },
  "tags": [
    "string"
  ]
}
Option 2
opstringrequired
untag
selectorobjectrequired
Show child parameters
profileIdsstring[]
listIdstring
segmentIdstring
allboolean
true
filterobject
Show child parameters
qstring
tagstring
tagsAnystring
tagsAllstring
listIdstring
emailstring
phonestring
createdSincestring
createdBeforestring
updatedSincestring
updatedBeforestring
attrKeystring
attrValuestring
vipstring
true | false
consentStatusstring
granted | revoked | pending_confirmation | none
consentChannelstring
email | sms | whatsapp | push | postcard
consentSincestring
topicIdstring
countrystring
regionstring
citystring
segmentIdstring
eventNamestring
eventSincestring
eventBeforestring
sourcestring
archivedstring
only | include
attrOpstring
eq | contains | gt | lt = eq
tagsstring[]required
{
  "op": "untag",
  "selector": {
    "profileIds": [
      "string"
    ],
    "listId": "string",
    "segmentId": "string",
    "all": true,
    "filter": {
      "q": "string",
      "tag": "string",
      "tagsAny": "string",
      "tagsAll": "string",
      "listId": "string",
      "email": "string",
      "phone": "string",
      "createdSince": "2024-01-01T00:00:00Z",
      "createdBefore": "2024-01-01T00:00:00Z",
      "updatedSince": "2024-01-01T00:00:00Z",
      "updatedBefore": "2024-01-01T00:00:00Z",
      "attrKey": "string",
      "attrValue": "string",
      "vip": "true",
      "consentStatus": "granted",
      "consentChannel": "email",
      "consentSince": "2024-01-01T00:00:00Z",
      "topicId": "string",
      "country": "string",
      "region": "string",
      "city": "string",
      "segmentId": "string",
      "eventName": "string",
      "eventSince": "2024-01-01T00:00:00Z",
      "eventBefore": "2024-01-01T00:00:00Z",
      "source": "string",
      "archived": "only",
      "attrOp": "eq"
    }
  },
  "tags": [
    "string"
  ]
}
Option 3
opstringrequired
add_list
selectorobjectrequired
Show child parameters
profileIdsstring[]
listIdstring
segmentIdstring
allboolean
true
filterobject
Show child parameters
qstring
tagstring
tagsAnystring
tagsAllstring
listIdstring
emailstring
phonestring
createdSincestring
createdBeforestring
updatedSincestring
updatedBeforestring
attrKeystring
attrValuestring
vipstring
true | false
consentStatusstring
granted | revoked | pending_confirmation | none
consentChannelstring
email | sms | whatsapp | push | postcard
consentSincestring
topicIdstring
countrystring
regionstring
citystring
segmentIdstring
eventNamestring
eventSincestring
eventBeforestring
sourcestring
archivedstring
only | include
attrOpstring
eq | contains | gt | lt = eq
listIdstringrequired
{
  "op": "add_list",
  "selector": {
    "profileIds": [
      "string"
    ],
    "listId": "string",
    "segmentId": "string",
    "all": true,
    "filter": {
      "q": "string",
      "tag": "string",
      "tagsAny": "string",
      "tagsAll": "string",
      "listId": "string",
      "email": "string",
      "phone": "string",
      "createdSince": "2024-01-01T00:00:00Z",
      "createdBefore": "2024-01-01T00:00:00Z",
      "updatedSince": "2024-01-01T00:00:00Z",
      "updatedBefore": "2024-01-01T00:00:00Z",
      "attrKey": "string",
      "attrValue": "string",
      "vip": "true",
      "consentStatus": "granted",
      "consentChannel": "email",
      "consentSince": "2024-01-01T00:00:00Z",
      "topicId": "string",
      "country": "string",
      "region": "string",
      "city": "string",
      "segmentId": "string",
      "eventName": "string",
      "eventSince": "2024-01-01T00:00:00Z",
      "eventBefore": "2024-01-01T00:00:00Z",
      "source": "string",
      "archived": "only",
      "attrOp": "eq"
    }
  },
  "listId": "string"
}
Option 4
opstringrequired
remove_list
selectorobjectrequired
Show child parameters
profileIdsstring[]
listIdstring
segmentIdstring
allboolean
true
filterobject
Show child parameters
qstring
tagstring
tagsAnystring
tagsAllstring
listIdstring
emailstring
phonestring
createdSincestring
createdBeforestring
updatedSincestring
updatedBeforestring
attrKeystring
attrValuestring
vipstring
true | false
consentStatusstring
granted | revoked | pending_confirmation | none
consentChannelstring
email | sms | whatsapp | push | postcard
consentSincestring
topicIdstring
countrystring
regionstring
citystring
segmentIdstring
eventNamestring
eventSincestring
eventBeforestring
sourcestring
archivedstring
only | include
attrOpstring
eq | contains | gt | lt = eq
listIdstringrequired
{
  "op": "remove_list",
  "selector": {
    "profileIds": [
      "string"
    ],
    "listId": "string",
    "segmentId": "string",
    "all": true,
    "filter": {
      "q": "string",
      "tag": "string",
      "tagsAny": "string",
      "tagsAll": "string",
      "listId": "string",
      "email": "string",
      "phone": "string",
      "createdSince": "2024-01-01T00:00:00Z",
      "createdBefore": "2024-01-01T00:00:00Z",
      "updatedSince": "2024-01-01T00:00:00Z",
      "updatedBefore": "2024-01-01T00:00:00Z",
      "attrKey": "string",
      "attrValue": "string",
      "vip": "true",
      "consentStatus": "granted",
      "consentChannel": "email",
      "consentSince": "2024-01-01T00:00:00Z",
      "topicId": "string",
      "country": "string",
      "region": "string",
      "city": "string",
      "segmentId": "string",
      "eventName": "string",
      "eventSince": "2024-01-01T00:00:00Z",
      "eventBefore": "2024-01-01T00:00:00Z",
      "source": "string",
      "archived": "only",
      "attrOp": "eq"
    }
  },
  "listId": "string"
}
Option 5
opstringrequired
suppress
selectorobjectrequired
Show child parameters
profileIdsstring[]
listIdstring
segmentIdstring
allboolean
true
filterobject
Show child parameters
qstring
tagstring
tagsAnystring
tagsAllstring
listIdstring
emailstring
phonestring
createdSincestring
createdBeforestring
updatedSincestring
updatedBeforestring
attrKeystring
attrValuestring
vipstring
true | false
consentStatusstring
granted | revoked | pending_confirmation | none
consentChannelstring
email | sms | whatsapp | push | postcard
consentSincestring
topicIdstring
countrystring
regionstring
citystring
segmentIdstring
eventNamestring
eventSincestring
eventBeforestring
sourcestring
archivedstring
only | include
attrOpstring
eq | contains | gt | lt = eq
{
  "op": "suppress",
  "selector": {
    "profileIds": [
      "string"
    ],
    "listId": "string",
    "segmentId": "string",
    "all": true,
    "filter": {
      "q": "string",
      "tag": "string",
      "tagsAny": "string",
      "tagsAll": "string",
      "listId": "string",
      "email": "string",
      "phone": "string",
      "createdSince": "2024-01-01T00:00:00Z",
      "createdBefore": "2024-01-01T00:00:00Z",
      "updatedSince": "2024-01-01T00:00:00Z",
      "updatedBefore": "2024-01-01T00:00:00Z",
      "attrKey": "string",
      "attrValue": "string",
      "vip": "true",
      "consentStatus": "granted",
      "consentChannel": "email",
      "consentSince": "2024-01-01T00:00:00Z",
      "topicId": "string",
      "country": "string",
      "region": "string",
      "city": "string",
      "segmentId": "string",
      "eventName": "string",
      "eventSince": "2024-01-01T00:00:00Z",
      "eventBefore": "2024-01-01T00:00:00Z",
      "source": "string",
      "archived": "only",
      "attrOp": "eq"
    }
  }
}
Option 6
opstringrequired
delete
selectorobjectrequired
Show child parameters
profileIdsstring[]
listIdstring
segmentIdstring
allboolean
true
filterobject
Show child parameters
qstring
tagstring
tagsAnystring
tagsAllstring
listIdstring
emailstring
phonestring
createdSincestring
createdBeforestring
updatedSincestring
updatedBeforestring
attrKeystring
attrValuestring
vipstring
true | false
{
  "op": "delete",
  "selector": {
    "profileIds": [
      "string"
    ],
    "listId": "string",
    "segmentId": "string",
    "all": true,
    "filter": {
      "q": "string",
      "tag": "string",
      "tagsAny": "string",
      "tagsAll": "string",
      "listId": "string",
      "email": "string",
      "phone": "string",
      "createdSince": "2024-01-01T00:00:00Z",
      "createdBefore": "2024-01-01T00:00:00Z",
      "updatedSince": "2024-01-01T00:00:00Z",
      "updatedBefore": "2024-01-01T00:00:00Z",
      "attrKey": "string",
      "attrValue": "string",
      "vip": "true",
      "consentStatus": "granted",
      "consentChannel": "email",
      "consentSince": "2024-01-01T00:00:00Z",
      "topicId": "string",
      "country": "string",
      "region": "string",
      "city": "string",
      "segmentId": "string",
      "eventName": "string",
      "eventSince": "2024-01-01T00:00:00Z",
      "eventBefore": "2024-01-01T00:00:00Z",
      "source": "string",
      "archived": "only",
      "attrOp": "eq"
    }
  }
}
Option 7
{
  "op": "archive",
  "selector": {
    "profileIds": [
      "string"
    ],
    "listId": "string",
    "segmentId": "string",
    "all": true,
    "filter": {
      "q": "string",
      "tag": "string",
      "tagsAny": "string",
      "tagsAll": "string",
      "listId": "string",
      "email": "string",
      "phone": "string",
      "createdSince": "2024-01-01T00:00:00Z",
      "createdBefore": "2024-01-01T00:00:00Z",
      "updatedSince": "2024-01-01T00:00:00Z",
      "updatedBefore": "2024-01-01T00:00:00Z",
      "attrKey": "string",
      "attrValue": "string",
      "vip": "true",
      "consentStatus": "granted",
      "consentChannel": "email",
      "consentSince": "2024-01-01T00:00:00Z",
      "topicId": "string",
      "country": "string",
      "region": "string",
      "city": "string",
      "segmentId": "string",
      "eventName": "string",
      "eventSince": "2024-01-01T00:00:00Z",
      "eventBefore": "2024-01-01T00:00:00Z",
      "source": "string",
      "archived": "only",
      "attrOp": "eq"
    }
  }
}
Option 8
{
  "op": "restore",
  "selector": {
    "profileIds": [
      "string"
    ],
    "listId": "string",
    "segmentId": "string",
    "all": true,
    "filter": {
      "q": "string",
      "tag": "string",
      "tagsAny": "string",
      "tagsAll": "string",
      "listId": "string",
      "email": "string",
      "phone": "string",
      "createdSince": "2024-01-01T00:00:00Z",
      "createdBefore": "2024-01-01T00:00:00Z",
      "updatedSince": "2024-01-01T00:00:00Z",
      "updatedBefore": "2024-01-01T00:00:00Z",
      "attrKey": "string",
      "attrValue": "string",
      "vip": "true",
      "consentStatus": "granted",
      "consentChannel": "email",
      "consentSince": "2024-01-01T00:00:00Z",
      "topicId": "string",
      "country": "string",
      "region": "string",
      "city": "string",
      "segmentId": "string",
      "eventName": "string",
      "eventSince": "2024-01-01T00:00:00Z",
      "eventBefore": "2024-01-01T00:00:00Z",
      "source": "string",
      "archived": "only",
      "attrOp": "eq"
    }
  }
}
Option 9
{
  "op": "set_frequency",
  "selector": {
    "profileIds": [
      "string"
    ],
    "listId": "string",
    "segmentId": "string",
    "all": true,
    "filter": {
      "q": "string",
      "tag": "string",
      "tagsAny": "string",
      "tagsAll": "string",
      "listId": "string",
      "email": "string",
      "phone": "string",
      "createdSince": "2024-01-01T00:00:00Z",
      "createdBefore": "2024-01-01T00:00:00Z",
      "updatedSince": "2024-01-01T00:00:00Z",
      "updatedBefore": "2024-01-01T00:00:00Z",
      "attrKey": "string",
      "attrValue": "string",
      "vip": "true",
      "consentStatus": "granted",
      "consentChannel": "email",
      "consentSince": "2024-01-01T00:00:00Z",
      "topicId": "string",
      "country": "string",
      "region": "string",
      "city": "string",
      "segmentId": "string",
      "eventName": "string",
      "eventSince": "2024-01-01T00:00:00Z",
      "eventBefore": "2024-01-01T00:00:00Z",
      "source": "string",
      "archived": "only",
      "attrOp": "eq"
    }
  },
  "emailFrequency": "all",
  "smsFrequency": "all"
}
Option 10
{
  "op": "set_tracking_opt_out",
  "selector": {
    "profileIds": [
      "string"
    ],
    "listId": "string",
    "segmentId": "string",
    "all": true,
    "filter": {
      "q": "string",
      "tag": "string",
      "tagsAny": "string",
      "tagsAll": "string",
      "listId": "string",
      "email": "string",
      "phone": "string",
      "createdSince": "2024-01-01T00:00:00Z",
      "createdBefore": "2024-01-01T00:00:00Z",
      "updatedSince": "2024-01-01T00:00:00Z",
      "updatedBefore": "2024-01-01T00:00:00Z",
      "attrKey": "string",
      "attrValue": "string",
      "vip": "true",
      "consentStatus": "granted",
      "consentChannel": "email",
      "consentSince": "2024-01-01T00:00:00Z",
      "topicId": "string",
      "country": "string",
      "region": "string",
      "city": "string",
      "segmentId": "string",
      "eventName": "string",
      "eventSince": "2024-01-01T00:00:00Z",
      "eventBefore": "2024-01-01T00:00:00Z",
      "source": "string",
      "archived": "only",
      "attrOp": "eq"
    }
  },
  "optOut": true
}
Option 11
{
  "op": "subscribe",
  "selector": {
    "profileIds": [
      "string"
    ],
    "listId": "string",
    "segmentId": "string",
    "all": true,
    "filter": {
      "q": "string",
      "tag": "string",
      "tagsAny": "string",
      "tagsAll": "string",
      "listId": "string",
      "email": "string",
      "phone": "string",
      "createdSince": "2024-01-01T00:00:00Z",
      "createdBefore": "2024-01-01T00:00:00Z",
      "updatedSince": "2024-01-01T00:00:00Z",
      "updatedBefore": "2024-01-01T00:00:00Z",
      "attrKey": "string",
      "attrValue": "string",
      "vip": "true",
      "consentStatus": "granted",
      "consentChannel": "email",
      "consentSince": "2024-01-01T00:00:00Z",
      "topicId": "string",
      "country": "string",
      "region": "string",
      "city": "string",
      "segmentId": "string",
      "eventName": "string",
      "eventSince": "2024-01-01T00:00:00Z",
      "eventBefore": "2024-01-01T00:00:00Z",
      "source": "string",
      "archived": "only",
      "attrOp": "eq"
    }
  },
  "consentAssertion": {
    "channel": "email",
    "purpose": "marketing",
    "sourceText": "string",
    "attestedBy": "string"
  },
  "topicId": "string"
}
Option 12
{
  "op": "unsubscribe",
  "selector": {
    "profileIds": [
      "string"
    ],
    "listId": "string",
    "segmentId": "string",
    "all": true,
    "filter": {
      "q": "string",
      "tag": "string",
      "tagsAny": "string",
      "tagsAll": "string",
      "listId": "string",
      "email": "string",
      "phone": "string",
      "createdSince": "2024-01-01T00:00:00Z",
      "createdBefore": "2024-01-01T00:00:00Z",
      "updatedSince": "2024-01-01T00:00:00Z",
      "updatedBefore": "2024-01-01T00:00:00Z",
      "attrKey": "string",
      "attrValue": "string",
      "vip": "true",
      "consentStatus": "granted",
      "consentChannel": "email",
      "consentSince": "2024-01-01T00:00:00Z",
      "topicId": "string",
      "country": "string",
      "region": "string",
      "city": "string",
      "segmentId": "string",
      "eventName": "string",
      "eventSince": "2024-01-01T00:00:00Z",
      "eventBefore": "2024-01-01T00:00:00Z",
      "source": "string",
      "archived": "only",
      "attrOp": "eq"
    }
  },
  "channel": "email",
  "purpose": "marketing",
  "topicId": "string"
}
Option 13
{
  "op": "unsuppress",
  "selector": {
    "profileIds": [
      "string"
    ],
    "listId": "string",
    "segmentId": "string",
    "all": true,
    "filter": {
      "q": "string",
      "tag": "string",
      "tagsAny": "string",
      "tagsAll": "string",
      "listId": "string",
      "email": "string",
      "phone": "string",
      "createdSince": "2024-01-01T00:00:00Z",
      "createdBefore": "2024-01-01T00:00:00Z",
      "updatedSince": "2024-01-01T00:00:00Z",
      "updatedBefore": "2024-01-01T00:00:00Z",
      "attrKey": "string",
      "attrValue": "string",
      "vip": "true",
      "consentStatus": "granted",
      "consentChannel": "email",
      "consentSince": "2024-01-01T00:00:00Z",
      "topicId": "string",
      "country": "string",
      "region": "string",
      "city": "string",
      "segmentId": "string",
      "eventName": "string",
      "eventSince": "2024-01-01T00:00:00Z",
      "eventBefore": "2024-01-01T00:00:00Z",
      "source": "string",
      "archived": "only",
      "attrOp": "eq"
    }
  },
  "channel": "email",
  "reason": "string"
}

Code samples

cURL
curl -X POST "https://hermeticor.com/v1/profiles/bulk" \
  -H "Authorization: Bearer $HERMETICOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"op":"tag","selector":{"profileIds":["string"],"listId":"string","segmentId":"string","all":true,"filter":{"q":"string","tag":"string","tagsAny":"string","tagsAll":"string","listId":"string","email":"string","phone":"string","createdSince":"2024-01-01T00:00:00Z","createdBefore":"2024-01-01T00:00:00Z","updatedSince":"2024-01-01T00:00:00Z","updatedBefore":"2024-01-01T00:00:00Z","attrKey":"string","attrValue":"string","vip":"true","consentStatus":"granted","consentChannel":"email","consentSince":"2024-01-01T00:00:00Z","topicId":"string","country":"string","region":"string","city":"string","segmentId":"string","eventName":"string","eventSince":"2024-01-01T00:00:00Z","eventBefore":"2024-01-01T00:00:00Z","source":"string","archived":"only","attrOp":"eq"}},"tags":["string"]}'
TypeScript
Python
Go
PHP
Ruby
Java

Responses

202 Default Response
{
  "id": "string",
  "kind": "bulk",
  "op": "string",
  "status": "queued",
  "progress": {
    "total": 0,
    "processed": 0,
    "failed": 0
  },
  "error": "string",
  "downloadUrl": "string",
  "failures": [
    {
      "profileId": "string",
      "message": "string"
    }
  ],
  "createdAt": "2024-01-01T00:00:00Z",
  "finishedAt": "2024-01-01T00:00:00Z"
}
4XX Default Response
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {}
  }
}
5XX Default Response
{
  "error": {
    "code": "string",
    "message": "string",
    "details": {}
  }
}

Updated