> For the complete documentation index, see [llms.txt](https://docs.toolkit.equs.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.toolkit.equs.ai/docs/presentation/verification-result.md).

# Verification Result

Read the state of a presentation request

Every presentation request leaves a **verification session** - a record of what you asked for and what became of it. It's created when you generate the request, before the Holder has done anything, and it survives whether they answer or not.

The record is thin by design. It holds the request, the Verifier, the status, and what was asked for.

### Reading a session

Read one by its `uriId`, or page through all of them.

{% hint style="info" icon="rectangle-api" %}
All calls mentioned on this page are on the [Control API](https://docs.toolkit.equs.ai/docs/presentation/pages/MvAvsnLQU3ER2hOIIDU2#id-2.4.1-apis).
{% endhint %}

## Get Verification Session

> Fetches Verification Session identified by id

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Control API Documentation","version":"0.1.2"},"tags":[{"name":"Verification","description":""}],"security":[{"sp":[]},{"tenant":[]},{"sp":[]}],"components":{"securitySchemes":{"sp":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Service Provider. Token of the Service Provider client in the `agents` realm, with no `tenantId` claim. Authorize one bearer scheme at a time."},"tenant":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Tenant. Token of a Tenant machine client or of a Tenant portal user, carrying the `tenantId` claim. Authorize one bearer scheme at a time."}},"schemas":{"VerificationSessionResponse":{"type":"object","properties":{"uriId":{"type":"string","description":"Verification session unique ID"},"requestId":{"type":"string","description":"Request unique ID"},"redirectUri":{"type":"object","description":"URI the Wallet redirects to once verification response is shared."},"status":{"type":"string","description":"Current lifecycle status of the verification session.","enum":["pending","accepted","verified","declined","failed","compromised","neglected"]},"verifierId":{"type":"string","description":"Verifier unique ID"},"useAttempts":{"type":"number","description":"Number of times this verification session was used."},"createdDate":{"type":"string","description":"Date and time the verification session was created."},"updatedDate":{"type":"string","description":"Date and time the verification session was last updated."},"dcApi":{"type":"boolean","description":"Whether this verification session uses the DC API flow."},"dcqlQuery":{"description":"DCQL query items describing the credentials requested from the wallet.","type":"array","items":{"$ref":"#/components/schemas/DcqlQueryItem"}}},"required":["uriId","requestId","status","verifierId","useAttempts","createdDate","updatedDate","dcApi","dcqlQuery"]},"DcqlQueryItem":{"type":"object","properties":{"meta":{"type":"object","description":"Metadata constraints applied to the requested credential, such as allowed VC types."},"claims":{"description":"Claims requested from the credential matched by this DCQL query item.","type":"array","items":{"$ref":"#/components/schemas/ClaimsData"}}}},"ClaimsData":{"type":"object","properties":{"path":{"description":"Claim path being queried, as a sequence of keys.","type":"array","items":{"type":"string"}},"values":{"description":"Values the claim must match, as set on the VP schema.","type":"array","items":{"type":"string"}}},"required":["path","values"]}}},"paths":{"/api/v1/verification/sessions/{id}":{"get":{"description":"Fetches Verification Session identified by id","operationId":"VerificationSessionController_getVerificationSession_api/v1","parameters":[{"name":"id","required":true,"in":"path","description":"Verification session unique ID","schema":{"type":"string"}}],"responses":{"200":{"description":"When Verification Session i retrieved successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationSessionResponse"}}}},"404":{"description":"When no Verification Session with such id exists for this user."}},"summary":"Get Verification Session","tags":["Verification"]}}}}
```

## Get Verification Sessions

> Fetches All Verification Sessions

```json
{"openapi":"3.0.0","info":{"title":"EqusDTK Control API Documentation","version":"0.1.2"},"tags":[{"name":"Verification","description":""}],"security":[{"sp":[]},{"tenant":[]},{"sp":[]}],"components":{"securitySchemes":{"sp":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Service Provider. Token of the Service Provider client in the `agents` realm, with no `tenantId` claim. Authorize one bearer scheme at a time."},"tenant":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Tenant. Token of a Tenant machine client or of a Tenant portal user, carrying the `tenantId` claim. Authorize one bearer scheme at a time."}},"schemas":{"GetVerificationSessionsResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/GetVerificationSessionsResponseItem"}},"pagination":{"$ref":"#/components/schemas/PaginationData"}},"required":["items","pagination"]},"GetVerificationSessionsResponseItem":{"type":"object","properties":{"uriId":{"type":"string","description":"Verification session unique ID"},"requestId":{"type":"string","description":"Request unique ID"},"redirectUri":{"type":"object","description":"URI the Wallet redirects to once verification response is shared."},"status":{"type":"string","description":"Current lifecycle status of the verification session.","enum":["pending","accepted","verified","declined","failed","compromised","neglected"]},"verifierId":{"type":"string","description":"Verifier unique ID"},"useAttempts":{"type":"number","description":"Number of times this verification session was used."},"createdDate":{"type":"string","description":"Date and time the verification session was created."},"updatedDate":{"type":"string","description":"Date and time the verification session was last updated."}},"required":["uriId","requestId","status","verifierId","useAttempts","createdDate","updatedDate"]},"PaginationData":{"type":"object","properties":{"page":{"type":"number"},"limit":{"type":"number"}},"required":["page","limit"]}}},"paths":{"/api/v1/verification/sessions":{"get":{"description":"Fetches All Verification Sessions","operationId":"VerificationSessionController_getVerificationSessions_api/v1","parameters":[{"name":"page","required":false,"in":"query","schema":{"default":1,"type":"number"}},{"name":"limit","required":false,"in":"query","schema":{"default":10,"type":"number"}}],"responses":{"200":{"description":"When Verification Session are retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetVerificationSessionsResponse"}}}}},"summary":"Get Verification Sessions","tags":["Verification"]}}}}
```

### How a session moves

```mermaid
stateDiagram-v2
    direction LR
    [*] --> pending: you create the request
    pending --> accepted: the wallet answers
    pending --> verified: DC API - verify direct
    accepted --> verified: you verify it, and it passes
    accepted --> compromised: too many wrong tx codes
    accepted --> neglected: never collected, expired
    pending --> declined: the Holder refuses
    accepted --> failed: the token is invalid
    pending --> failed: the wallet can't answer
```


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.toolkit.equs.ai/docs/presentation/verification-result.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
