# API reference
source: https://developer.mastercard.com/mastercard-buyer-payment-agent/documentation/api-reference/index.md

Note: For more information on how to generate a client library using OpenAPI, refer to the [Using OpenAPI](https://developer.mastercard.com/mastercard-buyer-payment-agent/documentation/tutorials_guides/tutorials/connect-to-the-bps-using-open-api/index.md) section. All inbound endpoints are secured using OAuth 1.0a. All outbound endpoints are secured using Mutual TLS (MTLS).

## Environment Domains {#environment-domains}

### Mastercard Commercial Direct Payments {#mastercard-commercial-direct-payments}

* MTF
* Production

```MTF
https://sandbox.api.mastercard.com/commercial/payments
```

```Production
https://api.mastercard.com/commercial/payments
```

### Mastercard Track Business Payment Service {#mastercard-track-business-payment-service}

* MTF
* Production

```MTF
https://sandbox.api.mastercard.com/track/bps
```

```Production
https://api.mastercard.com/track/bps
```

## APIs {#apis}

Note: All dates and times are listed in Universal Time Coordinated (UTC).

|                  API service                  |                                                          Yaml Reference                                                          |
|-----------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------|
| Mastercard Commercial Direct Payments API     | [cdp-bpa-pi.yaml](https://static.developer.mastercard.com/content/mastercard-buyer-payment-agent/swagger/cdp-bpa-pi.yaml) (78KB) |
| Mastercard Track Business Payment Service API | [bps-bpa.yaml](https://static.developer.mastercard.com/content/mastercard-buyer-payment-agent/swagger/bps-bpa.yaml) (125KB)      |

## Mastercard Commercial Direct Payments {#mastercard-commercial-direct-payments-1}

Alert: The Mastercard Commercial Direct Payments assigned ICA is used for agent identification in all service requests for core operations. A customer service provider can use their API credentials to transact on behalf of a customer by providing their customer's ICA number in the request. Direct payment agents can still transact by entering their own ICA when sending a transaction to Mastercard Commercial Direct Payments.

### Enhanced Card Payment Initiation {#enhanced-card-payment-initiation}


API Reference: `POST /debtor-agents/{ica}/payment-initiations`


API Reference: `GET /debtor-agents/{ica}/payment-initiations/{instruction_identification}`


API Reference: `PUT /debtor-agents/{ica}/payment-initiations/{instruction_identification}`

### Event Notifications {#event-notifications}


API Reference: `POST /debtor-agents/notifications`

## Manage Buyer Registration {#manage-buyer-registration}


API Reference: `POST /buyer-payment-agents/{ica}/buyers`


API Reference: `GET /buyer-payment-agents/{ica}/buyers/{id}`


API Reference: `GET /buyer-payment-agents/{ica}/buyers`


API Reference: `PUT /buyer-payment-agents/{ica}/buyers/{id}`


API Reference: `PUT /buyer-payment-agents/{ica}/buyers/{id}/payment-profiles/{buyer_id}`


API Reference: `DELETE /buyer-payment-agents/{ica}/buyers/{id}/payment-profiles/{buyer_id}`


API Reference: `DELETE /buyer-payment-agents/{ica}/buyers/{id}`

## Suppliers {#suppliers}


API Reference: `GET /suppliers/{supplier_id}`

## Business Payment Service {#business-payment-service}

### Payment Instructions {#payment-instructions}

Alert: The Mastercard Business Payment Service assigned ICA is used for agent identification in all service requests for core operations. A customer service provider can use their API credentials to transact on behalf of a customer by providing their customer's ICA number in the request. Direct payment agents can still transact by entering their own ICA when sending a transaction to Mastercard Track Business Payment Service.
API Reference: `POST /buyer-payment-agents/{ica}/payment-instructions`


API Reference: `PUT /buyer-payment-agents/{ica}/payment-instructions/{transaction_id}/card-details`


API Reference: `PUT /buyer-payment-agents/{ica}/payment-instructions/{transaction_id}`


API Reference: `GET /buyer-payment-agents/{ica}/payment-instructions/{transaction_id}`

### Linking {#linking}


API Reference: `POST /buyer-payment-agents/{ica}/buyer-payment-profiles/{bpa_profile}/supplier-links`


API Reference: `DELETE /buyer-payment-agents/{ica}/buyer-payment-profiles/{bpa_profile}/supplier-links/{spa_profile}`


API Reference: `GET /buyer-payment-agents/{ica}/buyer-supplier-links`


API Reference: `GET /buyer-payment-agents/{ica}/payment-profiles/{bpa_profile}/suppliers/{spa_reg}/payment-preferences`


API Reference: `GET /buyer-payment-agents/{ica}/payment-profiles/{bpa_profile}/suppliers/{spa_reg}/payment-profiles/{spa_profile}/payment-preferences`

### Event Notifications {#event-notifications-1}


API Reference: `POST /buyer-payment-agents/notifications`

