---
title: Read One User Credential Wallets
description: Use the GET {{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/credentials/{{credentialID}}/provisionedCredentials request to return all of the digital wallets provisioned with the specified credential for the specified user.
component: pingone-api
page_id: pingone-api:credentials:user-credentials/read-one-user-credential-wallets
canonical_url: https://developer.pingidentity.com/pingone-api/credentials/user-credentials/read-one-user-credential-wallets.html
section_ids:
  prerequisites: Prerequisites
  headers: Headers
  example-request: Example Request
  example-response: Example Response
---

# Read One User Credential Wallets

##

```none
GET {{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/credentials/{{credentialID}}/provisionedCredentials
```

Use the `GET {{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/credentials/{{credentialID}}/provisionedCredentials` request to return all of the digital wallets provisioned with the specified credential for the specified user.

> **Collapse: Related topics**
>
> This request complements [Read One Digital Wallet Credentials](../digital-wallets/read-one-digital-wallet-credentials.html). This returns all digital wallets associated with the specified user credential, the latter returns all user credentials associated with the specified digital wallet.

### Prerequisites

* [Create a user](../../platform/users/users-1/create-user.html) to get a `userID` for the endpoint. Refer also to [Users](../../platform/users.html), especially [User operations](../../platform/users/users-1.html).

* [Create a User Credential](create-user-credential.html) to get a `credentialID` for the endpoint. Refer also to [User Credentials](../user-credentials.html).

### Headers

Authorization      Bearer {{accessToken}}

##

### Example Request

* cURL

* C#

* Go

* HTTP

* Java

* jQuery

* NodeJS

* Python

* PHP

* Ruby

* Swift

```shell
curl --location --globoff '{{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/credentials/{{credentialID}}/provisionedCredentials' \
--header 'Authorization: Bearer {{accessToken}}'
```

```csharp
var options = new RestClientOptions("{{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/credentials/{{credentialID}}/provisionedCredentials")
{
  MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("", Method.Get);
request.AddHeader("Authorization", "Bearer {{accessToken}}");
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
```

```golang
package main

import (
  "fmt"
  "net/http"
  "io"
)

func main() {

  url := "{{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/credentials/{{credentialID}}/provisionedCredentials"
  method := "GET"

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, nil)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Authorization", "Bearer {{accessToken}}")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := io.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
```

```http
GET /v1/environments/{{envID}}/users/{{userID}}/credentials/{{credentialID}}/provisionedCredentials HTTP/1.1
Host: {{apiPath}}
Authorization: Bearer {{accessToken}}
```

```java
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
  .url("{{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/credentials/{{credentialID}}/provisionedCredentials")
  .method("GET", body)
  .addHeader("Authorization", "Bearer {{accessToken}}")
  .build();
Response response = client.newCall(request).execute();
```

```javascript
var settings = {
  "url": "{{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/credentials/{{credentialID}}/provisionedCredentials",
  "method": "GET",
  "timeout": 0,
  "headers": {
    "Authorization": "Bearer {{accessToken}}"
  },
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
```

```javascript
var request = require('request');
var options = {
  'method': 'GET',
  'url': '{{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/credentials/{{credentialID}}/provisionedCredentials',
  'headers': {
    'Authorization': 'Bearer {{accessToken}}'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});
```

```python
import requests

url = "{{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/credentials/{{credentialID}}/provisionedCredentials"

payload = {}
headers = {
  'Authorization': 'Bearer {{accessToken}}'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
```

```php
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('{{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/credentials/{{credentialID}}/provisionedCredentials');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'Authorization' => 'Bearer {{accessToken}}'
));
try {
  $response = $request->send();
  if ($response->getStatus() == 200) {
    echo $response->getBody();
  }
  else {
    echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
    $response->getReasonPhrase();
  }
}
catch(HTTP_Request2_Exception $e) {
  echo 'Error: ' . $e->getMessage();
}
```

```ruby
require "uri"
require "net/http"

url = URI("{{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/credentials/{{credentialID}}/provisionedCredentials")

http = Net::HTTP.new(url.host, url.port);
request = Net::HTTP::Get.new(url)
request["Authorization"] = "Bearer {{accessToken}}"

response = http.request(request)
puts response.read_body
```

```swift
var request = URLRequest(url: URL(string: "{{apiPath}}/v1/environments/{{envID}}/users/{{userID}}/credentials/{{credentialID}}/provisionedCredentials")!,timeoutInterval: Double.infinity)
request.addValue("Bearer {{accessToken}}", forHTTPHeaderField: "Authorization")

request.httpMethod = "GET"

let task = URLSession.shared.dataTask(with: request) { data, response, error in
  guard let data = data else {
    print(String(describing: error))
    return
  }
  print(String(data: data, encoding: .utf8)!)
}

task.resume()
```

### Example Response

200 OK

```json
{
    "_links": {
        "self": {
            "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/users/517a2143-00eb-4f37-9940-2379d7748246/credentials/d474547d-eea7-46b5-bb5c-26d335491da8/provisionedCredentials"
        }
    },
    "_embedded": {
        "provisionedCredentials": [
            {
                "_links": {
                    "self": {
                        "href": "https://api.pingone.com/v1/environments/abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6/users/517a2143-00eb-4f37-9940-2379d7748246/credentials/d474547d-eea7-46b5-bb5c-26d335491da8/provisionedCredentials/0d95a86a-9788-4989-8f22-4ce7d38a325c"
                    }
                },
                "id": "0d95a86a-9788-4989-8f22-4ce7d38a325c",
                "createdAt": "2023-02-21T21:46:08.875Z",
                "environment": {
                    "id": "abfba8f6-49eb-49f5-a5d9-80ad5c98f9f6"
                },
                "user": {
                    "id": "517a2143-00eb-4f37-9940-2379d7748246"
                },
                "credential": {
                    "id": "d474547d-eea7-46b5-bb5c-26d335491da8"
                },
                "status": "CREATED",
                "digitalWallet": {
                    "id": "2b9dc46e-6c20-4fb9-bd81-e6c4bb6e97f4"
                },
                "claimReference": {
                    "id": "9b4c2c1a-7ad5-483d-ae01-549cd825c606",
                    "version": 2,
                    "issuer": "909905a8-dac0-4830-85cc-7f63aa60e56a3Un24ngYzvfgG_d9lgbR_A",
                    "subject": "56f0204a-efd4-473f-af17-4289776257e71bIiOyxJdHY1A5aOz-hlqg",
                    "holder": "56f0204a-efd4-473f-af17-4289776257e71bIiOyxJdHY1A5aOz-hlqg",
                    "createDate": "2023-02-21T21:46:08.797Z",
                    "dataJson": "eyJraWQiOiI0MjgxNTQ2ZC0zMzE5LTQ2NDMtOWQ0MC04NGI0MTMxMDAxMDUiLCJhbGciOiJSUzI1NiJ9.eyJlTl9odDd3N0hOQVRwd0FtMjJjX3J5TjFWTm5keEJ4QVVNZXVJdldSdjFRIjoiSktmdVFRWXpfZEIwLVJkeWNDZHhfUzFPZHF2YlhrSFpQQlRKM3V1TElnMlgtRmNUVkJvS0F4eU1aYU90VGg5bVQzU0dIMW1DWEZhT0JtLUJHUkhwYldmUzBEVkZSYWVxUkxOdjhpQThHOHN4ejNudDcwSFpfalRjS0tjOVNHVWNBeHNQNGtTM2hTYVdHUjM2YzVLRzBvQlZGbVU0YlRrdnIxNDhQVXRuaHJVekNOb3BEcWUxVnA1MTZCbnV1ZE91THZmanhRYXhfdXhaeEJiOU1VcDhEMlhmMG1LVGJEUHRYRURxeXRrX045OW9tLTA1ME5IRkRmSEM3MWRxM1JfeXRiMGVuUXRidWFfME9ZX0ZVZW02amdUcmFyUEJ5ZGhqeWtEbjBDM2tocUpQRFR6S25IczBaRTlhUzd0dWZ6cnFkdmttRXBEY3ktTFNfbHhja3IzWEV3Iiwic3ViamVjdCI6IjU2ZjAyMDRhLWVmZDQtNDczZi1hZjE3LTQyODk3NzYyNTdlNyIsImhvbGRlciI6IjU2ZjAyMDRhLWVmZDQtNDczZi1hZjE3LTQyODk3NzYyNTdlNyIsImstSFYzSTBZWGRXSmNzamVjN29VWEtYUU9EYTRRdlRZaml4Y1BOLUdxODgiOiJKWl9tNmpfN2NBVE1jcE0teWFrLUVaT25QWTFLNWFzMGt6N0JoaThGZ0ZwSThDdXp0d3RkaVpyLVhZWGctck9iZS1iUElKNHlic1dmNWdlZ1NhdGxISXZFUjlOdGR6VGVNWXdpOUxZdF96SDh6b3ZKVDVDMGk4Uk5xbUF5LWtLSFVBR081bzBaa3FweHIwbXlOanI2OHNQeFZHWWNCcXEtc3JqRGZFWGIyNjJNUHRURk43ZUhWaXRXUG1pT3hJb2Jhd212T3lVVU0yLUIwemszNWhWUDhDdVdLVXN4OWtmNnBKZzAzV0tTeFV0Nm4wWURwbWpqZ0NROWpMY1F1X2dWNVM3aHBFa052aHV1SjlfcHNEUkd5UGtEa0pLVzE4ZVBDTXM5Mk0xek9pNlFPcXB5RmVXcEZfcVZkdzdwWUZlb1Vta3lGRS1YS0JYX2l6MWlfaFBOX0EiLCJNV19USlUtekFkcWNQSllWb3M5TDhuemR5RWdNemRaNGJTSnFTbnlQSklrIjoiVHI4bTAtd1NYNEVQdHd5a2JrTTZIZloyTGhibmtTXzk5TmZKZjhUcWxTX2xRZ3dxVmtPR3hBbERFZjBwbk5vMkNSM1ZiTmxJekxlUmxRbnRtd3JMNXotMDBnZk9UdnlJTHhadEVaWllXRmJ1Qk5FVEJRWHNwOVdtcGNaOER4aXZMcUhsSzBmLTBhM3lEOEFOSkZwbFhQOGl6WjBfbWdQV0p0YTRSTkREa29OWkFFWkFLWnNfYkVYOVVqcnhObldLeXYxNmhURk0zVV9NZ0dDNEswMndacnJISHBIZFhwSS1LX21lMlY2WXZDY203Slg3WHM2bGpvOXhuTXVvMEdZR2lJNDRXMkRFeWtzaWFDNGdybzVCdXJmYllNN0NKVnl1c3Y3OTZ2STQ2RzFQbkQ1ZDU2MWNPeFdlSi1PQVgtWW5QUTJKWXNvT21yaTZENXdDSHdCR0l3IiwidmVyc2lvbiI6IjIiLCJpc3N1ZXIiOiI5MDk5MDVhOC1kYWMwLTQ4MzAtODVjYy03ZjYzYWE2MGU1NmEifQ.OO30SSORmYGcqedf4v6QB-Bo7eryOcUD3iIl39Q8zPeUowoeX1riwjKkJwL1_ulh7LAIEcCDnw08zmjluQ7-dEASVsC78U2ubeilpcNKR5dHKa_fOILRbHppqIX0T5kBMxqJSgUo_gPKK2QostlnUvdTrt21RPCrvBpkQq_BnXLogX7X4QwS1j_Af9csewwqJu4mYSKA4fRunomg4HWtyHnuXkzkGxff4CNQkMj8lpZaHArIlxCs2q9y6_JH6XITo_9Ofz2bZx2ydAta7fgLb__FG3q49KANDusqL5JK_aNPxd3PityMC0s7Gn5U1TTZ4j1ABAsfDdKPKE1g7yPT4g",
                    "dataSignature": "OO30SSORmYGcqedf4v6QB-Bo7eryOcUD3iIl39Q8zPeUowoeX1riwjKkJwL1_ulh7LAIEcCDnw08zmjluQ7-dEASVsC78U2ubeilpcNKR5dHKa_fOILRbHppqIX0T5kBMxqJSgUo_gPKK2QostlnUvdTrt21RPCrvBpkQq_BnXLogX7X4QwS1j_Af9csewwqJu4mYSKA4fRunomg4HWtyHnuXkzkGxff4CNQkMj8lpZaHArIlxCs2q9y6_JH6XITo_9Ofz2bZx2ydAta7fgLb__FG3q49KANDusqL5JK_aNPxd3PityMC0s7Gn5U1TTZ4j1ABAsfDdKPKE1g7yPT4g",
                    "dataHash": "OMoUWb4l-TxynfjVVa2xynRsXVL4hSAgWLvYb1m1LmM",
                    "partitionId": "P1"
                },
                "expiresAt": "2023-02-21T21:46:23.589Z"
            }
        ]
    },
    "size": 1
}
```
