# Proofs

## Retrieve the list of presentations for proof requests

<mark style="color:green;">`GET`</mark> `/api/v1/proof/presentations`

Retrieves the list of presentations for proof requests. This can be used to check the status or details of proofs.

**Headers**

| Name          | Value                    |
| ------------- | ------------------------ |
| Content-Type  | `application/json`       |
| Authorization | `apikey = {Alice's key}` |

**Query param**

| Name   | Type   | Description                         |
| ------ | ------ | ----------------------------------- |
| `thid` | string | the thid of the presentation to get |

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
  "data": [
        {
            "recordId": "61faa8cb-7bc9-4c41-a0e5-7c10d81dd98f",
            "thid": "87323d88-51ec-424f-882a-a1f2655888db",
            "credentialFormat": "JWT",
            "validityPeriod": 3600,
            "claims": {
                "uid": "12345",
                "name": "Stable Diffusion SDXL"
            },
            "automaticIssuance": false,
            "createdAt": "2024-10-03T15:28:01.776806Z",
            "updatedAt": "2024-10-04T14:42:27.262001Z",
            "role": "Issuer",
            "protocolState": "RequestReceived",
            "metaRetries": 5
        }
    ]
}
```

{% endtab %}

{% tab title="401" %}

```json
{
}
```

{% endtab %}
{% endtabs %}

## Retrieve the first matching presentation

<mark style="color:green;">`GET`</mark> `/api/v1/proof/presentation/match/{claim_type}`

Get the first presentation request (or proof) that matches a type (point of view of Holder)

**Headers**

| Name          | Value                  |
| ------------- | ---------------------- |
| Content-Type  | `application/json`     |
| Authorization | `apikey = {Bob's key}` |

**params**

| Name         | Type   | Description                        |
| ------------ | ------ | ---------------------------------- |
| `claim_type` | string | a type of claim (e.g.: "identity") |

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
 "data": [
        {
            "recordId": "61faa8cb-7bc9-4c41-a0e5-7c10d81dd98f",
            "thid": "87323d88-51ec-424f-882a-a1f2655888db",
            "credentialFormat": "JWT",
            "validityPeriod": 3600,
            "claims": {
                "uid": "12345",
                "name": "Stable Diffusion SDXL"
            },
            "automaticIssuance": false,
            "createdAt": "2024-10-03T15:28:01.776806Z",
            "updatedAt": "2024-10-04T14:42:27.262001Z",
            "role": "Issuer",
            "protocolState": "RequestReceived",
            "metaRetries": 5
        }
    ]
}
```

{% endtab %}

{% tab title="401" %}

```json
{
}
```

{% endtab %}
{% endtabs %}

## Create a VC presentation request&#x20;

from verifier to holder

<mark style="color:green;">`POST`</mark> `/api/v1/proof/presentation`

**Headers**

| Name          | Value                    |
| ------------- | ------------------------ |
| Content-Type  | `application/json`       |
| Authorization | `apikey = {Alice's key}` |

**Body**

| Name         | Type   | Description                                                                                                 |
| ------------ | ------ | ----------------------------------------------------------------------------------------------------------- |
| `connection` | string | the connectionId between verifier and prover (compulsory)                                                   |
| `challenge`  | string | claim\_type that verifier wants to ask for (holder will have to provide a record creds of same claim\_type) |
| `domain`     | string | domain where this VC applies to (compulsory / point of view of verifier)                                    |

**Response**

{% tabs %}
{% tab title="201" %}

```json
{
 "data": {
        "presentationId": "ad0a1eba-b9bd-41f4-a9ee-2268343119ae",
        "thid": "52120ed0-b919-460f-9b02-7dcaccaca2d5",
        "role": "Verifier",
        "status": "RequestPending",
        "proofs": [],
        "data": [],
        "requestData": [
            "{\n  \"options\" : {\n    \"challenge\" : \"Prove your identity\",\n    \"domain\" : \"localhost:3022\"\n  },\n  \"presentation_definition\" : {\n    \"id\" : \"893faa5c-fd61-4aff-818f-c888c509154c\",\n    \"input_descriptors\" : [\n    ],\n    \"name\" : null,\n    \"purpose\" : null,\n    \"format\" : null\n  }\n}"
        ],
        "connectionId": "add6d381-1180-484c-bc40-178d362346c0",
        "metaRetries": 5
    }
}
```

{% endtab %}

{% tab title="401" %}

```json
{
}
```

{% endtab %}
{% endtabs %}

## Accept a presentation request&#x20;

From holder

<mark style="color:green;">`POST`</mark> `/api/v1/proof/presentation/accept`

**Headers**

| Name          | Value                  |
| ------------- | ---------------------- |
| Content-Type  | `application/json`     |
| Authorization | `apikey = {Bob's key}` |

**Body**

| Name             | Type   | Description                                                                |
| ---------------- | ------ | -------------------------------------------------------------------------- |
| `presentationId` | string | the id of the presentation from holder point of view (compulsory)          |
| `recordId`       | string | <p>the recordId of the VC that the holder will provide as proof</p><p></p> |

**Response**

{% tabs %}
{% tab title="201" %}

```json
{
"data": {
        "presentationId": "46a13394-be95-4868-983d-c96e2826511e",
        "thid": "52120ed0-b919-460f-9b02-7dcaccaca2d5",
        "role": "Prover",
        "status": "PresentationPending",
        "proofs": [],
        "data": [],
        "requestData": [
            "{\n  \"options\" : {\n    \"domain\" : \"localhost:3022\",\n    \"challenge\" : \"Prove your identity\"\n  },\n  \"presentation_definition\" : {\n    \"format\" : null,\n    \"name\" : null,\n    \"purpose\" : null,\n    \"id\" : \"893faa5c-fd61-4aff-818f-c888c509154c\",\n    \"input_descriptors\" : [\n    ]\n  }\n}"
        ],
        "metaRetries": 5
    }
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "error": "Invalid request"
}
```

{% endtab %}
{% endtabs %}

## Obtain the final Proof

point of view of Verifier

<mark style="color:green;">`PATCH`</mark> `/api/v1/proof/presentation/{id}`

**Headers**

| Name          | Value                    |
| ------------- | ------------------------ |
| Content-Type  | `application/json`       |
| Authorization | `apikey = {Alice's key}` |

**Body**

| Name             | Type   | Description                                                         |
| ---------------- | ------ | ------------------------------------------------------------------- |
| `presentationId` | string | the id of the presentation from verifier point of view (compulsory) |

**Response**

{% tabs %}
{% tab title="200" %}

```json
{
 "data": {
        "presentationId": "ad0a1eba-b9bd-41f4-a9ee-2268343119ae",
        "thid": "52120ed0-b919-460f-9b02-7dcaccaca2d5",
        "role": "Verifier",
        "status": "PresentationAccepted",
        "proofs": [],
        "data": [
            "eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NksifQ.eyJpc3MiOiJkaWQ6cHJpc206Y2E2MDJmZjY1ZDgwMjFiYjRiNzdjYmNlNmRmNjkxN2UwYjA2MmQ3M2Y4YzVmYjdkMGQ2YzNjZGVkNTg3NGQ4ODpDbm9LZUJJNUNnVnJaWGt0TWhBRVNpNEtDWE5sWTNBeU5UWnJNUkloQXpyM2ItSkwwbzJCZl9CSWtOM0VNdHJ6OThEZTlaSE5WdU1xRHFBQ0oyZzRFanNLQjIxaGMzUmxjakFRQVVvdUNnbHpaV053TWpVMmF6RVNJUU52WUtxZVN5bWd1QjJQeEt0Um9UV2xxVXNPREFrck9xYWEwTVhjOVNnN2ZBIiwiYXVkIjoibG9jYWxob3N0OjMwMjIiLCJ2cCI6eyJ0eXBlIjpbIlZlcmlmaWFibGVQcmVzZW50YXRpb24iXSwiQGNvbnRleHQiOlsiaHR0cHM6XC9cL3d3dy53My5vcmdcLzIwMThcL3ByZXNlbnRhdGlvbnNcL3YxIl0sInZlcmlmaWFibGVDcmVkZW50aWFsIjpbImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSkZVekkxTmtzaWZRLmV5SnBjM01pT2lKa2FXUTZjSEpwYzIwNllUTmxZemN4WVRNNVptSTFZbVE0TjJReE9UaGtZV05oTVRjNU56Vm1Oak5qWmpWaU9UVTJOemMwTkRkbE5UYzNOV0U1WldSaFpqUmpOV0l3TkRRNFlqcERibTlMWlVKSk5VTm5WbkphV0d0MFRWSkJSVk5wTkV0RFdFNXNXVE5CZVU1VVduSk5Va2xvUVdjNVRDMWtVMmxMVUVwQ1ZqUllPRkIzWWtaUE5tc3phbUpUZUZaNGNWTnBUMlpyU21SV056ZElZV2hGYW5OTFFqSXhhR016VW14amFrRlJRVlZ2ZFVObmJIcGFWMDUzVFdwVk1tRjZSVk5KVVUxcGIwdEtObWh6VmtKeFJYZENVbXR6ZUc5cWVYZFBhSHAyUkZveVNUVmlWVXB2UmpScWFGTkhRVGhCSWl3aWMzVmlJam9pWkdsa09uQnlhWE50T21OaE5qQXlabVkyTldRNE1ESXhZbUkwWWpjM1kySmpaVFprWmpZNU1UZGxNR0l3TmpKa056Tm1PR00xWm1JM1pEQmtObU16WTJSbFpEVTROelJrT0RnNlEyNXZTMlZDU1RWRFoxWnlXbGhyZEUxb1FVVlRhVFJMUTFoT2JGa3pRWGxPVkZweVRWSkphRUY2Y2pOaUxVcE1NRzh5UW1aZlFrbHJUak5GVFhSeWVqazRSR1U1V2toT1ZuVk5jVVJ4UVVOS01tYzBSV3B6UzBJeU1XaGpNMUpzWTJwQlVVRlZiM1ZEWjJ4NldsZE9kMDFxVlRKaGVrVlRTVkZPZGxsTGNXVlRlVzFuZFVJeVVIaExkRkp2VkZkc2NWVnpUMFJCYTNKUGNXRmhNRTFZWXpsVFp6ZG1RU0lzSW01aVppSTZNVGN5T0RBMU16RXdOU3dpWlhod0lqb3hOekk0TURVMk56QTFMQ0oyWXlJNmV5SmpjbVZrWlc1MGFXRnNVM1ZpYW1WamRDSTZleUoxYVdRaU9pSXhNak0wTlNJc0ltNWhiV1VpT2lKVGRHRmliR1VnUkdsbVpuVnphVzl1SUZORVdFd2lMQ0pwWkNJNkltUnBaRHB3Y21semJUcGpZVFl3TW1abU5qVmtPREF5TVdKaU5HSTNOMk5pWTJVMlpHWTJPVEUzWlRCaU1EWXlaRGN6Wmpoak5XWmlOMlF3WkRaak0yTmtaV1ExT0RjMFpEZzRPa051YjB0bFFrazFRMmRXY2xwWWEzUk5hRUZGVTJrMFMwTllUbXhaTTBGNVRsUmFjazFTU1doQmVuSXpZaTFLVERCdk1rSm1YMEpKYTA0elJVMTBjbm81T0VSbE9WcElUbFoxVFhGRWNVRkRTakpuTkVWcWMwdENNakZvWXpOU2JHTnFRVkZCVlc5MVEyZHNlbHBYVG5kTmFsVXlZWHBGVTBsUlRuWlpTM0ZsVTNsdFozVkNNbEI0UzNSU2IxUlhiSEZWYzA5RVFXdHlUM0ZoWVRCTldHTTVVMmMzWmtFaWZTd2lkSGx3WlNJNld5SldaWEpwWm1saFlteGxRM0psWkdWdWRHbGhiQ0pkTENKQVkyOXVkR1Y0ZENJNld5Sm9kSFJ3Y3pwY0wxd3ZkM2QzTG5jekxtOXlaMXd2TWpBeE9Gd3ZZM0psWkdWdWRHbGhiSE5jTDNZeElsMHNJbWx6YzNWbGNpSTZJbVJwWkRwd2NtbHpiVHBoTTJWak56RmhNemxtWWpWaVpEZzNaREU1T0dSaFkyRXhOemszTldZMk0yTm1OV0k1TlRZM056UTBOMlUxTnpjMVlUbGxaR0ZtTkdNMVlqQTBORGhpT2tOdWIwdGxRa2sxUTJkV2NscFlhM1JOVWtGRlUyazBTME5ZVG14Wk0wRjVUbFJhY2sxU1NXaEJaemxNTFdSVGFVdFFTa0pXTkZnNFVIZGlSazgyYXpOcVlsTjRWbmh4VTJsUFptdEtaRlkzTjBoaGFFVnFjMHRDTWpGb1l6TlNiR05xUVZGQlZXOTFRMmRzZWxwWFRuZE5hbFV5WVhwRlUwbFJUV2x2UzBvMmFITldRbkZGZDBKU2EzTjRiMnA1ZDA5b2VuWkVXakpKTldKVlNtOUdOR3BvVTBkQk9FRWlMQ0pqY21Wa1pXNTBhV0ZzVTNSaGRIVnpJanA3SW5OMFlYUjFjMUIxY25CdmMyVWlPaUpTWlhadlkyRjBhVzl1SWl3aWMzUmhkSFZ6VEdsemRFbHVaR1Y0SWpveU55d2lhV1FpT2lKb2RIUndPbHd2WEM5b2IzTjBMbVJ2WTJ0bGNpNXBiblJsY201aGJEbzRNVEF3WEM5amJHOTFaQzFoWjJWdWRGd3ZZM0psWkdWdWRHbGhiQzF6ZEdGMGRYTmNMems1TlRZNU1qZzRMV00yTUdVdE5HVXdaaTFoTkRCbUxUQTFOREl6TlRCbFpXUTFZaU15TnlJc0luUjVjR1VpT2lKVGRHRjBkWE5NYVhOME1qQXlNVVZ1ZEhKNUlpd2ljM1JoZEhWelRHbHpkRU55WldSbGJuUnBZV3dpT2lKb2RIUndPbHd2WEM5b2IzTjBMbVJ2WTJ0bGNpNXBiblJsY201aGJEbzRNVEF3WEM5amJHOTFaQzFoWjJWdWRGd3ZZM0psWkdWdWRHbGhiQzF6ZEdGMGRYTmNMems1TlRZNU1qZzRMV00yTUdVdE5HVXdaaTFoTkRCbUxUQTFOREl6TlRCbFpXUTFZaUo5ZlgwLnhyUkJDUHFNa0M4eHdFcHgzOEZUNDZlZ3RoOFFTblJTU0NVSTBBR1lpYVF2YTdiOGtVc0c2c3dvT2N3X1dOLWI3RWp1b25GVW9FWFVzVXFHaU5DMlBnIl19LCJub25jZSI6IlByb3ZlIHlvdXIgaWRlbnRpdHkifQ.B0OX2ncM2ilx7bv7lhkVV_qGXyHvsUzKnk_gKp9ChIYrzDjZG8cyHnQiyND0MNQ-x1jexf5LbDafSqhNueLwnw"
        ],
        "requestData": [
            "{\n  \"options\" : {\n    \"challenge\" : \"Prove your identity\",\n    \"domain\" : \"localhost:3022\"\n  },\n  \"presentation_definition\" : {\n    \"id\" : \"893faa5c-fd61-4aff-818f-c888c509154c\",\n    \"input_descriptors\" : [\n    ],\n    \"name\" : null,\n    \"purpose\" : null,\n    \"format\" : null\n  }\n}"
        ],
        "connectionId": "add6d381-1180-484c-bc40-178d362346c0",
        "metaRetries": 5
    }
}
```

{% endtab %}

{% tab title="401" %}

```json
{
}
```

{% endtab %}
{% endtabs %}

## Request a Presentation, accept it, and issue a Proof

<mark style="color:green;">`POST`</mark> `/api/v1/proof/presentation/custodial`

will do a full request + accept + issue proof (custodial mode)

**Headers**

| Name          | Value              |
| ------------- | ------------------ |
| Content-Type  | `application/json` |
| Authorization | `None`             |

**Body**

| Name          | Type    | Description                                                                                  |
| ------------- | ------- | -------------------------------------------------------------------------------------------- |
| `connection`  | string  | the connectionId between verifier and prover (compulsory)                                    |
| `key_peer1`   | string  | apikey of peer 1 (verifier)                                                                  |
| `key_peer2`   | string  | apikey of peer 2 (prover)                                                                    |
| `claim_type`  | string  | the claim type that the Credential must contain for a match (eg : "identity")                |
| `domain`      | string  | domain where this Credential applies                                                         |
| `noDuplicate` | boolean | no duplicate of issuance of same type                                                        |
| `thid`        | string  | to force the use of a specific credential in the proof (otherwise, first available is taken) |

**Response**

{% tabs %}
{% tab title="201" %}

```json
{
 "data": {
        "wasPresented": true,
        "wasAccepted": true,
        "thid": "8f8dc48c-6730-4f9b-811d-984f54c50968",
        "proof": "eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NksifQ.eyJpc3MiOiJkaWQ6cHJpc206Y2E2MDJmZjY1ZDgwMjFiYjRiNzdjYmNlNmRmNjkxN2UwYjA2MmQ3M2Y4YzVmYjdkMGQ2YzNjZGVkNTg3NGQ4ODpDbm9LZUJJNUNnVnJaWGt0TWhBRVNpNEtDWE5sWTNBeU5UWnJNUkloQXpyM2ItSkwwbzJCZl9CSWtOM0VNdHJ6OThEZTlaSE5WdU1xRHFBQ0oyZzRFanNLQjIxaGMzUmxjakFRQVVvdUNnbHpaV053TWpVMmF6RVNJUU52WUtxZVN5bWd1QjJQeEt0Um9UV2xxVXNPREFrck9xYWEwTVhjOVNnN2ZBIiwiYXVkIjoidGVzdC5jb20iLCJ2cCI6eyJ0eXBlIjpbIlZlcmlmaWFibGVQcmVzZW50YXRpb24iXSwiQGNvbnRleHQiOlsiaHR0cHM6XC9cL3d3dy53My5vcmdcLzIwMThcL3ByZXNlbnRhdGlvbnNcL3YxIl0sInZlcmlmaWFibGVDcmVkZW50aWFsIjpbImV5SjBlWEFpT2lKS1YxUWlMQ0poYkdjaU9pSkZVekkxTmtzaWZRLmV5SnBjM01pT2lKa2FXUTZjSEpwYzIwNllUTmxZemN4WVRNNVptSTFZbVE0TjJReE9UaGtZV05oTVRjNU56Vm1Oak5qWmpWaU9UVTJOemMwTkRkbE5UYzNOV0U1WldSaFpqUmpOV0l3TkRRNFlqcERibTlMWlVKSk5VTm5WbkphV0d0MFRWSkJSVk5wTkV0RFdFNXNXVE5CZVU1VVduSk5Va2xvUVdjNVRDMWtVMmxMVUVwQ1ZqUllPRkIzWWtaUE5tc3phbUpUZUZaNGNWTnBUMlpyU21SV056ZElZV2hGYW5OTFFqSXhhR016VW14amFrRlJRVlZ2ZFVObmJIcGFWMDUzVFdwVk1tRjZSVk5KVVUxcGIwdEtObWh6VmtKeFJYZENVbXR6ZUc5cWVYZFBhSHAyUkZveVNUVmlWVXB2UmpScWFGTkhRVGhCSWl3aWMzVmlJam9pWkdsa09uQnlhWE50T21OaE5qQXlabVkyTldRNE1ESXhZbUkwWWpjM1kySmpaVFprWmpZNU1UZGxNR0l3TmpKa056Tm1PR00xWm1JM1pEQmtObU16WTJSbFpEVTROelJrT0RnNlEyNXZTMlZDU1RWRFoxWnlXbGhyZEUxb1FVVlRhVFJMUTFoT2JGa3pRWGxPVkZweVRWSkphRUY2Y2pOaUxVcE1NRzh5UW1aZlFrbHJUak5GVFhSeWVqazRSR1U1V2toT1ZuVk5jVVJ4UVVOS01tYzBSV3B6UzBJeU1XaGpNMUpzWTJwQlVVRlZiM1ZEWjJ4NldsZE9kMDFxVlRKaGVrVlRTVkZPZGxsTGNXVlRlVzFuZFVJeVVIaExkRkp2VkZkc2NWVnpUMFJCYTNKUGNXRmhNRTFZWXpsVFp6ZG1RU0lzSW01aVppSTZNVGN5T0RBMU1qSTFOaXdpWlhod0lqb3hOek13TmpRME1qVTJMQ0oyWXlJNmV5SmpjbVZrWlc1MGFXRnNVM1ZpYW1WamRDSTZleUpqYkdGcGJWOTBlWEJsSWpvaWRHVnpkQ0lzSW1sa0lqb2laR2xrT25CeWFYTnRPbU5oTmpBeVptWTJOV1E0TURJeFltSTBZamMzWTJKalpUWmtaalk1TVRkbE1HSXdOakprTnpObU9HTTFabUkzWkRCa05tTXpZMlJsWkRVNE56UmtPRGc2UTI1dlMyVkNTVFZEWjFaeVdsaHJkRTFvUVVWVGFUUkxRMWhPYkZrelFYbE9WRnB5VFZKSmFFRjZjak5pTFVwTU1HOHlRbVpmUWtsclRqTkZUWFJ5ZWprNFJHVTVXa2hPVm5WTmNVUnhRVU5LTW1jMFJXcHpTMEl5TVdoak0xSnNZMnBCVVVGVmIzVkRaMng2V2xkT2QwMXFWVEpoZWtWVFNWRk9kbGxMY1dWVGVXMW5kVUl5VUhoTGRGSnZWRmRzY1ZWelQwUkJhM0pQY1dGaE1FMVlZemxUWnpkbVFTSXNJbTlpYW1WamRDSTZJbUVnYzJsdGNHeGxJSFJsYzNRaWZTd2lkSGx3WlNJNld5SldaWEpwWm1saFlteGxRM0psWkdWdWRHbGhiQ0pkTENKQVkyOXVkR1Y0ZENJNld5Sm9kSFJ3Y3pwY0wxd3ZkM2QzTG5jekxtOXlaMXd2TWpBeE9Gd3ZZM0psWkdWdWRHbGhiSE5jTDNZeElsMHNJbWx6YzNWbGNpSTZJbVJwWkRwd2NtbHpiVHBoTTJWak56RmhNemxtWWpWaVpEZzNaREU1T0dSaFkyRXhOemszTldZMk0yTm1OV0k1TlRZM056UTBOMlUxTnpjMVlUbGxaR0ZtTkdNMVlqQTBORGhpT2tOdWIwdGxRa2sxUTJkV2NscFlhM1JOVWtGRlUyazBTME5ZVG14Wk0wRjVUbFJhY2sxU1NXaEJaemxNTFdSVGFVdFFTa0pXTkZnNFVIZGlSazgyYXpOcVlsTjRWbmh4VTJsUFptdEtaRlkzTjBoaGFFVnFjMHRDTWpGb1l6TlNiR05xUVZGQlZXOTFRMmRzZWxwWFRuZE5hbFV5WVhwRlUwbFJUV2x2UzBvMmFITldRbkZGZDBKU2EzTjRiMnA1ZDA5b2VuWkVXakpKTldKVlNtOUdOR3BvVTBkQk9FRWlMQ0pqY21Wa1pXNTBhV0ZzVTNSaGRIVnpJanA3SW5OMFlYUjFjMUIxY25CdmMyVWlPaUpTWlhadlkyRjBhVzl1SWl3aWMzUmhkSFZ6VEdsemRFbHVaR1Y0SWpveU5pd2lhV1FpT2lKb2RIUndPbHd2WEM5b2IzTjBMbVJ2WTJ0bGNpNXBiblJsY201aGJEbzRNVEF3WEM5amJHOTFaQzFoWjJWdWRGd3ZZM0psWkdWdWRHbGhiQzF6ZEdGMGRYTmNMems1TlRZNU1qZzRMV00yTUdVdE5HVXdaaTFoTkRCbUxUQTFOREl6TlRCbFpXUTFZaU15TmlJc0luUjVjR1VpT2lKVGRHRjBkWE5NYVhOME1qQXlNVVZ1ZEhKNUlpd2ljM1JoZEhWelRHbHpkRU55WldSbGJuUnBZV3dpT2lKb2RIUndPbHd2WEM5b2IzTjBMbVJ2WTJ0bGNpNXBiblJsY201aGJEbzRNVEF3WEM5amJHOTFaQzFoWjJWdWRGd3ZZM0psWkdWdWRHbGhiQzF6ZEdGMGRYTmNMems1TlRZNU1qZzRMV00yTUdVdE5HVXdaaTFoTkRCbUxUQTFOREl6TlRCbFpXUTFZaUo5ZlgwLm5sNUZwemZSdWdRQWVObHVDQjNXa3Z5SE03MlJQWDVRNXdzTmJOTGpaRlhUUzNFY3RPbWRNZ25ZdGFVaDJZd0JmdlhGTEFULVhWYlQzcERxckdLOExRIl19LCJub25jZSI6InRlc3QifQ.mu9on4xCvzUOZ52l1HPyJGOmNfb7S0XLzVtYbGoMkHwgf7rqZrrFIJZfDUtNvAjTg7RMSo_gsaPP2CDnNfFd2g",
        "claim": {
            "claim_type": "test",
            "object": "a simple test"
        }
    }
}
```

{% endtab %}

{% tab title="401" %}

```json
{
}
```

{% endtab %}
{% endtabs %}


---

# 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://incubiq.gitbook.io/opensourceais/identity-agent-lib/apis/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.
