Skip to content

Namirial Notify APIs (1.0)

Unified OpenAPI reference for the Namirial Notify service APIs. This specification aggregates EviNotice, EviMail, EviSMS, EviPost, and shared affidavit and attachment download endpoints. EviNotice, EviMail, and EviSMS each group their single-message and batch operations together. In the public Namirial Notify API environments, single-message operations for EviMail, EviSMS, and EviPost use the /v1 base path. EviMail and EviSMS batch operations use /v2/EviMail/Batches and /v2/EviSms/Batches, respectively. Some lower-level technical artifacts may show those V1 routes without the prefix. For customer integrations, use the public paths shown in this specification. For the public Namirial Notify API environments, EviNotice routes use the /v2 base path. The legacy /api/v2/... form is still accepted for backward compatibility.

Languages
Servers
Production
https://api.evicertia.com
Pre-production / QA
https://api.ecertia.com

EviNotice

Certified hosted notices with hosted content, attachments, affidavits, and batch delivery via v2.

Operations

Submit a new EviNotice

Request

Security
basicAuth
Headers
X-Evi-IdempotencyTokenstring

Optional idempotency token (UUID recommended) to prevent duplicate submissions on retry. A replay of a cached 200 OK submission returns 202 Accepted. Responses 400, 401, 408, 409, 429, and 5xx are not cached for replay.

Bodyapplication/jsonrequired
Subjectstringrequired

The subject line of the certified notice.

Bodystringrequired

The HTML or plain-text body of the hosted notice.

RecipientAddressstringrequired

Recipient's email address or mobile phone number in E.164 format. The delivery notification is sent to this address.

RecipientDisplayNamestring

The display name shown to the recipient in the delivery notification.

RecipientLegalNamestring

The legal name of the recipient, recorded in the certification evidence.

IssuerLegalNamestring

The legal name of the sending organisation, recorded in the certification evidence.

Fromstring

Override the sender address shown in the delivery notification email.

ReplyTostring

Reply-to address for the delivery notification email.

LookupKeystring

An arbitrary key assigned by the integrator to correlate this notice with records in your own system.

CustomLayoutLogoUrlstring(uri)

URL of a custom logo to display in the hosted notice layout.

TimeToLiveinteger[ 60 .. 86400 ]

The time in minutes during which the platform will attempt delivery and keep the notice accessible to the recipient. Range: 60–86,400 (1 minute to 60 days). When omitted, the account's configured default applies.

Example: 10080
AttachmentsArray of objects(EviNoticeAttachment)<= 14 items

Files to include in the hosted notice. Maximum 15 attachments; maximum 8 MB per attachment; maximum 25 MB total across all attachments.

CertificationLevelstring

The legal framework and geographic variant for certification. Supported values include Standard, Advanced, QERDS, and their regional variants. Availability depends on the account.

Enum"Standard""Advanced""QERDS""Standard_CO""Standard_CR""Standard_EC""Standard_EU""Standard_MX""Standard_PE""Advanced_CO"
Example: "Advanced_EU"
QERDSEnrollmentAllowedboolean

Allow the recipient to enrol in a QERDS identity during the commitment flow.

QERDSEnrollmentProfilestring

The QERDS enrolment profile to use when QERDSEnrollmentAllowed is true.

RecipientLegalIdRequiredboolean

Require the recipient to provide a government-issued legal ID before accessing the notice.

RecipientLegalIdKindstring

The type of legal ID to request from the recipient.

Enum"IDC:ES""PAS:ES""PAS:IT""TIN:IT"
RecipientLegalIdValuestring

A pre-filled legal ID value for the recipient (used for verification).

AffidavitKindsArray of strings

The set of evidence events for which affidavits should be generated.

Items Enum"Submitted""SubmittedAdvanced""Dispatched""TransmissionResult""DeliveryResult""Received""Read""Committed""CommittedAdvanced""Refused"
EvidenceAccessControlMethodstring

Controls how recipients access the evidence record after the notice lifecycle ends. Supported values: Public, Challenge, AutoChallenge. Unlike EviMail and EviSMS, Default is not supported for EviNotice.

Enum"AutoChallenge""Public""Challenge"
EvidenceAccessControlChallengestring

The challenge question shown to the recipient when EvidenceAccessControlMethod is Challenge.

EvidenceAccessControlChallengeResponsestring

The expected answer to the challenge question.

NotificationChannelsArray of strings

The delivery channels used to send the notification to the recipient.

Items Enum"SMS""WhatsApp""RCS""Email"
DeliverySignMethodstring

Controls how the recipient authenticates to access the hosted notice.

Enum"WebClick""Challenge""MobilePin""EmailPin"
DeliverySignChallengestring

