---
title: "PASS One Shot"
description: "Pass one Shot is a feature of Fabrick PASS services to obtain temporary information about user."
url: "https://docs.fabrick.com/en/payment-institution/open-banking-and-psd2/pass/products/oneshot/dev/aisp-one-shot/"
language: "en"
---

# PASS One Shot

## Purpose

Pass one Shot is a feature of Fabrick PASS services to obtain temporary information about user. As known, in the mostly cases, AISP paradigm allows TPP/FPP to obtain information about accounts, transactions, balances in a recurrent/continuative way.

There are other use cases that doesn't needs of a recurrent access to account, its doesn't need to establish a continuous relationship with customer but only to use data in one shot way.

**Examples** : Check customer credit rating/scoring, check customer's iban, check customer's bank profile and so on.

In this case the FPP need only to access to data once, without any user identification and credential's set.

The service can be configured by Fabrick in the following ways:

- Default; PSU account information will be 90 days deep.
- Historical; PSU account information will be deeper than 90 days. The number of months requested can be chosen by the FPPs but in any case the availabilities that each Bank makes available will be valid.

*If you are interested to a standard version of Fabrick Pass please refer to the Fabrick Pass documentation.*

## Usage

In this section you can see an high level flow, the actors are:

**Fabrick**: the certificated AISP that provide the services

**FPP**: a corporate customer (company) that subscribes the PASS AISP service.

**Final User**: Natural or Legal person who is owner of a bank account (or payment account or similar). This person give to FPP and Fabrick also the authorization to access to account's information.

