Skip to main content

Overview

After presenting the request to the user, poll this endpoint to check the status of the presentation and retrieve the verified credential data once the user responds.

Endpoint

GET https://test.didxtech.com/me-creds/api/presentations/{id}

Request

curl -X GET "https://test.didxtech.com/me-creds/api/presentations/{presentation_id}" \
  -H "Authorization: Bearer <access_token>"
Replace {presentation_id} with the id returned in Step 2.

Response

HTTP 200 OK
{
  "data": {
    "id": "cmbhsgi6c00cls60120oyb8tl",
    "createdAt": "2025-06-04T10:12:20.101Z",
    "updatedAt": "2025-06-04T10:12:20.101Z",
    "status": "requested",
    "error": null,
    "presentationTemplateId": "cma2nw2vd00sos601irn14wt1",
    "credentials": [
      {
        "isValid": true,
        "name": "Identity",
        "type": "https://metadata.paradym.id/types/pHXnPey2Uu-identity",
        "attributes": {
          "studentId": "STU2024001234",
          "fullName": "John Doe",
          "enrollmentDate": "2024-09-01",
          "degreeProgram": "Computer Science"
        },
        "issues": []
      }
    ],
    "expiresAt": "2025-07-04T10:12:20.088Z",
    "authorizationRequestUri": "https://paradym.id/invitation?request_uri=...",
    "authorizationRequestQrUri": "https://paradym.id/invitation?request_uri=...&qr=true"
  }
}

Status Values

StatusDescription
requestedWaiting for the user to respond
verifiedUser has successfully presented their credential
rejectedUser declined the request
expiredRequest expired before the user responded

Credential Validation Fields

FieldDescription
isValidtrue if the credential has been cryptographically verified and hasn’t been tampered with
attributesThe verified data the user chose to share
issuesArray of any validation issues found (empty if credential is valid)

Polling Strategy

The presentation status won’t change instantly — the user needs time to respond. Poll this endpoint periodically (e.g. every 2–3 seconds) until the status changes from requested.
Consider using Webhooks instead of polling — they’ll notify your application automatically when the user responds.

Checking Validity

Always check both status === "verified" and credentials[].isValid === true before trusting the presented data. The isValid field confirms that:
  • The credential hasn’t been tampered with
  • The issuer’s decentralized identifier (DID) is legitimate
  • The credential is cryptographically authentic
The verification workflow is complete! Use the attributes from the response to process the verified user data in your application.