The challenge question shown to the recipient when DeliverySignMethod is Challenge.

DeliverySignChallengeResponsestring

The expected answer to the challenge question.

DeliverySignFixedMobilestring

The fixed mobile number used to send the PIN when DeliverySignMethod is MobilePin.

Example: "+34600000000"
DeliverySignFixedEmailstring

The fixed email address used to send the PIN when DeliverySignMethod is EmailPin.

MobilePinChannelsArray of strings

Ordered list of channel groups for PIN delivery attempts. Each element is an array of channel names tried in parallel for that attempt. Supported channels: Sms, Rcs, WhatsApp.

Example: [["Sms","Rcs","WhatsApp"],["Sms","Rcs","WhatsApp"],["Sms","Rcs","WhatsApp"]]
CommitmentChoicestring

Controls whether the recipient can accept or reject the notice. EviMail exposes the same behaviour through a field named CommitmentOptions.

Enum"Disabled""Accept""Reject""AcceptOrReject"
CommitmentCommentsAllowedboolean

Allow the recipient to add a free-text comment when committing.

RejectReasonsArray of strings

Predefined rejection reasons the recipient can select from.

RequireRejectReasonboolean

Require the recipient to select or enter a rejection reason before rejecting.

AcceptReasonsArray of strings

Predefined acceptance reasons the recipient can select from.

RequireAcceptReasonboolean

Require the recipient to select or enter an acceptance reason before accepting.

PushNotificationFilterArray of strings

State transitions that trigger a push notification callback to PushNotificationUrl. AffidavitPublished is a platform meta-event that fires when affidavit generation completes — it is not a lifecycle state.

Items Enum"Processed""Sent""Dispatched""Delivered""Received""Read""Replied""Failed""Closed""AffidavitPublished"
PushNotificationUrlstring(uri)

The URL that receives push notification callbacks when a state in PushNotificationFilter is reached.

PushNotificationExtraDatastring

Arbitrary string passed back verbatim in each push notification payload.

Languagestring

BCP 47 language tag controlling the language of the hosted notice UI (e.g. en, es, it).

Example: "en"
AffidavitLanguagestring

BCP 47 language tag controlling the language of generated affidavit documents.

Example: "en"
NotificationLayoutstring

Visual layout of the hosted notice page. EviMail exposes the same concept through a field named DeliveryAppearance.

Enum"Certified""AsIs"
LandingPageInfoTextstring

Custom informational text shown to the recipient on the hosted notice landing page.

NotificationTemplatestring

Identifier of an enabled custom communication template used for the recipient's notification email, replacing the default system template. See Using communication templates from the API.

NotificationTemplateValuesobject

Key-value pairs supplying values for the user variables declared in NotificationTemplate.

OwnerNotificationTemplatestring

Identifier of an enabled custom template used for the issuer's status notification email. See Using communication templates from the API.

OwnerNotificationTemplateValuesobject

Key-value pairs supplying values for the user variables declared in OwnerNotificationTemplate.

CommitmentChoiceButtonTextstring

Custom label for the accept/reject commitment button shown to the recipient.

CommitmentChoiceButtonOnlyboolean

When true, the hosted notice shows only the commitment buttons and hides the free-text input.

QERDSIdentityTenantstring

Tenant identifier used when resolving the recipient's QERDS identity.

CostCentrestring

An arbitrary cost-centre label recorded with the transaction for internal billing allocation.

EnforceTrackingUntilTimeToLiveboolean

When true, the platform keeps tracking content/attachment downloads until the TimeToLive elapses. This must be enabled together with the ContentDownload affidavit kind — enabling one without the other returns a validation error.

DisableSenderHeaderboolean

When true, the Sender header is removed from the recipient notification email.

DisablePlatformReferencesboolean

When true, internal platform references are suppressed in the generated affidavits.

LtaStorageboolean

When true, the evidence for this transaction is stored in Namirial Archive during post-close processing after tracking reaches Closed. Requires LTA to be enabled for the site. OnlineRetentionPeriod separately controls online accessibility.

AllowRefusalboolean

When true, the recipient can explicitly refuse the notice before reading it (records a Refused outcome).

OnlineRetentionPeriodinteger

Online custody period in years during which the evidence remains accessible online before archiving or removal.

NotaryRetentionboolean

When true, the evidence is placed under notarial deposit. Requires NotaryProfile to be set.

NotaryProfilestring

The notary profile identifier to use for notarial deposit. Required when NotaryRetention is true.

Remindersobject(EviNoticeReminders)

Configuration for automatic reminder notifications sent to the recipient before the notice expires.

