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

# Confirm Double Opt-in

> Marks a contact's double opt-in as complete.

Requires the `people:write` scope. Use this to confirm a contact's double opt-in from your own flow — for example after they click a confirmation link you host. It sets the contact's double opt-in status to `complete`.

### Path parameters

<ParamField path="id" type="string" required>
  The id or email address of the contact to confirm.
</ParamField>

### Response

Returns the updated contact.

<Snippet file="people/person-response-fields.mdx" />

<RequestExample>
  ```bash cURL theme={null}
  curl --location --request POST 'https://api.audienceful.com/v2/people/jQKdwqp3YRRtTrwqUJEp7d/opt-in' \
  --header 'X-Api-Key: <your-api-key>'
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.audienceful.com/v2/people/jQKdwqp3YRRtTrwqUJEp7d/opt-in"
  headers = {
      "X-Api-Key": "<your-api-key>",
  }

  response = requests.post(url, headers=headers)
  print(response.json())
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch("https://api.audienceful.com/v2/people/jQKdwqp3YRRtTrwqUJEp7d/opt-in", {
    method: "POST",
    headers: {
      "X-Api-Key": "<your-api-key>",
    },
  });
  const data = await response.json();
  console.log(data);
  ```
</RequestExample>

<Snippet file="people/person-response-json.mdx" />
