---
title: "Fabrick Pass Access"
description: "The API Access Package allows FPPs to get information on workflow status and final users with their balances, transactions and consents."
url: "https://docs.fabrick.com/en/payment-institution/open-banking-and-psd2/pass/products/ais-common/aisp-common-access-api/"
language: "en"
---

# Fabrick Pass Access

The API Access Package allows FPPs to get information on workflow status and final users with their balances, transactions and consents.

The API services described below are valid for both the Standard AIS Pass product and the One Shot AIS Pass product.

### Get the ASPSPs list

To view the list of available banks, you can invoke the **POST Search Banks** API.

For PISP

```text
POST /v4.0/initiate/lite-banks/search
```

and for AISP

```text
POST / v4.0/access/lite-banks/search
```

Each element of the list will contain information relating to the bank and useful for completing a graphical interface, such as the *labelName*.

It is also possible to obtain the details of a single bank through the **GET Get Bank** API:

for the PIS product

```text
GET /v4.0/initiate/banks/{{bankId}}
```

and for the AIS product

```text
GET /v4.0/access/banks/{{bankId}}
```

For details refer to the document "Bank details".

### Search Users

This endpoint allows you to have the list of all users who have signed up to a service with the FPP. In the request the FPP can insert a series of filters as parameters or not put any parameters.

Request

```text
POST api/fabrick/pass/v4.0/access/users/search

{
    "status": "OK",
    "payload": {
        "list": [
            {
                "userCompanyCode": "USER_CODE",
                "userId": "900002870",
                "companyId": "22",
                "hasActiveContract": true,
                "hasActiveAuthorizations": true
            },
            {
                "userCompanyCode": "nathan.romano@fabrick.com",
                "userId": "900002871",
                "companyId": "22",
                "hasActiveContract": true,
                "hasActiveAuthorizations": true
            }
        ]
    }
}
```

Filters with which the FPP can search for users

- *companyUserCode* code with which the FPP uniquely identifies each of its customers and thanks to which it will be possible to map the user's information in Fabrick;
- *hasActiveContracts*, boolean that identifies se an FPP contract is active (true) or inactive (false) - *hasActiveAuthorizations*: boolean that identifies whether a user has authorization for the active (true) or inactive (false) account - *companyId*, FPP identification code - *userId*, code that uniquely identifies a user within Fabrick

> The "user" object is created within Fabrick's databses at the end of the acknowledgment phase during the onBoarding process: the **POST SearchUser** service will not return a specific user se he has not yet completed the necessary steps.

If the FPP wants to get all users including those who have an inactive contract, they can enter a query parameter *allUsers = true* in the endpoint

```text
POST api/fabrick/pass/v4.0/access/users/search?allUsers=true
{
    "status": "OK",
    "payload": {
        "list": [
            {
                "userCompanyCode": "USER_CODE",
                "userId": "900002870",
                "companyId": "22",
                "hasActiveContract": true,
                "hasActiveAuthorizations": true
            },
            {
                "userCompanyCode": "nathan.romano@fabrick.com",
                "userId": "900002871",
                "companyId": "22",
                "hasActiveContract": true,
                "hasActiveAuthorizations": true
            }
        ]
    }
}
```

### Get the customers accounts list

To get the list of a customer's accounts it will be sufficient to invoke the **GET Accounts** API:

```text
GET /v4.0/access/users/{userId}/accounts
```

In response you will get the list of the user's accounts, each element of the array contains all the information relating to the account itself as shown in the example below, obtained by invoking the **GET Get Account** API

```text
GET /v4.0/access/users/{userId}/accounts/{accountId}
```

For details and an example of response, please refer to the *Accounts Details*.

### Get customers balances

To get balances FPP will have to invoke **GET Get Account Balances**. FPP can get the balances information for a single account

```text
GET /v4.0/access/users/{userId}/accounts/{accountId}/balances
```

or for all the accounts of a single user

```text
GET api/fabrick/pass/v4.0/access/user/{{userId}}/account-balances
```

For details and an example of response, please refer to the *Balances Details*.

### Get customers transactions (deprecated)

To get transactions FPP will have to invoke **GET Get Account Transactions**

```text
GET /v4.0/access/users/{userId}/accounts/{accountId}/transactions
```

Obviously it is possible to filter by date:

```text
GET /v4.0/access/users/{userId}/accounts/{accountId}/transactions?from=2021-02-05&to=2021-05-05
```

If the *from* and *to* parameters are not indicated, the movements of the last 90 days will be recovered.

It is possible to get all the list of transactions of a specific user

```text
GET api/fabrick/pass/v4.0/access/user/{{userId}}/account-transactions
```

For details and an example of response, please refer to the *Transactions Details*.

### Get PFM Movements

Fabrick Pass has a service to get enriched customer transactions thanks to Fabrick PFM.

```text
GET /v4.0/access/users/{{userId}}/accounts/movements/transactions?accountId=401&fromDate=1617573600000&toDate=1617583600000
```

In this case se you want to filter by date the timestamp is in ms.

It is possibile to add different accountId:

```text
GET /v4.0/access/users/{{userId}}/accounts/movements/transactions?accountId=1&accountId=2
```

For details and an example of response, please refer to the *PFM Details*.
