Add deliveries to a batch
/v1/batches/{id}/deliveriesPartial-failure pattern (normative): returns 200 with per-item results {index, status: created | failed, delivery_ — the inline error object is byte-identical in shape to top-level errors. A call where every item fails still returns 200; only request-level faults (auth, malformed JSON,
1,000 items) use top-level errors. Unresolved paper addresses are per-item
needs_ results, not errors.
Path parameters
-
The batch's ID, starting
bat_.
Body
Required
-
7 fields of
deliveries-
Who receives a delivery. At least one of
emailandphone;phoneis required atverification_, where the SMS code goes. Withlevel: medium conditional_true, only the named person can open it:authentication personal_is required atcode high(only an eID with that kennitala passes) andid_atdocument_ number substantial(only that identity document passes). Without it, the recipient still verifies at the level you set, and their verified identity is recorded and returned to you. A mismatch is the eventdelivery., with the reasonauth_ failed personal_orcode_ mismatch id_.document_ mismatch 8 fields of
recipient-
How the recipient must identify themselves before they see the documents:
high, eID;substantial, a passport or ID-card check with a selfie;medium, a one-time code sent by SMS when they open the link;low, the link alone. A stronger way is always accepted.One ofhighsubstantialmediumlow -
deliveries[].recipient.namestring · nullableThe recipient's name as you gave it, trimmed: up to 255 characters, no control characters. It is sealed into the evidence as given and never checked; null when none was given.
verified_holds the name from their eID or passport.name -
deliveries[].recipient.emailstring · email · nullableThe recipient's e-mail address, where e-mail notices and reminders go; null when not given. At least one of
emailandphoneis required. -
deliveries[].recipient.phonestring · nullableE.164
-
deliveries[].recipient.addressobject · nullable6 fields of
address-
The first address line, such as the street and number. Required.
-
deliveries[].recipient.address.line2string · nullableA second address line, or null.
-
The postal code. Required.
-
The town or city. Required.
-
ISO 3166-1 alpha-2
-
deliveries[].recipient.address.sourcestring · nullableWhere the address came from, as you state it:
thjodskra, Iceland's national registry (Þjóðskrá);customer_, your own records, imported from a file;csv manual, entered by hand. Defaultmanual.One ofthjodskracustomer_csvmanual
-
-
When true, only the person you name can open the delivery: at
hightheir eID must carrypersonal_, and atcode substantialtheir passport or ID card must carryid_. Default false: the recipient still identifies themselves at the level, and you get back the identity they used.document_ number Defaultfalse -
deliveries[].recipient.personal_codestring · nullableThe recipient's Icelandic personal code (kennitala). Required when
conditional_is true atauthentication high. -
deliveries[].recipient.id_document_numberstring · nullableThe number of the recipient's passport or ID card. Required when
conditional_is true atauthentication substantial.
-
-
The files to send: the
fil_IDs that Upload a file returned. -
deliveries[].optionsobject8 fields of
options-
deliveries[].options.notify_channelsarray of stringHow the recipient is told — the invitation and every reminder go to each channel listed; each needs its contact (recipient.email, recipient.phone). Default — e-mail when there is an address, else SMS. Told on both, a failure on one channel bounces the delivery only once the other cannot arrive either.
One ofemailsms -
deliveries[].options.auth_methodsarray of stringWhich ways of identifying the recipient to offer within
recipient., in your order of preference. The recipient may always use a way at least as strong as the weakest one you list. Left out: every way the level allows (an SMS code only when the recipient has a phone).verification_ level One ofaudkennismart_idsms_otppasskeyvideoidpasswordlink_only -
deliveries[].options.reminder_policystring · nullableThe follow-up policy's ID (
rpol_): the reminders this delivery sends while it waits.… -
deliveries[].options.brand_profile_idstring · nullableThe brand profile's ID (
bp_). One set on the delivery wins over the batch's, and the batch's over the account's default.… -
How many days the recipient has to confirm receipt before the delivery expires: a whole number from 1 to 365. Default 30. For a delivery in a batch, the days count from when the batch is sent out.
-
What the recipient and the evidence show as the sender.
legal_(your organisation's default) shows the organisation, with an opaque reference to the person who sent it; that person's name, personal code and e-mail are not shown.person individualnames the person who sent it as well. Your choice per delivery or template; a personal account is alwaysindividual.One oflegal_personindividual -
Send even though your brand profile's link domain is not working, with Parasend's own links (warning
link_). Without it such a delivery is refused with 409domain_ unavailable link_.domain_ unavailable Defaultfalse -
Which saved wording the first notice uses, per channel: a wording ID, null for Parasend's own, or left out for your organisation's default.
2 fields of
notice_wording-
deliveries[].options.notice_wording.emailstring · nullable -
deliveries[].options.notice_wording.smsstring · nullable
-
-
-
deliveries[].metadataobjectYour own key–value pairs, kept with the object and returned as you sent them. Never put personal data here.
-
deliveries[].titlestringThe subject the recipient sees in the notice and on their page.
at most 200 characters -
deliveries[].messagestringA plain-text note shown before sign-in. Line breaks are kept. It is not sealed into the evidence.
at most 1000 characters -
deliveries[].languagestringThe language of the notice and of the recipient page.
One ofisenDefault"is"
-
Returns
200 application/json. Per-item results.
Errors have one shape; see Errors for every code.