> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Send the Compliance Email Confirmation

> Email a confirmation link to your VASP profile's compliance email so the Didit network can list your profile.

export const AgentPromptAccordion = ({prompt, title = "AI Agent Integration Prompt"}) => {
  const [copied, setCopied] = React.useState(false);
  const handleCopy = e => {
    e.stopPropagation();
    if (!prompt) return;
    navigator.clipboard.writeText(prompt.trim()).then(() => {
      setCopied(true);
      setTimeout(() => setCopied(false), 2000);
    });
  };
  const agents = ["Claude Code", "Codex", "Cursor", "Devin", "Windsurf", "GitHub Copilot"];
  return <div className="didit-agent-card">
      {}
      <div className="didit-agent-titlebar">
        <div className="didit-agent-dots" aria-hidden="true">
          <span className="didit-agent-dot didit-agent-dot-red"></span>
          <span className="didit-agent-dot didit-agent-dot-yellow"></span>
          <span className="didit-agent-dot didit-agent-dot-green"></span>
        </div>
        <span className="didit-agent-filename">{title}</span>
        <button type="button" className={`didit-agent-copy ${copied ? "didit-agent-copy-copied" : ""}`} onClick={handleCopy} title="Copy prompt to clipboard" aria-label={copied ? "Copied!" : "Copy prompt to clipboard"}>
          {copied ? <>
              <svg width="13" height="13" viewBox="0 0 16 16" fill="none">
                <path d="M3 8.5l3.5 3.5L13 4" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" />
              </svg>
              <span>Copied</span>
            </> : <>
              <svg width="13" height="13" viewBox="0 0 16 16" fill="none">
                <rect x="5" y="5" width="9" height="9" rx="1.5" stroke="currentColor" strokeWidth="1.5" />
                <path d="M11 5V3.5A1.5 1.5 0 0 0 9.5 2h-6A1.5 1.5 0 0 0 2 3.5v6A1.5 1.5 0 0 0 3.5 11H5" stroke="currentColor" strokeWidth="1.5" />
              </svg>
              <span>Copy</span>
            </>}
        </button>
      </div>

      {}
      <pre className="didit-agent-body"><code>{prompt.trim()}</code></pre>

      {}
      <div className="didit-agent-footer">
        <span className="didit-agent-footer-label">Paste into</span>
        <div className="didit-agent-chips">
          {agents.map(name => <span key={name} className="didit-agent-chip">{name}</span>)}
        </div>
      </div>
    </div>;
};

<AgentPromptAccordion
  title="Send the Compliance Email Confirmation API Prompt"
  prompt={`Email a confirmation link to my VASP profile's compliance_email, so the Didit network can list my profile.

Endpoint:
POST https://verification.didit.me/v3/travel-rule/settings/compliance-email/confirmation/

Authentication:
Use the x-api-key header with my Didit API key. No request body.

What happens:
- 202 with {"sent_to": "<address>"} - the email is on its way. Someone at that address opens the link and presses its confirm button; only that press confirms the address.
- A new request replaces the previous link. Changing compliance_email with PUT /v3/travel-rule/settings/ makes the address unconfirmed again and the old link stops working.
- GET /v3/travel-rule/settings/ then shows didit_network.compliance_email_confirmed: true, and didit_network.missing lists anything else still keeping the profile out of the Didit network.

Failure modes:
- 400 - no compliance email is set, or it is already confirmed.
- 429 - a confirmation went to this address less than a minute ago.
- 503 - the email could not be sent; nothing changed, try again.

Full guide: /transaction-monitoring/travel-rule#the-didit-network.`}
/>


## OpenAPI

````yaml POST /v3/travel-rule/settings/compliance-email/confirmation/
openapi: 3.0.0
info:
  version: 3.0.0
  title: Didit Verification API
  description: Identity verification API. Authenticate with x-api-key header.
servers:
  - url: https://verification.didit.me
security: []
tags: []
paths:
  /v3/travel-rule/settings/compliance-email/confirmation/:
    post:
      tags:
        - Travel Rule
      summary: Send the compliance email confirmation
      description: >-
        Emails a single-use confirmation link to your VASP profile's
        compliance_email. Opening the link and pressing its confirm button
        confirms the address, which the Didit network needs before it lists your
        profile. A new request replaces the previous link; the link stops
        working when the compliance email changes. One email per minute per
        address.
      operationId: sendTravelRuleComplianceEmailConfirmation
      responses:
        '202':
          description: The confirmation email was sent.
          content:
            application/json:
              schema:
                type: object
                properties:
                  sent_to:
                    type: string
                    format: email
              example:
                sent_to: compliance@your-vasp.example
        '400':
          description: No compliance email is set, or it is already confirmed.
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
              examples:
                No compliance email:
                  value:
                    compliance_email:
                      - Set a compliance email before confirming it.
                Already confirmed:
                  value:
                    compliance_email:
                      - This compliance email is already confirmed.
        '429':
          description: A confirmation went to this address less than a minute ago.
        '503':
          description: The email could not be sent. Nothing changed; try again in a moment.
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: curl
          source: >-
            curl -X POST
            https://verification.didit.me/v3/travel-rule/settings/compliance-email/confirmation/
            \
              -H 'x-api-key: YOUR_API_KEY'
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Your application's API key, from Developers -> API keys in the Business
        Console. The primary key has full access. A named key can be scoped:
        none, read or write per resource, limited to some workflows or to
        approved sessions, to a list of IP addresses, and to an expiry date. 401
        means the key is missing, wrong, revoked or expired; 403 means the key
        has no access to this resource or action, or the request came from an
        address outside its IP list; 404 on a session route means the session is
        outside the key's workflows or statuses. A key without media access
        receives image, video and PDF URLs as null, and a key without sessions
        write receives session links and tokens as null. See
        https://docs.didit.me/console/api-keys.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.