# Proofs

A consent proof is a file serving as a proof of the consent of a user. It can be a signature, a form, etc. that gets attached to a consent event.

The /consents/proofs endpoint of the API exposes the proofs of consent managed by Didomi for your organizations. For a full reference of the endpoint and the resources that it returns, visit <https://api.didomi.io/docs/>.

## Get a proof

To retrieve a proof from an existing proof ID, send a GET `/consents/proofs` request.

**Example**

```javascript
GET /consents/proofs/c1cda26362828b69266512052b97cb3729e3b052e4ade47c0a1e3383defe73c7.png?organization_id={organization_id}
```

The proof will be returned as a base64-encoded data URI along with its ID and size:

**Example response**

```javascript
{
  "id": "c1cda26362828b69266512052b97cb3729e3b052e4ade47c0a1e3383defe73c7.png",
  "file": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==",
  "size": 123
}
```

[See the API documentation for more details on this endpoint](https://api.didomi.io/docs/#/consents%2Fproofs/get_consents_proofs__id_)

## Upload a proof

{% hint style="info" %}
Proofs can be uploaded as part of a consent event. You will usually want to upload proofs that way rather than directly through this endpoint.
{% endhint %}

To upload a proof, send a `POST /consents/proofs` request with the file to upload as a [base64-encoded data URI](https://en.wikipedia.org/wiki/Data_URI_scheme) in the `proof` property of the JSON body.

Example:

```javascript
POST /consents/proofs?organization_id={organization_id}

BODY
{
  "file": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="
}
```

Files must be smaller than 15mb when encoded in base64 and their type must be one of the following formats: PDF, PNG, JPG, GIF, DOCX, DOC, MSG.

[See the API documentation for more details on this endpoint](https://api.didomi.io/docs/#/consents%2Fproofs/post_consents_proofs)


---

# Agent Instructions: 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:

```
GET https://developers.didomi.io/api-and-platform/consents/proofs.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
