# Providers Retrieval
source: https://developer.mastercard.com/open-finance-europe/documentation/licensed/aiia-enterprise/tutorials/providers-retrieval-tutorial/index.md

This guide walks you through multiple provider calls you could use as part of your integration.

1. The first step allows you to retrieve a list of providers enabled for your application. You can then use a `providerId` when making subsequent calls.

2. Retrieve a specific provider details.

3. Retrieve the payment methods and schemes allowed for a specific provider.

#### Prerequisites: {#prerequisites}

* You must have created an App. Make sure you have recorded the `CLIENT_ID` and `CLIENT_SECRET`.
* This tutorial uses `curl` in order to send requests and receive responses.

### Step 1 - Retrieve All Providers​ {#step-1---retrieve-all-providers}

Call the Providers Retrieval API to get a list of providers.

API Reference: `GET /v1/providers`

#### Request {#request}

With the `CLIENT_ID` and `CLIENT_SECRET`, use `curl` to send the request.

```shell
curl -X GET \
  https://api.nordicapigateway.com/v1/providers \
  -H 'X-Client-Id: <CLIENT_ID>' \
  -H 'X-Client-Secret: <CLIENT_SECRET>' 
```

#### Response {#response}

If the request is successful, the response will be received:

```json
[
  {
    "id": "DemoBank",
    "name": "Demo Bank",
    "countryCode": "DK",
    "status": {
      "syncMode": "Full",
      "tryAgain": "2021-12-24T00:00:00",
      "updated": "2021-12-24T00:00:00",
      "message": "Maintenance"
    },
    "presentation": {
      "priority": 1,
      "color": "#13C081",
      "logos": {
        "large": {
          "png": "https://cdn.nordicapigateway.com/providers/DemoBank.png",
          "svg": "https://cdn.nordicapigateway.com/providers/DemoBank.svg"
        }
      }
    },
    "paymentMethods": {
      "domestic": {
        "executionTypes": [
          "Normal",
          "Instant",
          "SpecificDate"
        ]
      },
      "international": {
        "executionTypes": [
          "Normal",
          "Instant",
          "SpecificDate"
        ]
      },
      "inpaymentForm": {
        "executionTypes": [
          "Normal",
          "Instant",
          "SpecificDate"
        ]
      },
      "sepa": {
        "executionTypes": [
          "Normal",
          "Instant",
          "SpecificDate"
        ]
      }
    },
    "audiences": [
      "Private",
      "Business"
    ],
    "paymentAuthorization": {
      "paymentsAllowedPerAuthorization": 100
    },
    "paymentReconciliation": {
      "reconciliationEnabled": true
    }
  }
]
```

Please note that each provider will have its own `id` which we will use in subsequent calls.

### Step 2 - Retrieve a Specific Provider​ {#step-2---retrieve-a-specific-provider}

Retrieve a specific provider details using its `providerId` (retrieved from the first step).

API Reference: `GET /v1/providers/{providerId}`

#### Request {#request-1}

With the `CLIENT_ID`, `CLIENT_SECRET` and `PROVIDER_ID`, use `curl` to send the request.

```shell
curl -X GET \
  https://api.nordicapigateway.com/v1/providers/<PROVIDER_ID> \
  -H 'X-Client-Id: <CLIENT_ID>' \
  -H 'X-Client-Secret: <CLIENT_SECRET>' 
```

#### Response {#response-1}

If the request is successful, the response will be received:

```json
{
  "id": "DemoBank",
  "name": "Demo Bank",
  "countryCode": "DK",
  "status": {
    "syncMode": "Full",
    "tryAgain": "2021-12-24T00:00:00",
    "updated": "2021-12-24T00:00:00",
    "message": "Maintenance"
  },
  "presentation": {
    "priority": 1,
    "color": "#13C081",
    "logos": {
      "large": {
        "png": "https://cdn.nordicapigateway.com/providers/DemoBank.png",
        "svg": "https://cdn.nordicapigateway.com/providers/DemoBank.svg"
      }
    }
  },
  "paymentMethods": {
    "domestic": {
      "executionTypes": [
        "Normal",
        "Instant",
        "SpecificDate"
      ]
    },
    "international": {
      "executionTypes": [
        "Normal",
        "Instant",
        "SpecificDate"
      ]
    },
    "inpaymentForm": {
      "executionTypes": [
        "Normal",
        "Instant",
        "SpecificDate"
      ]
    },
    "sepa": {
      "executionTypes": [
        "Normal",
        "Instant",
        "SpecificDate"
      ]
    }
  },
  "audiences": [
    "Private",
    "Business"
  ],
  "paymentAuthorization": {
    "paymentsAllowedPerAuthorization": 100
  },
  "paymentReconciliation": {
    "reconciliationEnabled": true
  }
}
```

### Step 3 - Retrieve Provider Payment Methods​ {#step-3---retrieve-provider-payment-methods}

Retrieve supported payment methods and schemes for a specific provider using its `providerId` (retrieved from the first step).

API Reference: `GET /v1/providers/{providerId}/payment-methods`

#### Request {#request-2}

With the `CLIENT_ID`, `CLIENT_SECRET` and `PROVIDER_ID`, use `curl` to send the request.

```shell
curl -X GET \
  https://api.nordicapigateway.com/v1/providers/<PROVIDER_ID>/payment-methods \
  -H 'X-Client-Id: <CLIENT_ID>' \
  -H 'X-Client-Secret: <CLIENT_SECRET>' 
```

#### Response {#response-2}

If the request is successful, the response will be received:

```json
{
  "property1": {
    "executionTypes": [
      "Normal"
    ],
    "properties": {
      "amount.currency": {
        "possibleValues": [
          "DKK"
        ]
      }
    },
    "rules": {
      "r0": {
        "type": "ExactlyOne",
        "fields": [
          "destination.bban",
          "destination.ownAccount"
        ]
      }
    }
  },
  "property2": {
    "executionTypes": [
      "Normal"
    ],
    "properties": {
      "amount.currency": {
        "possibleValues": [
          "DKK"
        ]
      }
    },
    "rules": {
      "r0": {
        "type": "ExactlyOne",
        "fields": [
          "destination.bban",
          "destination.ownAccount"
        ]
      }
    }
  }
}
```

