# Submit a new EviNotice

Endpoint: POST /v2/EviNotice/Submit
Version: 1.0
Security: basicAuth

## Header parameters:

  - `X-Evi-IdempotencyToken` (string)
    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.

## Request fields (application/json):

  - `Subject` (string, required)
    The subject line of the certified notice.

  - `Body` (string, required)
    The HTML or plain-text body of the hosted notice.

  - `RecipientAddress` (string, required)
    Recipient's email address or mobile phone number in E.164 format. The delivery notification is sent to this address.

  - `RecipientDisplayName` (string)
    The display name shown to the recipient in the delivery notification.

  - `RecipientLegalName` (string)
    The legal name of the recipient, recorded in the certification evidence.

  - `IssuerLegalName` (string)
    The legal name of the sending organisation, recorded in the certification evidence.

  - `From` (string)
    Override the sender address shown in the delivery notification email.

  - `ReplyTo` (string)
    Reply-to address for the delivery notification email.

  - `LookupKey` (string)
    An arbitrary key assigned by the integrator to correlate this notice with records in your own system.

  - `CustomLayoutLogoUrl` (string)
    URL of a custom logo to display in the hosted notice layout.

  - `TimeToLive` (integer)
    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

  - `Attachments` (array)
    Files to include in the hosted notice. Maximum 15 attachments; maximum 8 MB per attachment; maximum 25 MB total across all attachments.

  - `Attachments.Data` (string, required)
    Base64-encoded content of the file. Maximum 8 MB per attachment (25 MB total across all attachments in the same submission).

  - `Attachments.Filename` (string)
    The file name including extension (e.g. contract.pdf).

  - `Attachments.DisplayName` (string)
    A human-readable label shown to the recipient instead of the raw file name.

  - `Attachments.MimeType` (string)
    The MIME type of the file (e.g. application/pdf, image/png).

  - `Attachments.ContentId` (string)
    A Content-ID that can be referenced with cid: in the Body HTML to embed the attachment inline.

  - `Attachments.ContentEncoding` (string)
    Encoding of the Data field. Defaults to base64.

  - `Attachments.ContentDescription` (string)
    Optional human-readable description of the attachment.

  - `Attachments.ContentDisposition` (string)
    The Content-Disposition of the attachment (e.g. inline or attachment).

  - `Attachments.ContentLocation` (string)
    The Content-Location header value for the attachment.

  - `Attachments.IncludeOnAffidavits` (boolean)
    Whether this attachment is referenced in generated affidavits.

  - `CertificationLevel` (string)
    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", "Advanced_CR", "Advanced_EC", "Advanced_EU", "Advanced_MX", "Advanced_PE", "QERDS_ES", "QERDS_IT"

  - `QERDSEnrollmentAllowed` (boolean)
    Allow the recipient to enrol in a QERDS identity during the commitment flow.

  - `QERDSEnrollmentProfile` (string)
    The QERDS enrolment profile to use when QERDSEnrollmentAllowed is true.

  - `RecipientLegalIdRequired` (boolean)
    Require the recipient to provide a government-issued legal ID before accessing the notice.

  - `RecipientLegalIdKind` (string)
    The type of legal ID to request from the recipient.
    Enum: "IDC:ES", "PAS:ES", "PAS:IT", "TIN:IT"

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

  - `AffidavitKinds` (array)
    The set of evidence events for which affidavits should be generated.
    Enum: "Submitted", "SubmittedAdvanced", "Dispatched", "TransmissionResult", "DeliveryResult", "Received", "Read", "Committed", "CommittedAdvanced", "Refused", "Closed", "ClosedAdvanced", "Event", "Complete", "CompleteAdvanced", "OnDemand", "ContentDownload", "Failed"

  - `EvidenceAccessControlMethod` (string)
    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"

  - `EvidenceAccessControlChallenge` (string)
    The challenge question shown to the recipient when EvidenceAccessControlMethod is Challenge.

  - `EvidenceAccessControlChallengeResponse` (string)
    The expected answer to the challenge question.

  - `NotificationChannels` (array)
    The delivery channels used to send the notification to the recipient.
    Enum: "SMS", "WhatsApp", "RCS", "Email"

  - `DeliverySignMethod` (string)
    Controls how the recipient authenticates to access the hosted notice.
    Enum: "WebClick", "Challenge", "MobilePin", "EmailPin"

  - `DeliverySignChallenge` (string)
    The challenge question shown to the recipient when DeliverySignMethod is Challenge.

  - `DeliverySignChallengeResponse` (string)
    The expected answer to the challenge question.

  - `DeliverySignFixedMobile` (string)
    The fixed mobile number used to send the PIN when DeliverySignMethod is MobilePin.
    Example: "+34600000000"

  - `DeliverySignFixedEmail` (string)
    The fixed email address used to send the PIN when DeliverySignMethod is EmailPin.

  - `MobilePinChannels` (array)
    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"]]

  - `CommitmentChoice` (string)
    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"

  - `CommitmentCommentsAllowed` (boolean)
    Allow the recipient to add a free-text comment when committing.

  - `RejectReasons` (array)
    Predefined rejection reasons the recipient can select from.

  - `RequireRejectReason` (boolean)
    Require the recipient to select or enter a rejection reason before rejecting.

  - `AcceptReasons` (array)
    Predefined acceptance reasons the recipient can select from.

  - `RequireAcceptReason` (boolean)
    Require the recipient to select or enter an acceptance reason before accepting.

  - `PushNotificationFilter` (array)
    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.
    Enum: "Processed", "Sent", "Dispatched", "Delivered", "Received", "Read", "Replied", "Failed", "Closed", "AffidavitPublished"

  - `PushNotificationUrl` (string)
    The URL that receives push notification callbacks when a state in PushNotificationFilter is reached.

  - `PushNotificationExtraData` (string)
    Arbitrary string passed back verbatim in each push notification payload.

  - `Language` (string)
    BCP 47 language tag controlling the language of the hosted notice UI (e.g. en, es, it).
    Example: "en"

  - `AffidavitLanguage` (string)
    BCP 47 language tag controlling the language of generated affidavit documents.
    Example: "en"

  - `NotificationLayout` (string)
    Visual layout of the hosted notice page. EviMail exposes the same concept through a field named DeliveryAppearance.
    Enum: "Certified", "AsIs"

  - `LandingPageInfoText` (string)
    Custom informational text shown to the recipient on the hosted notice landing page.

  - `NotificationTemplate` (string)
    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](../../dev/templates.md).

  - `NotificationTemplateValues` (object)
    Key-value pairs supplying values for the user variables declared in NotificationTemplate.

  - `OwnerNotificationTemplate` (string)
    Identifier of an enabled custom template used for the issuer's status notification email. See [Using communication templates from the API](../../dev/templates.md).

  - `OwnerNotificationTemplateValues` (object)
    Key-value pairs supplying values for the user variables declared in OwnerNotificationTemplate.

  - `CommitmentChoiceButtonText` (string)
    Custom label for the accept/reject commitment button shown to the recipient.

  - `CommitmentChoiceButtonOnly` (boolean)
    When true, the hosted notice shows only the commitment buttons and hides the free-text input.

  - `QERDSIdentityTenant` (string)
    Tenant identifier used when resolving the recipient's QERDS identity.

  - `CostCentre` (string)
    An arbitrary cost-centre label recorded with the transaction for internal billing allocation.

  - `EnforceTrackingUntilTimeToLive` (boolean)
    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.

  - `DisableSenderHeader` (boolean)
    When true, the Sender header is removed from the recipient notification email.

  - `DisablePlatformReferences` (boolean)
    When true, internal platform references are suppressed in the generated affidavits.

  - `LtaStorage` (boolean)
    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.

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

  - `OnlineRetentionPeriod` (integer)
    Online custody period in years during which the evidence remains accessible online before archiving or removal.

  - `NotaryRetention` (boolean)
    When true, the evidence is placed under notarial deposit. Requires NotaryProfile to be set.

  - `NotaryProfile` (string)
    The notary profile identifier to use for notarial deposit. Required when NotaryRetention is true.

  - `Reminders` (object)
    Configuration for automatic reminder notifications sent to the recipient before the notice expires.

  - `Reminders.Initial` (string, required)
    ISO 8601 duration after submission before the first reminder is sent. For example, P2D means the first reminder fires 2 days after submission.
    Example: "P2D"

  - `Reminders.Repeat` (string, required)
    ISO 8601 duration between subsequent reminders after the first one. For example, P1D means reminders repeat every day.
    Example: "P1D"

  - `Reminders.Days` (array, required)
    Days of the week on which reminders may be sent.
    Enum: "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"

  - `Reminders.TimeRange` (array, required)
    Time-of-day windows during which reminders may be sent.
    Enum: "FROM08TO10", "FROM10TO12", "FROM12TO15", "FROM15TO19"

  - `Reminders.Max` (integer)
    Maximum number of reminders to send in total.
    Example: 5

  - `Reminders.Stop` (string, required)
    ISO 8601 duration after submission at which point no further reminders are sent, regardless of Max. For example, P15D stops reminders after 15 days.
    Example: "P15D"

  - `Reminders.TimeZone` (string, required)
    IANA time zone identifier used to interpret the Days and TimeRange windows.
    Example: "Etc/GMT-1"

## Response 200 fields (application/json):

  - `Id` (string)
    The unique identifier of the submitted EviNotice. Use this to retrieve status and download evidence.

## Response 202 fields (application/json):

  - `Id` (string)
    The unique identifier of the submitted EviNotice. Use this to retrieve status and download evidence.

## Response 400 fields (application/problem+json):

  - `Status` (integer)
    HTTP status code.

  - `Type` (string)
    URI identifying the problem type.

  - `Title` (string)
    Short, human-readable summary of the problem type.

  - `Detail` (string)
    Human-readable explanation specific to this occurrence.

  - `Instance` (string)
    URI reference identifying the specific occurrence of the problem. May be absent.

  - `RequestId` (string)
    Unique identifier for this request, useful for support and diagnostics.

  - `InvalidValues` (array)
    Field-level validation errors. Present on 400 validation failures.


## Response 401 fields

## Response 403 fields

## Response 409 fields
