Skip to content

Add or update recipients

Request

Manage canonical campaign recipients without generation, personalization or sending. external_id maps to the existing campaign employee identity. Mutations require the campaign revision. Claimed, rendered, sent or otherwise active recipients cannot be edited or deleted. Contact details appear only in authorized recipient reads; mutation results contain indexed status metadata.

Security
bearerAuth
Path
idstring^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...required
Headers
Idempotency-Keystring, [ 1 .. 200 ] charactersrequired

Reuse for an uncertain retry of the same intent.

If-Matchstringrequired

Opaque revision from ETag or a job result.

Bodyapplication/jsonrequired
itemsArray of any, [ 1 .. 100 ] itemsrequired

Each record: required external_id (1–200 characters, no surrounding whitespace); optional nullable name, first_name, last_name (up to 200 characters), phone (E.164). Unknown fields reject that item. No personalization or delivery fields.

curl -i -X POST \
  'https://api-docs.shuffll.com/_mock/engage/openapi/v1/campaigns/{id}/recipients' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: string' \
  -H 'If-Match: string' \
  -d '{
    "items": [
      null
    ]
  }'

Responses

Terminal operation job.

Headers
X-Request-Idstring, (uuid)required

Identifier for tracing this response.

Locationstring, (uri)required

Absolute URL of the operation job, from the trusted server origin.

ETagstring

Quoted opaque revision when the resource or job result has one.

Bodyapplication/json
jobobjectrequired
secretAvailablebooleanrequired
Default:false
secretstring
keyobject
Response
{ "job": { "id": "string", "command": "string", "resourceId": "string", "state": "queued", "createdAt": "string", "updatedAt": "string", "result": { … }, "pollAfterSeconds": 0 }, "secretAvailable": false, "secret": "string", "key": { "id": "string", "level": "platform", "meta_organization_id": "string", "organization_id": "string", "name": "string", "scopes": [ … ], "environment": "dev", "display_prefix": "string", "created_by": "string", "issuer_key_id": "string", "delegation_allowed": true, "created_at": "string", "expires_at": "string", "revoked_at": "string", "last_used_at": "string", "revision": "string" } }