> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didx.co.za/llms.txt
> Use this file to discover all available pages before exploring further.

# Get the picker view of a presentation.

> The picker view shows the holder which credentials in their wallet can satisfy each requirement, which they have chosen to share, and the attributes that would be disclosed. On pending presentations, the view is computed live against the current wallet (the holder's selection is refreshed if any chosen credential is no longer available). On approved/rejected presentations, a frozen snapshot of the persisted state is returned.



## OpenAPI

````yaml products/didx-me/api-reference/v1/me-wallet.json get /v3/presentations/{id}/picker
openapi: 3.0.0
info:
  version: 1.0.0
  title: Me Wallet API
  description: >2-

          
    OpenAPI documentation for Me Wallet API

          
    Following JSON:API spec https://jsonapi.org/format/ approach to response
    payload format.


    **v1 endpoints are deprecated.** See the [Migration Guide (v1 to
    v2)](migration-guide) for details.

          
     - [JSON - OpenAPI Specification](/me-wallet/api/openapi.json)
servers:
  - url: https://test.didxtech.com/me-wallet/api
security:
  - bearerAuth: []
tags:
  - name: users
    description: User info
  - name: tenants
    description: Tenant management
  - name: credentials
    description: User credential management
  - name: presentations
    description: Presentation management
  - name: org-credentials
    description: Organization endpoints — credential issuance
  - name: org-presentations
    description: Organization endpoints — presentation requests
paths:
  /v3/presentations/{id}/picker:
    get:
      tags:
        - presentations
      summary: Get the picker view of a presentation.
      description: >-
        The picker view shows the holder which credentials in their wallet can
        satisfy each requirement, which they have chosen to share, and the
        attributes that would be disclosed. On pending presentations, the view
        is computed live against the current wallet (the holder's selection is
        refreshed if any chosen credential is no longer available). On
        approved/rejected presentations, a frozen snapshot of the persisted
        state is returned.
      parameters:
        - schema:
            type: string
          required: true
          name: id
          in: path
      responses:
        '200':
          description: Picker view.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PresentationPickerApiResponse'
components:
  schemas:
    PresentationPickerApiResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/PresentationPickerDto'
        links:
          $ref: '#/components/schemas/ApiLinks'
        meta:
          $ref: '#/components/schemas/ApiMeta'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ApiError'
      required:
        - data
    PresentationPickerDto:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Identifier of the presentation this picker view belongs to.
          example: 123e4567-e89b-12d3-a456-426614174000
        requirements:
          $ref: '#/components/schemas/RequirementsDto'
        availableCredentials:
          $ref: '#/components/schemas/CredentialChoicesByQueryV3'
        selectedCredentials:
          allOf:
            - $ref: '#/components/schemas/CredentialChoicesByQueryV3'
            - description: >-
                Per verifier-defined credential query, the credentials the
                holder has chosen to share — same shape as
                `availableCredentials` (a subset of it). Always present; `{}`
                when nothing is selected. Seeded with a sensible default when
                the presentation is created; mutable via `PATCH .../picker`
                while pending. These credentials are what gets shared when the
                holder approves. Once approved/rejected this is a frozen
                snapshot taken at decision time — values stay readable even if
                the credential is later deleted. For a flat list of what will be
                shared, flatten this object:
                `Object.values(selectedCredentials).flat()`.
      required:
        - id
        - selectedCredentials
      description: >-
        The picker view of a presentation: the verifier's ask (`requirements`),
        the wallet's matching credentials (`availableCredentials`), and the
        holder's choice (`selectedCredentials`) — all keyed by the same query
        id, with the disclosed attribute values resolved inline. Live while
        pending; a frozen snapshot once approved/rejected.
    ApiLinks:
      type: object
      properties:
        self:
          type: string
          format: uri
        first:
          type: string
          format: uri
        last:
          type: string
          format: uri
        prev:
          type: string
          format: uri
        next:
          type: string
          format: uri
        related:
          type: string
          format: uri
    ApiMeta:
      type: object
      additionalProperties:
        nullable: true
    ApiError:
      type: object
      properties:
        id:
          type: string
        status:
          type: string
        code:
          type: string
        title:
          type: string
        detail:
          type: string
        source:
          type: object
          properties:
            pointer:
              type: string
            parameter:
              type: string
        meta:
          type: object
          additionalProperties:
            nullable: true
      required:
        - detail
    RequirementsDto:
      type: object
      properties:
        credentials:
          type: array
          items:
            $ref: '#/components/schemas/RequirementCredentialDto'
          description: >-
            The credential requirements being asked for. Each entry describes
            one credential the verifier wants to receive, including its accepted
            formats/types and which attributes must be disclosed.
        credentialSets:
          type: array
          items:
            $ref: '#/components/schemas/CredentialSetDto'
          description: >-
            Optional combinators expressing alternatives across `credentials`.
            For example: 'satisfy either (passport) OR (driving licence AND ID
            card)'. When omitted, every entry in `credentials` must be
            satisfied.
      required:
        - credentials
      description: >-
        What the verifier is asking for: per-credential queries (accepted
        formats, requested claims) and any 'either/or' combinators across them.
        `requirements.credentials[].id` matches the query id keys used in
        `availableCredentials` and `selectedCredentials`, so you can correlate
        the ask with the wallet's matching credentials and the holder's chosen
        ones. Present for every presentation created via v3 (v3 accepts only
        DCQL requests).
    CredentialChoicesByQueryV3:
      type: object
      additionalProperties:
        type: array
        items:
          $ref: '#/components/schemas/CredentialChoiceV3Dto'
      description: >-
        For each verifier-defined credential query, the credentials in the
        holder's wallet that can satisfy it, each with the attributes (name +
        value) it would disclose — resolved server-side, so the client never
        needs to fetch and decode the credential. The set already reflects any
        access scope restrictions applied to the caller. Present (possibly `{}`)
        on pending presentations; omitted on approved/rejected, where a live
        wallet match is no longer meaningful.
    RequirementCredentialDto:
      oneOf:
        - $ref: '#/components/schemas/SdJwtVcRequirementDto'
        - $ref: '#/components/schemas/SdJwtVcLegacyRequirementDto'
        - $ref: '#/components/schemas/MdocRequirementDto'
        - $ref: '#/components/schemas/W3cVcJsonRequirementDto'
        - $ref: '#/components/schemas/W3cLdpVcRequirementDto'
      discriminator:
        propertyName: format
        mapping:
          dc+sd-jwt:
            $ref: '#/components/schemas/SdJwtVcRequirementDto'
          vc+sd-jwt:
            $ref: '#/components/schemas/SdJwtVcLegacyRequirementDto'
          mso_mdoc:
            $ref: '#/components/schemas/MdocRequirementDto'
          jwt_vc_json:
            $ref: '#/components/schemas/W3cVcJsonRequirementDto'
          ldp_vc:
            $ref: '#/components/schemas/W3cLdpVcRequirementDto'
    CredentialSetDto:
      type: object
      properties:
        options:
          type: array
          items:
            type: array
            items:
              type: string
          description: >-
            Alternative ways to satisfy this set, in the verifier's order of
            preference. Each inner array is a list of
            `requirements.credentials[].id`s that together fulfil it; any one
            inner array fulfils the whole set. The wallet currently auto-selects
            the first option it can satisfy — letting the holder choose an
            option explicitly is not supported yet.
        required:
          type: boolean
          description: Whether this set must be satisfied. Defaults to true if omitted.
        purpose:
          anyOf:
            - type: string
            - type: object
              additionalProperties:
                nullable: true
          description: >-
            Verifier-supplied label describing why this set is requested
            (free-form; useful for the disclosure prompt).
      required:
        - options
    CredentialChoiceV3Dto:
      type: object
      properties:
        credentialId:
          type: string
          format: uuid
          description: Identifier of a credential in the holder's wallet.
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/DisclosedAttributeV3Dto'
          description: >-
            The attributes this credential would disclose for its query, with
            their resolved values.
      required:
        - credentialId
        - attributes
    SdJwtVcRequirementDto:
      type: object
      properties:
        id:
          type: string
          description: >-
            Identifier for this credential requirement (the "query id"). The
            same id keys `availableCredentials` and `selectedCredentials`,
            correlating the ask with the credentials that can answer it and the
            ones that will be shared.
        requireCryptographicHolderBinding:
          type: boolean
          description: >-
            Whether the credential must prove holder binding (key bound to the
            holder).
        claimSets:
          type: array
          items:
            type: array
            items:
              type: string
          description: >-
            Alternative attribute subsets that satisfy this credential
            requirement, in the verifier's order of preference. Each inner array
            lists `claims[].id`s that together satisfy it. If omitted, every
            entry in `claims` must be disclosed.
        format:
          type: string
          enum:
            - dc+sd-jwt
        meta:
          $ref: '#/components/schemas/SdJwtVcMetaDto'
        claims:
          type: array
          items:
            $ref: '#/components/schemas/PathClaimQueryDto'
      required:
        - id
        - format
        - meta
        - claims
    SdJwtVcLegacyRequirementDto:
      type: object
      properties:
        id:
          type: string
          description: >-
            Identifier for this credential requirement (the "query id"). The
            same id keys `availableCredentials` and `selectedCredentials`,
            correlating the ask with the credentials that can answer it and the
            ones that will be shared.
        requireCryptographicHolderBinding:
          type: boolean
          description: >-
            Whether the credential must prove holder binding (key bound to the
            holder).
        claimSets:
          type: array
          items:
            type: array
            items:
              type: string
          description: >-
            Alternative attribute subsets that satisfy this credential
            requirement, in the verifier's order of preference. Each inner array
            lists `claims[].id`s that together satisfy it. If omitted, every
            entry in `claims` must be disclosed.
        format:
          type: string
          enum:
            - vc+sd-jwt
        meta:
          $ref: '#/components/schemas/SdJwtVcMetaDto'
        claims:
          type: array
          items:
            $ref: '#/components/schemas/PathClaimQueryDto'
      required:
        - id
        - format
        - meta
        - claims
    MdocRequirementDto:
      type: object
      properties:
        id:
          type: string
          description: >-
            Identifier for this credential requirement (the "query id"). The
            same id keys `availableCredentials` and `selectedCredentials`,
            correlating the ask with the credentials that can answer it and the
            ones that will be shared.
        requireCryptographicHolderBinding:
          type: boolean
          description: >-
            Whether the credential must prove holder binding (key bound to the
            holder).
        claimSets:
          type: array
          items:
            type: array
            items:
              type: string
          description: >-
            Alternative attribute subsets that satisfy this credential
            requirement, in the verifier's order of preference. Each inner array
            lists `claims[].id`s that together satisfy it. If omitted, every
            entry in `claims` must be disclosed.
        format:
          type: string
          enum:
            - mso_mdoc
        meta:
          $ref: '#/components/schemas/MdocMetaDto'
        claims:
          type: array
          items:
            $ref: '#/components/schemas/MdocClaimQueryDto'
      required:
        - id
        - format
        - meta
        - claims
    W3cVcJsonRequirementDto:
      type: object
      properties:
        id:
          type: string
          description: >-
            Identifier for this credential requirement (the "query id"). The
            same id keys `availableCredentials` and `selectedCredentials`,
            correlating the ask with the credentials that can answer it and the
            ones that will be shared.
        requireCryptographicHolderBinding:
          type: boolean
          description: >-
            Whether the credential must prove holder binding (key bound to the
            holder).
        claimSets:
          type: array
          items:
            type: array
            items:
              type: string
          description: >-
            Alternative attribute subsets that satisfy this credential
            requirement, in the verifier's order of preference. Each inner array
            lists `claims[].id`s that together satisfy it. If omitted, every
            entry in `claims` must be disclosed.
        format:
          type: string
          enum:
            - jwt_vc_json
        meta:
          $ref: '#/components/schemas/W3cVcMetaDto'
        claims:
          type: array
          items:
            $ref: '#/components/schemas/PathClaimQueryDto'
      required:
        - id
        - format
        - meta
        - claims
    W3cLdpVcRequirementDto:
      type: object
      properties:
        id:
          type: string
          description: >-
            Identifier for this credential requirement (the "query id"). The
            same id keys `availableCredentials` and `selectedCredentials`,
            correlating the ask with the credentials that can answer it and the
            ones that will be shared.
        requireCryptographicHolderBinding:
          type: boolean
          description: >-
            Whether the credential must prove holder binding (key bound to the
            holder).
        claimSets:
          type: array
          items:
            type: array
            items:
              type: string
          description: >-
            Alternative attribute subsets that satisfy this credential
            requirement, in the verifier's order of preference. Each inner array
            lists `claims[].id`s that together satisfy it. If omitted, every
            entry in `claims` must be disclosed.
        format:
          type: string
          enum:
            - ldp_vc
        meta:
          $ref: '#/components/schemas/W3cVcMetaDto'
        claims:
          type: array
          items:
            $ref: '#/components/schemas/PathClaimQueryDto'
      required:
        - id
        - format
        - meta
        - claims
    DisclosedAttributeV3Dto:
      type: object
      properties:
        name:
          type: string
          description: >-
            The attribute's name. A top-level attribute is just its name (e.g.
            "age"). A nested attribute joins the first path segment to the
            dot-joined rest with "::" (e.g. "person::idNumber",
            "person::address.street"). For mdoc credentials this is the
            namespace and element joined with "::" (e.g.
            "org.iso.18013.5.1::given_name").
        value:
          nullable: true
          description: >-
            The attribute's value (any JSON value) as it would be — or was —
            disclosed to the verifier. Resolved live from the credential while
            the presentation is pending; frozen at approval, so the record stays
            readable even after the credential is deleted.
      required:
        - name
    SdJwtVcMetaDto:
      type: object
      properties:
        vctValues:
          type: array
          items:
            type: string
          description: >-
            Accepted Verifiable Credential Type values. The credential must
            declare one of these `vct`s.
      required:
        - vctValues
    PathClaimQueryDto:
      type: object
      properties:
        id:
          type: string
          description: >-
            Identifier for this attribute requirement. Only meaningful when
            `claimSets` references it.
        path:
          type: array
          items:
            anyOf:
              - type: string
              - type: number
              - nullable: true
          description: >-
            Path to the requested attribute within the credential. Strings
            traverse object keys, numbers traverse array indices, null matches
            any array element. Example: ["address","street"] requests
            address.street; ["nationalities",null] matches any element in the
            nationalities array.
        values:
          type: array
          items:
            anyOf:
              - type: string
              - type: number
              - type: boolean
          description: >-
            If present, the attribute's value must equal one of these. Use to
            express constraints like 'country must be NL or DE'.
      required:
        - path
    MdocMetaDto:
      type: object
      properties:
        doctypeValue:
          type: string
          description: Accepted mdoc doctype, e.g. "org.iso.18013.5.1.mDL".
      required:
        - doctypeValue
    MdocClaimQueryDto:
      type: object
      properties:
        id:
          type: string
          description: >-
            Identifier for this attribute requirement. Only meaningful when
            `claimSets` references it.
        namespace:
          type: string
          description: mdoc namespace the attribute belongs to, e.g. "org.iso.18013.5.1".
        claimName:
          type: string
          description: Attribute name within the namespace, e.g. "given_name".
        values:
          type: array
          items:
            anyOf:
              - type: string
              - type: number
              - type: boolean
          description: If present, the attribute's value must equal one of these.
        intentToRetain:
          type: boolean
          description: >-
            Whether the verifier intends to store the attribute after the
            presentation.
      required:
        - namespace
        - claimName
    W3cVcMetaDto:
      type: object
      properties:
        typeValues:
          type: array
          items:
            type: array
            items:
              type: string
          description: >-
            Accepted credential types. Each inner array is a complete type set
            the credential must satisfy; outer entries are alternatives.
      required:
        - typeValues
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````