> For the complete documentation index, see [llms.txt](https://even-financial.gitbook.io/developer-center/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://even-financial.gitbook.io/developer-center/marketplace-integrations/native-api/personal/jornaya-consent-capture-requirements.md).

# Consent Proof Capture Requirements

Submit Jornaya LeadiD or TrustedForm consent proof with API lead requests.

{% hint style="info" %}
Consent proof is accepted on API submissions only. It is not supported in Engine-hosted embeds.
{% endhint %}

## Overview

Engine supports third-party consent verification through Jornaya and ActiveProspect. Partners collecting consent on their own forms can submit the provider token or certificate URL with a lead.

A consent proof records the user's consent event. It does not replace the consent fields in `legalInformation`.

### Supported Consent Proof Sources

<table data-header-hidden><thead><tr><th width="164.203125"></th><th width="210.94921875"></th><th></th></tr></thead><tbody><tr><td>Provider</td><td><code>consentProofSource</code></td><td><code>consentProof</code></td></tr><tr><td>Jornaya (LeadiD)</td><td><code>external_jornaya</code></td><td>LeadiD token, such as <code>A271FDE6-E09C-...</code></td></tr><tr><td>ActiveProspect (TrustedForm)</td><td><code>external_trusted_form</code></td><td>Certificate URL, such as <code>https://cert.trustedform.com/abc123...</code></td></tr></tbody></table>

### Integration flow

{% stepper %}
{% step %}

#### Install the provider tag

Install the Jornaya or TrustedForm JavaScript tag on each consent form page.

* Jornaya: Add the LeadiD script tag to your page. The tag generates a unique LeadiD token for each user session.&#x20;
* TrustedForm: Add the TrustedForm Certify script tag to your page. The tag generates a certificate URL for each user session.&#x20;
  {% endstep %}

{% step %}

#### Capture the proof

Store the generated token or certificate URL in a hidden form field so it is available at submission time.
{% endstep %}

{% step %}

#### Submit the proof

Add `consentProofInformation` to the top level of your `POST /leads/rateTables` request.
{% endstep %}
{% endstepper %}

## API submission format

Include the `consentProofInformation` object at the top level of your `POST /leads/rateTables` request body, alongside your existing fields (personalInformation, loanInformation, legalInformation, etc.).

### Examples

{% tabs %}
{% tab title="Jornaya LeadiD" %}
{% code expandable="true" %}

```json
{
  "productTypes": ["loan"],
  "personalInformation": { "...": "..." },
  "loanInformation": { "...": "..." },
  "legalInformation": {
    "consentsToFcra": true,
    "consentsToTcpa": true,
    "fcraLanguage": "...",
    "tcpaLanguage": "..."
  },
  "consentProofInformation": {
    "consentProof": "A271FDE6-E09C-4F28-B8A0-1C2D3E4F5A6B",
    "consentProofSource": "external_jornaya"
  }
}
```

{% endcode %}
{% endtab %}

{% tab title="TrustedForm" %}
{% code expandable="true" %}

```json
{ 
  "productTypes": ["loan"], 
  "personalInformation": { ... }, 
  "loanInformation": { ... }, 
  "legalInformation": { 
    "consentsToFcra": true, 
    "consentsToTcpa": true, 
    "fcraLanguage": "...", 
    "tcpaLanguage": "..." 
  }, 
  "consentProofInformation": { 
    "consentProof": "https://cert.trustedform.com/abc123def456", 
    "consentProofSource": "external_trusted_form" 
  } 
} 
```

{% endcode %}
{% endtab %}
{% endtabs %}

### Field Reference

<table><thead><tr><th>Field</th><th width="88.375">Type</th><th width="100.203125">Required</th><th>Description</th></tr></thead><tbody><tr><td><code>consentProofInformation</code></td><td>Object</td><td>No</td><td>Consent proof container. Omit it when proof is unavailable.</td></tr><tr><td><code>consentProofInformation.consentProof</code></td><td>String</td><td>Yes, when present</td><td>Jornaya token or TrustedForm certificate URL.</td></tr><tr><td><code>consentProofInformation.consentProofSource</code></td><td>String</td><td>Yes, when present</td><td><code>external_jornaya</code> or <code>external_trusted_form</code>.</td></tr></tbody></table>

{% hint style="warning" %}
If no proof is available, submit the lead without `consentProofInformation`. Set `consentsToTcpa` to `false`, as demand partners may use proof status for TCPA-related offer eligibility.
{% endhint %}

## Installation Guides

{% tabs %}
{% tab title="Jornaya LeadiD" %}
Add the Jornaya campaign script. Replace `YOUR_CAMPAIGN_KEY` with your Jornaya campaign key.

```html
<script
  type="text/javascript"
  id="LeadiDscript_campaign"
  src="//create.lidstatic.com/campaign/YOUR_CAMPAIGN_KEY.js?snippet_version=2">
</script>
```

Add a hidden field. The tag populates it with the LeadiD token.

```html
<input id="leadid_token" name="universal_leadid" type="hidden" value="" />
```

Read this value at submission and send it as `consentProof`.
{% endtab %}

{% tab title="TrustedForm" %}
Add the TrustedForm Certify script to your form page.

{% code expandable="true" %}

```html
<script type="text/javascript">
(function() {
  var field = 'xxTrustedFormCertUrl';
  var provideReferrer = false;
  var tf = document.createElement('script');
  tf.type = 'text/javascript'; tf.async = true;
  tf.src = 'http://api.trustedform.com/trustedform.js?provide_referrer=' +
    escape(provideReferrer) + '&field=' + escape(field) + '&l=' +
    new Date().getTime() + Math.random();
  var s = document.getElementsByTagName('script')[0];
  s.parentNode.insertBefore(tf, s);
})();
</script>
```

{% endcode %}

Add a hidden field. The tag populates it with the certificate URL.

```html
<input
  type="hidden"
  id="xxTrustedFormCertUrl"
  name="xxTrustedFormCertUrl"
  value="" />
```

Read this value at submission and send it as `consentProof`.
{% endtab %}
{% endtabs %}

### TCPA Disclosure Requirements

Your form must display appropriate TCPA disclosure language. Submit the exact displayed text in `legalInformation.tcpaLanguage`.

See [Collecting User Information](/developer-center/marketplace-integrations/native-api/auto-refinancing/collecting-user-information.md) for consent and disclosure requirements.

### Troubleshooting

<table><thead><tr><th width="236.19140625">Issue</th><th>Resolution</th></tr></thead><tbody><tr><td><code>consentProof</code> is empty</td><td>Confirm the provider tag loads before submission. Check for ad blockers or script-blocking extensions.</td></tr><tr><td>API rejects <code>consentProofSource</code></td><td>Use exactly <code>external_jornaya</code> or <code>external_trusted_form</code>. Values are case-sensitive.</td></tr><tr><td>Leads do not receive TCPA-eligible offers</td><td>Set <code>consentsToTcpa</code> to <code>true</code>. Send the disclosure text in <code>tcpaLanguage</code>.</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://even-financial.gitbook.io/developer-center/marketplace-integrations/native-api/personal/jornaya-consent-capture-requirements.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
