> 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 Authorization details

GET https://api.qasb2s.americanexpress.com/commercial/v1/card_on_demand/authorizationnotifications

Returns the details of an Authorization occurred notification.

Reference: https://developer.americanexpress.ferndocs.com/payment-services/card-on-demand/api-reference/get-authorization-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)

## Response

### 200

Successful operation

- `notificationId` (string, optional) — The ID of the notification.
- `eventDescription` (string, optional) — The description of the Authorization notification.
- `notificationType` (enum, optional) — The type of the Authorization notification.
  - Allowed values: `SUCCESSFUL_AUTH`, `DECLINED_AUTH`
- `timeOfNotification` (string, optional) — The timestamp of the notification in International Organization for Standardization (ISO) 8601 format yyyy-MM-ddThh:mm:ss+00:00.
- `cardId` (string, optional) — A unique ID assigned to the Card.
- `accountId` (string, optional) — A unique ID that is created for the Account.
- `cardReferenceId` (string, optional) — A unique ID that can be assigned by the Buyer resource to each of the Cards requested. For instance, some Buyers use invoice numbers or employee codes to help match Cards within their systems. Only accepts alphanumeric characters and hyphens ( - ).
- `authorizationDetails` (AuthorizationnotificationsGetResponsesContentApplicationJsonSchemaAuthorizationDetails, optional)

## Types

### AuthorizationnotificationsGetResponsesContentApplicationJsonSchemaAuthorizationDetails

- `authorizationId` (string, optional) — A unique ID assigned for every Authorization which may be used to link the Merchant Authorizations to the transactions.
- `authorizationStatus` (string, optional) — The status of an Authorization, whether it was approved or declined.
- `authorizationAmount` (string, optional) — The net amount authorized by the Supplier. The amount cannot be more than the balance on the Card and is controlled by the latest domain controls applied on the Card. In cases of credits, the amount will be represented as a negative value.
- `authorizationCurrency` (enum, optional) — The Authorization Currency is the currency authorized by the Supplier.
  - Allowed values: `USD`
- `authorizationTimestamp` (string, optional) — The timestamp of when the Supplier tried to authorize the amount on the Card in ISO 8601 format yyyy-MM-ddThh:mm:ss+00:00.
- `authorizationDeclineReason` (string, optional) — The reason for which an Authorization on the Card was declined. 'Virtual Account Number' is referring to the Card Resource.
- `lastFive` (string, optional) — The last five digits of the on-demand Card on which the Authorization occurred.
- `merchantNumber` (string, optional) — The account number assigned to the Supplier within American Express.
- `merchantName` (string, optional) — The Merchant's name linked to the Supplier's Merchant Number within American Express.
- `merchantCity` (string, optional) — The city associated with the Supplier's Merchant Number within American Express.
- `merchantState` (string, optional) — The state associated with the Supplier's Merchant Number within American Express.
- `merchantCountry` (string, optional) — The country associated with the Supplier's Merchant Number within American Express.
- `digitalWallet` (string, optional) — This field indicates if the transaction was made via a digital wallet. The possible values can be Samsung Pay, Google Pay, Apple Pay or Not applicable (if digital wallet was not used).

## Examples

**Response**

```json
{
  "notificationId": "NT1686271606173B8lH4y1i9OfPrPSz3Tgey",
  "eventDescription": "Authorization successful.",
  "notificationType": "SUCCESSFUL_AUTH",
  "timeOfNotification": "2022-12-05T18:10:10+00:00",
  "cardId": "CAEQd4zBEYrPi56",
  "accountId": "CR6gVOF5QgCqunZ",
  "cardReferenceId": "PO12345-AB7890",
  "authorizationDetails": {
    "authorizationId": "85345",
    "authorizationStatus": "APPROVED",
    "authorizationAmount": "200.00",
    "authorizationCurrency": "USD",
    "authorizationTimestamp": "2022-12-05T18:10:10+00:00",
    "merchantNumber": "8906067845",
    "merchantName": "ABCD",
    "merchantCity": "PHOENIX",
    "merchantState": "AZ",
    "merchantCountry": "US",
    "digitalWallet": "Apple Pay"
  }
}
```

**SDK Code**

```python getAuthorizationNotifications_example
import requests

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

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

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

print(response.json())
```

```javascript getAuthorizationNotifications_example
const url = 'https://api.qasb2s.americanexpress.com/commercial/v1/card_on_demand/authorizationnotifications';
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 getAuthorizationNotifications_example
package main

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

func main() {

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

	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 getAuthorizationNotifications_example
require 'uri'
require 'net/http'

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

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 getAuthorizationNotifications_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/authorizationnotifications")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php getAuthorizationNotifications_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/authorizationnotifications', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

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

```csharp getAuthorizationNotifications_example
using RestSharp;

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

```swift getAuthorizationNotifications_example
import Foundation

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.qasb2s.americanexpress.com/commercial/v1/card_on_demand/authorizationnotifications")! 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()
```