> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developer.americanexpress.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developer.americanexpress.ferndocs.com/_mcp/server.

# Retrieve Card Users' details

GET https://api.qasb2s.americanexpress.com/commercial/v1/card_on_demand/bulkcardusersnotifications/{notificationId}

Returns the details of a Card Users' status updated notification.

Reference: https://developer.americanexpress.ferndocs.com/payment-services/card-on-demand/api-reference/card-users-bulk-get-notifications

## Authentication

- `Authorization` header (bearer token, required) — OAuth 2.0 client credentials. Exchange your API key and secret for a bearer token, then send it as `Authorization: Bearer <token>`.

## Servers

- `https://api.qasb2s.americanexpress.com/commercial/v1/card_on_demand` (Sandbox, default)
- `https://api.americanexpress.com/commercial/v1/card_on_demand` (Production)

## Request

### Path parameters

- `notificationId` (string, required) — The unique ID for the notificationId.

## Response

### 200

Successful operation

- `notificationId` (string, required) — The ID of the notification.
- `timeOfNotification` (string, required) — The timestamp of the notification in ISO 8601. The format is: yyyy-MM-ddThh:mm:ss+00:00.
- `notificationType` (enum, required) — The type of the Card Users' notification.
  - Allowed values: `CARD_USERS_PROCESSED`
- `referenceId` (string, required) — A unique identifier for each request to create Card Users in bulk (i.e., when the request has more than one Card User object). This ID is included in the API response for the POST request to help match the webhook notification with the API request.
- `cardUsers` (BulkcardusersnotificationsNotificationIdGetResponsesContentApplicationJsonSchemaCardUsers, required)

## Types

### BulkcardusersnotificationsNotificationIdGetResponsesContentApplicationJsonSchemaCardUsers

- `createdRecords` (list of BulkcardusersnotificationsNotificationIdGetResponsesContentApplicationJsonSchemaCardUsersCreatedRecordsItems, optional) — An array of successfully created records with their status.
- `failedRecords` (list of BulkcardusersnotificationsNotificationIdGetResponsesContentApplicationJsonSchemaCardUsersFailedRecordsItems, optional) — An array of failed records.

### BulkcardusersnotificationsNotificationIdGetResponsesContentApplicationJsonSchemaCardUsersCreatedRecordsItems

- `cardUserId` (string, required) — A unique ID that is created for the Card User.
- `status` (enum, required) — The status of the Card User. A Card User may have any of the following statuses: - ACTIVATED indicates that the Card User has been successfully verified and can be assigned Virtual Cards. - VERIFICATION_PENDING indicates that the Card User is under review and additional information is required to complete the Card User's verification. - VERIFICATION_FAILED indicates that American Express was unable to successfully verify the Card User, and hence Virtual Cards cannot be assigned to the User. - DEACTIVATED indicates that the Card User was deactivated by the Buyer and cannot be assigned Virtual Cards.
  - Allowed values: `ACTIVATED`, `VERIFICATION_PENDING`, `VERIFICATION_FAILED`
- `emailAddress` (string, required) — The email address.

### BulkcardusersnotificationsNotificationIdGetResponsesContentApplicationJsonSchemaCardUsersFailedRecordsItems

- `emailAddress` (string, required) — The email address.
- `failureReason` (string, optional) — The reason of failure for a failed record.

## Examples

**Response**

```json
{
  "notificationId": "NT1569277026178N9OPfrrqQ7F5HGmX0xFRE",
  "timeOfNotification": "2022-12-05T18:10:10+00:00",
  "notificationType": "CARD_USERS_PROCESSED",
  "referenceId": "4c695-25c6-480b-ab62-8720b4c9f",
  "cardUsers": {
    "createdRecords": [
      {
        "cardUserId": "123456",
        "status": "ACTIVATED",
        "emailAddress": "someone@example.com"
      }
    ],
    "failedRecords": [
      {
        "emailAddress": "someone@example.com",
        "failureReason": "An error occurred while creating a User."
      }
    ]
  }
}
```

**SDK Code**

```python cardUsersBulkGetNotifications_example
import requests

url = "https://api.qasb2s.americanexpress.com/commercial/v1/card_on_demand/bulkcardusersnotifications/notificationId"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript cardUsersBulkGetNotifications_example
const url = 'https://api.qasb2s.americanexpress.com/commercial/v1/card_on_demand/bulkcardusersnotifications/notificationId';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go cardUsersBulkGetNotifications_example
package main

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

func main() {

	url := "https://api.qasb2s.americanexpress.com/commercial/v1/card_on_demand/bulkcardusersnotifications/notificationId"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby cardUsersBulkGetNotifications_example
require 'uri'
require 'net/http'

url = URI("https://api.qasb2s.americanexpress.com/commercial/v1/card_on_demand/bulkcardusersnotifications/notificationId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

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

```java cardUsersBulkGetNotifications_example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.qasb2s.americanexpress.com/commercial/v1/card_on_demand/bulkcardusersnotifications/notificationId")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php cardUsersBulkGetNotifications_example
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.qasb2s.americanexpress.com/commercial/v1/card_on_demand/bulkcardusersnotifications/notificationId', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp cardUsersBulkGetNotifications_example
using RestSharp;

var client = new RestClient("https://api.qasb2s.americanexpress.com/commercial/v1/card_on_demand/bulkcardusersnotifications/notificationId");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift cardUsersBulkGetNotifications_example
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.qasb2s.americanexpress.com/commercial/v1/card_on_demand/bulkcardusersnotifications/notificationId")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```