curl -i -X POST \
  -u <username>:<password> \
  https://api.evicertia.com/v2/EviNotice/Submit \
  -H 'Content-Type: application/json' \
  -H 'X-Evi-IdempotencyToken: string' \
  -d '{
    "Subject": "Subject of the certified communication",
    "Body": "We inform you that today is a very interesting day.<br>Best Regards,",
    "LookupKey": "05",
    "TimeToLive": 10080,
    "RecipientAddress": "recipient@example.com",
    "RecipientDisplayName": "Jane Doe",
    "RecipientLegalName": "Acme Corp",
    "CertificationLevel": "Standard_EU",
    "IssuerLegalName": "Sender Co.",
    "EvidenceAccessControlMethod": "Public",
    "DeliverySignMethod": "WebClick",
    "CommitmentChoice": "Disabled",
    "Language": "en",
    "AffidavitLanguage": "en",
    "NotificationLayout": "Certified"
  }'

Responses

EviNotice accepted

Headers
X-Evi-IdempotencyStatusstring

Idempotency outcome for the submission request.

Value"New"
Bodyapplication/json
Idstring(uuid)

The unique identifier of the submitted EviNotice. Use this to retrieve status and download evidence.

Response
application/json
{ "Id": "550e8400-e29b-41d4-a716-446655440000" }

Get a single EviNotice

Request

Security
basicAuth
Path
Idstring(uuid)required

The UUID of the EviNotice returned at submission.

Query
IncludeAffidavitsboolean

Include affidavit metadata in the response.

IncludeAttachmentsboolean

Include attachment metadata in the response.

curl -i -X GET \
  -u <username>:<password> \
  'https://api.evicertia.com/v2/EviNotice/{Id}?IncludeAffidavits=true&IncludeAttachments=true'

Responses

EviNotice retrieved

Bodyapplication/json
Idstring(uuid)

Unique identifier of the EviNotice.

LinkedIdstring

ID of a related EviNotice, if applicable.

Subjectstring

Subject of the certified notice.

LookupKeystring

The integrator-assigned lookup key.

Issuerstring

Legal name of the issuing organisation.

IssuerEmailstring

Email address of the issuer account.

IssuerPhonestring

Phone number of the issuer account, if set.

RecipientAddressstring

Email address where the delivery notification was sent.

RecipientDisplayNamestring

Display name of the recipient.

RecipientLegalNamestring

Legal name of the recipient.

Statestring

Current step in the notice lifecycle.

Enum"Draft""Submitted""Processed""Sent""Dispatched""Delivered""Received""Read""Replied""Closed"
Outcomestring

Overall result of the certification process. When a notice is refused, the lifecycle completes with state Closed and outcome Refused — Refused does not appear as a lifecycle state. Cancelled may appear on legacy records; its trigger is not part of the standard integration flow.

Enum"None""Certified""Sent""Delivered""Received""Read""Accepted""Rejected""Failed""Cancelled"
CreationDatestring(date-time)
LastUpdateDatestring(date-time)
SubmittedOnstring(date-time)

Timestamp when the submission was accepted by the platform.

ProcessedOnstring(date-time)

Timestamp when the submission was validated and processing started.

SentOnstring(date-time)

Timestamp when transmission of the notification was confirmed — accepted by the recipient's mail system (email) or by the messaging operator (mobile channels). Always equal to or later than DispatchedOn.

DispatchedOnstring(date-time)

Timestamp when the platform completed its checks and accepted responsibility for the communication. The notification is not yet sent, so DispatchedOn precedes SentOn and typically matches ProcessedOn.

DeliveredOnstring(date-time)

Email: timestamp when delivery to the recipient's mail system was confirmed — best-effort, may be absent even when the message was delivered. Mobile channels: operator delivery confirmation.

ReadOnstring(date-time)

Timestamp when the recipient accessed the protected content on the platform.

RepliedOnstring(date-time)
ExpiredOnstring(date-time)
AcceptedOnstring(date-time)
RejectedOnstring(date-time)
FailedOnstring(date-time)
RefusedOnstring(date-time)
ArchivedOnstring(date-time)
TimeToLiveinteger

The TimeToLive value (in minutes) that was set at submission.

AllowRefusalboolean

Whether the recipient was allowed to refuse the notice without opening it.

NotaryProfilestring

The notary certification profile applied.

SourceChannelstring

The channel through which the notice was submitted (e.g. API, portal).

OnlineRetentionPeriodinteger

Number of years the notice and its evidence remain accessible online.

NotaryRetentionboolean

Whether the evidence is retained by a notary for long-term legal storage.

ReceivedOnstring(date-time)

Timestamp when the recipient opened the access link and reached the delivery page on the platform.

Fromstring

From address used in the delivery notification email.

CostCentrestring

Cost-centre label recorded with the transaction for internal billing allocation.

CommitmentCommentsstring

