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

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

Submit a certified SMS

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
Textstringrequired
LookupKeystring
IssuerNamestring

Legal name or short identifier for the sending organisation, recorded in the certification evidence. This is not the sender shown in the recipient's inbox (that sender is configured at the account level).

Recipientobject(EviSmsRecipient)required
Recipient.​LegalNamestring
Recipient.​PhoneNumberstringrequired

International mobile number.

Optionsobject(EviSmsOptions)
curl -i -X POST \
  -u <username>:<password> \
  https://api.evicertia.com/v1/EviSms/Submit \
  -H 'Content-Type: application/json' \
  -H 'X-Evi-IdempotencyToken: string' \
  -d '{
    "Text": "We inform you that your request has been processed.",
    "LookupKey": "SMS-001",
    "IssuerName": "SendCo",
    "Recipient": {
      "LegalName": "Recipient Corp.",
      "PhoneNumber": "+34600000000"
    },
    "Options": {
      "CertificationLevel": "Advanced_EU",
      "DeliveryChannels": [
        "SMS"
      ],
      "TimeToLive": 11400,
      "Language": "es",
      "AffidavitLanguage": "es",
      "AffidavitKinds": [
        "Submitted",
        "TransmissionResult",
        "DeliveryResult",
        "Read",
        "Closed",
        "CompleteAdvanced"
      ],
      "PushNotificationFilter": [
        "Ready",
        "Sent",
        "Dispatched",
        "Delivered",
        "Read",
        "Failed",
        "Closed",
        "AffidavitPublished"
      ],
      "PushNotificationUrl": "https://your-system.example.com/callbacks/evisms",
      "EvidenceAccessControlMethod": "Challenge",
      "EvidenceAccessControlChallenge": "What is your mother'\''s maiden name?",
      "EvidenceAccessControlChallengeResponse": "Smith",
      "OnlineRetentionPeriod": 1
    }
  }'

Responses

SMS accepted

Headers
X-Evi-IdempotencyStatusstring

Idempotency outcome for the submission request.

Value"New"
Bodyapplication/json
eviIdstringrequired
Response
application/json
{ "eviId": "string" }

Query certified SMS messages (GET)

Request

Security
basicAuth
Query
WithUniqueIdsstring
WithLookupKeysstring
WithLinkedIdstring(uuid)
OnStatestring

Filters results by the current EviSMS state. Replied is not part of the current public EviSMS lifecycle.

Enum"Draft""New""Ready""Sent""Dispatched""Delivered""Read""Closed""Failed"
WithOutcomestring
Enum"None""Certified""Sent""Delivered""Read""Accepted""Rejected""Failed"
OrderResultsBystring
Value"CreationDate"
Limitinteger[ 1 .. 100 ]

Maximum results to return. Defaults to 100; drops to 25 when affidavit metadata is included.

Default 100
Offsetinteger
IncludeAffidavitsboolean
IncludeAffidavitBlobsboolean
Deprecated

Deprecated. When true with IncludeAffidavits, includes Base64 affidavit PDFs in affidavits[].bytes and limits the query to one message. Set false for metadata-only results and use /AffidavitsDownload for new integrations.

curl -i -X GET \
  -u <username>:<password> \
  'https://api.evicertia.com/v1/EviSms/Query?WithUniqueIds=string&WithLookupKeys=string&WithLinkedId=497f6eca-6276-4993-bfeb-53cbbbba6f08&OnState=Draft&WithOutcome=None&OrderResultsBy=CreationDate&Limit=100&Offset=0&IncludeAffidavits=true&IncludeAffidavitBlobs=true'

Responses

Query executed successfully

Bodyapplication/json
totalMatchesinteger
resultsArray of objects(EviSmsQueryResult)
Response
application/json
{ "totalMatches": 0, "results": [ { … } ] }

Create an SMS batch

Request

Creates a new, empty SMS batch. Only a Description is required at creation; the message text, recipients, and options are set with the subsequent batch endpoints. Returns the BatchId used by all other batch operations.

Security
basicAuth
Bodyapplication/jsonrequired
Descriptionstring<= 255 charactersrequired

Human-readable description of the batch.

curl -i -X POST \
  -u <username>:<password> \
  https://api.evicertia.com/v2/EviSms/Batches \
  -H 'Content-Type: application/json' \
  -d '{
    "Description": "March 2026 customer SMS"
  }'

Responses

Batch created.

Bodyapplication/json
BatchIdstring(uuid)

Unique identifier of the created batch. Use it in all other batch operations.

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

EviPost

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

Operations

Shared Downloads

Shared affidavit and attachment download endpoints.

Operations