Deliveries
One evidenced transfer of a content payload (files or a secret) to exactly one recipient.
Endpoints
- POSTCreate a delivery
/v1/deliveries - GETList deliveries
/v1/deliveries - GETRetrieve a delivery
/v1/deliveries/{id} - POSTCheck a contact before sending
/v1/deliveries/contact_check - POSTSend a reminder
/v1/deliveries/{id}/remind - POSTRevoke a delivery
/v1/deliveries/{id}/revoke - DELDelete a delivery
/v1/deliveries/{id} - GETList a delivery's events
/v1/deliveries/{id}/events - GETList a delivery's e-mails and SMS
/v1/deliveries/{id}/notifications - GETList a delivery's files
/v1/deliveries/{id}/files - GETDownload a delivered file
/v1/deliveries/{id}/files/{fileId}/content - PATCHSet the recipient's postal address
/v1/deliveries/{id}/address - POSTChange a delivery's follow-up policy
/v1/deliveries/{id}/policy_change - GETGet a delivery's cost
/v1/deliveries/{id}/cost - GETGet the cost of several deliveries
/v1/deliveries/costs - GETGet delivery counts
/v1/deliveries/summary
The Delivery object
-
idstringThe delivery's ID, starting
dlv_. -
objectstringAlways
delivery. -
content_typestringWhat the delivery carries:
files, documents.One offiles -
statusstringWhere a delivery is in its life. Activity such as reminders and opens is in
last_, never a status.activity authenticated: the recipient has verified but not yet confirmed receipt. The end states aredelivered,expired,revoked,bouncedandconsignment_.failed One ofcreatednotifiedopenedauthenticatedauth_failedconfirmeddeliveredevidence_sealedexpiredrevokedbouncedconsignment_failedpaper_pending_approvalpaper_dispatched -
last_activityobject · nullableThe latest activity on the delivery, such as a reminder or an open; null until there is any.
-
recipientobjectWho 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 11 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 -
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 -
recipient.verified_namestring · nullableThe recipient's name as their eID or passport states it, once they have signed in with one; null before that, or for a confirmation without an eID or a passport check.
namestays as the sender declared it (sealed into the evidence as such). -
recipient.verified_methodstring · nullableHow
verified_was established — the method of the sign-in it was read from (an eID, a passkey, or videoid for a passport check); null with it.name One ofaudkennismart_idsms_otppasskeyvideoidpasswordlink_only -
recipient.verification_photosarray of stringThe photos kept, with the recipient's consent, from the passport or ID-card check their verified name came from: the document's photo page and the selfie. Each is at GET /deliveries/{id}/recipient_photos/{kind} (JPEG; needs
evidence.). Empty for any other method.read One ofdocumentselfie -
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. -
recipient.phonestring · nullableE.164
-
recipient.addressobject · nullable6 fields of
address-
recipient.address.line1stringThe first address line, such as the street and number. Required.
-
recipient.address.line2string · nullableA second address line, or null.
-
The postal code. Required.
-
recipient.address.citystringThe town or city. Required.
-
ISO 3166-1 alpha-2
-
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 -
recipient.personal_codestring · nullableThe recipient's Icelandic personal code (kennitala). Required when
conditional_is true atauthentication high. -
recipient.id_document_numberstring · nullableThe number of the recipient's passport or ID card. Required when
conditional_is true atauthentication substantial.
-
-
batch_idstring · nullableThe batch it belongs to (
bat_), or null when it is not part of a batch.… -
delivery_urlstring · nullableSigned recipient URL (headless/embed integration).
-
evidence_policystring · uriThe evidence policy this delivery's evidence is produced under, as a URN. It is on the delivery and on every evidence record.
-
certificate_languagestringThe language of every Delivery Certificate of this delivery, the sender's and the recipient's: your organisation's certificate language when the delivery was created, never changed after.
?language=on the certificate routes may name it; the other language is 409certificate_.language_ fixed One ofisen -
warningsarray of objectNotices on the create response that do not stop the delivery. Show them to whoever sent it.
2 fields of
warnings-
warnings[].codestringsms_: SMS one-time codes that came only with the default methods were dropped, because Parasend does not send SMS to that number's country on your account.otp_ unavailable link_: sent with Parasend's own links because your link domain is not working.domain_ unavailable One offail_closed_deliverysms_otp_unavailablelink_domain_unavailable -
warnings[].messagestring
-
-
sender_displayobjectResolved value (delivery → template → organisation default).
-
operator_referencestring · nullableFor a company sender: an opaque reference to the person who sent it, shown under the company name instead of their name. null for a personal account.
-
recipient_refstringAn opaque reference to the recipient, repeated on the evidence.
-
optionsobject8 fields of
options-
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 -
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 -
options.reminder_policystring · nullableThe follow-up policy's ID (
rpol_): the reminders this delivery sends while it waits.… -
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.… -
options.expires_in_daysintegerHow 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.
-
options.sender_displaystringWhat 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 -
options.allow_parasend_linksbooleanSend 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 -
options.notice_wordingobjectWhich 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-
options.notice_wording.emailstring · nullable -
options.notice_wording.smsstring · nullable
-
-
-
legal_holdbooleanWhether the delivery is under legal hold. While it is,
DELETE /deliveries/{id}is refused withdelete_.blocked_ legal_ hold -
deletion_scheduled_atstring · date-time · nullableSet when DELETE /deliveries/{id} has scheduled the delivery's removal; null otherwise.
-
livemodebooleantruein live mode,falsein test mode. -
createdstring · date-timeWhen it was created, in ISO 8601 (UTC).
-
expires_atstring · date-time · nullableWhen the delivery expires if the recipient has not confirmed receipt, in ISO 8601 (UTC):
options.after it was created, or for a delivery in a batch, after the batch was sent out. null while its batch has not been sent out.expires_ in_ days -
metadataobjectYour own key–value pairs, kept with the object and returned as you sent them. Never put personal data here.
-
kindstringUnified-list discriminator. GET /deliveries returns all kinds.
One ofdocumentssecretrequest -
directionstringinbound = a fulfillment of a document request (sender = the verified uploader).
One ofoutboundinboundDefault"outbound" -
origin_requeststring · nullablereq_… linkage when this delivery fulfils a document request.
-
follow_upobject · nullableWhere the delivery is in its follow-up policy; null for a delivery created before follow-up policies existed.
-
reminder_waitingobject · nullableA reminder that waits because the delivery's link domain is not working: it goes on that domain once it works again, or with Parasend's link once the domain has failed (after 72 hours). null when none waits.
3 fields of
reminder_waiting-
When the first waiting reminder was put off.
-
One of
link_domain_degraded -
The delivery's link domain.
-
-
email_waitingobject · nullableAn e-mail that waits for your own sending address (its sender is set to hold on failure): it goes from that address once it works again, or from Parasend's at
untilat the latest. null when none waits.4 fields of
email_waiting-
One of
email_sender
-
privatebooleanSent with a private key; written once at creation.
-
titlestring · nullableThe subject the recipient sees in the notice and on their page.
-
messagestring · nullableThe plain-text note shown before sign-in, or null.
-
languagestringThe language of the notice and of the recipient page.
One ofisen -
short_urlstring · uri · nullableA short link to the recipient page, the form an SMS carries.
-
filesarray of objectThe delivery's files: each one's ID, its name in the delivery, and whether it is the main document.
3 fields of
files-
files[].file_idstring -
files[].pathstring -
files[].primaryboolean
-