Free-text comment provided by the recipient when accepting or rejecting the notice.

AffidavitKindsArray of strings

The affidavit event types configured at submission.

Remindersobject

Reminder configuration as set at submission. Absent when no reminders were configured.

NotificationChannelsArray of strings

Channels used to deliver the notification to the recipient.

Items Enum"SMS""WhatsApp""RCS""Email"
MobilePinChannelsArray of strings

PIN delivery channel groups as configured at submission. Each element is an array of channels tried in parallel for that attempt.

Items Enum"SMS""WhatsApp""RCS"
SiteNamestring

Name of the Namirial Notify site under which this notice was submitted.

XmissionResultboolean or null

Whether the delivery notification email or SMS was successfully transmitted.

XmissionSummarystring

Human-readable summary of the transmission result (e.g. bounce or SMTP reply code).

CustomLayoutLogoUrlstring(uri)

Custom logo URL that was configured at submission.

AffidavitsArray of objects(EviNoticeAffidavitInfo)

Metadata for each generated affidavit. Present when IncludeAffidavits is true.

AttachmentsArray of objects(EviNoticeAttachmentInfo)

Metadata for each attachment. Present when IncludeAttachments is true.

Response
application/json
{ "Id": "550e8400-e29b-41d4-a716-446655440000", "Subject": "Contract review required", "LookupKey": "CONTRACT-001", "Issuer": "Sender Co.", "IssuerEmail": "sender@example.com", "RecipientAddress": "recipient@example.com", "RecipientDisplayName": "Jane Doe", "RecipientLegalName": "Acme Corp", "State": "Read", "Outcome": "None", "CreationDate": "2026-01-15T09:00:00Z", "LastUpdateDate": "2026-01-16T11:23:00Z", "SubmittedOn": "2026-01-15T09:00:01Z", "ProcessedOn": "2026-01-15T09:00:03Z", "SentOn": "2026-01-15T09:00:10Z", "DispatchedOn": "2026-01-15T09:00:03Z", "DeliveredOn": "2026-01-15T09:15:00Z", "ReceivedOn": "2026-01-16T11:20:00Z", "ReadOn": "2026-01-16T11:23:00Z", "TimeToLive": 10080, "AllowRefusal": false, "NotaryRetention": false, "OnlineRetentionPeriod": 1, "SourceChannel": "Api", "AffidavitKinds": [ "TransmissionResult", "DeliveryResult", "Read" ], "SiteName": "acme-corp", "XmissionResult": true, "XmissionSummary": "250 OK" }

Query multiple EviNotices

Request

Security
basicAuth
Bodyapplication/json
Limitinteger[ 1 .. 100 ]

Maximum number of results to return per page.

Default 100
Ownerstring(email)

Filter by the email address of the account that submitted the notices.

LookupKeysArray of strings

Filter by one or more integrator-assigned lookup keys.

LinkedIdstring(uuid)

Filter by linked ID.

Statestring

Filter by current notice state.

Enum"Draft""Submitted""Processed""Sent""Dispatched""Delivered""Received""Read""Replied""Closed"
Outcomestring

Filter by certification outcome.

Enum"None""Certified""Sent""Delivered""Received""Read""Accepted""Rejected""Failed""Cancelled"
Cursorstring

Opaque pagination cursor returned in the previous response. Pass this value to retrieve the next page.

curl -i -X POST \
  -u <username>:<password> \
  https://api.evicertia.com/v2/EviNotice/Query \
  -H 'Content-Type: application/json' \
  -d '{
    "Limit": 100,
    "Owner": "user@example.com",
    "LookupKeys": [
      "string"
    ],
    "LinkedId": "5b64f22c-bd29-4d24-affe-e0bd94d5c0e9",
    "State": "Draft",
    "Outcome": "None",
    "Cursor": "string"
  }'

Responses

Query executed successfully

Bodyapplication/json
Cursorstring

Opaque cursor for the next page of results. Pass this value as Cursor in a subsequent request to retrieve the next page. Absent when there are no further results.

ResultsArray of objects(EviNoticeSummary)

The list of EviNotice summaries matching the query.

Response
application/json
{ "Cursor": "AQAAAADFDwwAAAAAABVOhADim0HUo3Jm+wAAAAAAAAA=", "Results": [ { … } ] }

EviMail

Certified email submission, status tracking, and on-demand affidavits via v1, plus batch delivery, recipients, and attachments via v2.

Operations

EviSMS

Certified SMS and RCS submission, status tracking, and evidence retrieval via v1, plus SMS batch delivery and recipients via v2.

Operations

EviPost

Certified physical postal delivery with status tracking and on-demand affidavits.

Operations

Shared Downloads

Shared affidavit and attachment download endpoints.

Operations