![oneShotDiagram](https://docs.fabrick.com/en/img/payment-institution/open-banking-and-psd2/pass/account-information/oneshot/one-shot-diagram.png)

Below is a brief description of the diagram

1. The PSU requests the service from the FPP via the User Interface
2. The FPP frontend forwards to the backend the registration user reques
3. FPP backend initializes the flow with Fabrick **POSTCreateUserLite** endpoint
4. Fabrick return the *initiationRedirectUrl*
5. The FPP redirects the PSU to Fabrick's frontend
6. The PSU carries out all the necessary steps to end the process.
7. The PSU will be redirected from Fabrick frontend to the FPP frontend
8. The FPP backend can use the endpoints of *Fabrick Access* package to request account information, transactions and balances

### Flow

When Fabrick receives the first **POST CreateUserLite** an internal workflow is triggered

![pass-one-shot](https://docs.fabrick.com/en/img/payment-institution/open-banking-and-psd2/pass/account-information/oneshot/pass-one-shot.png)

#### Customer is not yet a Pass customer

1. user complete terms and condition acceptance step
2. user select bank/account
3. system starts consent sub process and at and retrieve useful data.

#### Customer is already a Standard Pass customer

Fabrick recognizes whether to redirect a user to login through their personal data. To proceed it is necessary to have a valid KYC in Fabrick Pass, otherwise the user will be able only to continue with a new registration (previous case). In login case the steps will be:

1. user inserts credentials

2. user accepts terms and condition acceptance step

3. user selects accounts

   - user can insert a new account
   - user can select an existent account.

### **Customer mandatory data**

***For Natural Person:***

- Name and Surname
- Date of birth
- Place of birth
- Country
- Mail Address
- Usercode

***For Legal Person:***

- Company Business name,
- Company registration number ( *Ragione Sociale*/ *Partita IVA*)
- Owner Name and Surname
- Owner date of birth
- Owner place of birth
- Mail address
- Usercode

Despite being a legal person, the fields relating to a natural person are still mandatory to allow cross-checking with the standard Pass product (see section "*Customer is already a Standard Pass customer*") and thus take advantage of the aggregations already active. The data may refer to a subject of the company with the appropriate authorizations, but at the same time easily involved in the activity. For example directly the CEO in small – medium companies and a delegate or manager in larger companies. In practice, it could be who actually has the authorizations to aggregate the accounts (who has the smartphone, the token, ..).

### Customer Report

In case of success a report mail will be sent directly to customer's mailbox.

The mail's body contains:

- Operation datetime
- FPP name and information
- Information about data on which customer allows access
- Link to terms and conditions.

### User data

The FPP will be able to retrieve balance and transaction data through the APIs of the Access package for **30 minutes** starting from the conclusion of the aggregation flow.

### POST CreateUserLite

This endpoint allows FPPs to initialize Fabrick Pass Lite product. Through this process the user will be redirected to Fabrick to perform all the necessary steps in order to let to the FPP to get all user accounts information. For details please refer to the *Fabrick Pass One Shot* document

**Request**

```json
POST /api/fabrick/pass/v4.0/access/users/lite

{
    "mode": "REDIRECT",
    "completionRedirectUrls": {
            "onSuccess": "http://google.it",
            "onFailure": "http://yahoo.it"
    },
    "customerInfo": {
        "subjectType": "NATURAL_PERSON",
        "companyUserCode": "aliasUser",
        "name": "Mario",
        "surname": "Rossi",
        "birthDate": "1989-01-01",
        "birthPlace": "Biella",
        "homeAddress": {
            "country": "IT"
        },
        "contacts": {
            "mail": "mario.rossi@mail.com"
        },
        
        "businessName": "",
        "vatNumber": ""
    }
}
```

the request input body contains a series of information relating to the user and some parameters useful for the procedure, for detail refer to the Fabrick Pass Access.

It is possible to register both a natural person and a legal person, only in this second case it will be necessary to value the following parameters:

- *businessName*; company name
- *vatNumber*: company vat number

and *subjectType* will be set to *LEGAL_PERSON*.

Furthermore, if you already know your customer’s bank (and possibly also the *serviceCode*), you can add the following parameters to the request body: *bankId* and *bankCustomerServiceCode*. This way, the PSU will skip the bank selection section, further simplifying the workflow. These two parameters can be retrieved using the **POST SearchBanks** API.

Here is an example response:

```text
{
    "status": "OK",
    "payload": {
        "mode": "REDIRECT",
        "completionRedirectUrls": {
            "onSuccess": "https://fabrick.com",
            "onFailure": "https://google.it"
        },
        "customerInfo": {
            "subjectType": "NATURAL_PERSON",
            "companyUserCode": "aliasUser",
            "name": "Mario",
            "surname": "Rossi",
            "birthDate": "1989-01-01",
            "birthPlace": "Biella",
            "homeAddress": {
                "country": "IT"
            },
            "contacts": {
                "mail": "mario.rossi@mail.com"
            },
            "businessName": "",
            "vatNumber": ""
        },
        "userOnboardingLiteId": "cf01680d-1234-5678-1234-4606790a8162",
        "initiationRedirectUrl": "https://www.uat.fabrickpass.com/web/fabrick/pass/v4.0/shareAccounts/cf01680d-c986-48bf-ac13-4606790a8162?jwtToken=eyJ...eM",
        "status": "WORK_IN_PROGRESS"
    }
}
```

where:

- *userOnboardingLiteId*: indicates the unique identifier of the flow, useful in case of request for support.
- *initiationRedirectUrl*: the link to which the customer has to be redirected to begin the aggregation phase. The link has a duration of 3,5 hours.

### GET OnBoardingUserLite

It is possible to get information about the user workflow invoking the following service:

```text
GET api/fabrick/pass/v4.0/access/users/lite/onboardings/{{userOnboardingid}}
```

A sample of response could be

```text
{
    "status": "OK",
    "payload": {
        "mode": "REDIRECT",
        "completionRedirectUrls": {
            "onSuccess": "https://fabrick.com",
            "onFailure": "https://google.it"
        },
        "customerInfo": {
            "subjectType": "NATURAL_PERSON",
            "companyUserCode": "fede21@mail.com",
            "name": "Pier Paolo",
            "surname": "Verdi",
            "birthDate": "1954-11-28",
            "birthPlace": "Pordenone",
            "homeAddress": {
                "address": "Via Sant'Eusebio",
                "buildingNumber": "70",
                "postalCode": "56010",
                "city": "Pisa",
                "province": "PI",
                "country": "IT"
            },
            "contacts": {
                "mail": "fede21@mail.com"
            }
        },
        "userOnboardingLiteId": "441b2f18-8ac2-4209-8af5-f7ed19482616",
        "initiationRedirectUrl": "https://www.uat.fabrickpass.com/.../onboarding/441...616?jwtToken=eyJra...CM",
        "status": "COMPLETED_SUCCESS",
        "stepCode": "PASS_FPP_SERVICE_AUTH_WORKFLOW",
        "userId": "900061546"
    }
}
```

where:

- *userId* indicates the id of the user just created. This parameter is present only in se the flow ended successfully. - *status* indicated the status of the flow: for all the details, please refer to the *Workflow status* document
- *stepCode* indicates the step of the UI: - se the parameter is absent the user has not started the flow yet - *POS0*: the PSU started the flow - *POS1*: the PSU selected the bank - *PASS_FPP_SERVICE_AUTH_WORKFLOW*: the PSU has completed the flow

#
