Fetch Passport List

Quadrata SDK API Service: Fetch Passport List

Fetch, filter, and paginate through passports onboarded by your dApp.

Parameters

NameTypeDescription

apiAccessToken*

string

Access token See createAccessToken

filters

object

Filter Options

limit

number

Per page limit

offset

number

Query / page offset

sortBy

[string, string]

Sort by options ["sortByName", "ASC or "DESC"]

options

object

Fetch Options

Filter Options

NameTypeDescription

association

string

"wallets" or "entities" entities = Business Passports wallets = Individual Passports Defaults to "wallets"

attributeName

string or string[]

Attribute Name(s)

attributeStatus

QuadrataAttribute or QuadrataAttribute[]

Attribute Status(es)

walletAddress

string or string[]

Wallet Address(es)

isApproved

boolean

true for approved passports false for not approved passports

isOnboardComplete

boolean

true for completed applications false for incomplete applications

isProcessed

boolean

true for processed applications false for unprocessed

isRejected

boolean

true for rejected applications false for not-rejected

dateFrom

mm-dd-yyyy

Start date to filter by

dateTo

mm-dd-yyyy

End date to filter by

Sort By Options

NameDescription

createdAt

Sort by the wallet's created at date

association

Sort by the association type The association type is wallets or entities

emailVerifiedAt

Sort by the date a passport's email address was verified at

walletAddress

Sort by wallet address

SDK Configuration

NameTypeDescription

environment*

QuadrataEnvironment

Access token See createAccessToken

Example

import type { API } from '@quadrata/sdk/types';
import { fetchPassportList, QuadrataEnvironment } from '@quadrata/sdk/api';

type ResponseType = API.Service.FetchPassportList.Response;
type ParsedResponseType = API.Service.FetchPassportList.ParsedResponse;

const response: ResponseType = await fetchPassportList(
    // params
    {
        // required
        apiAccessToken: 'jwt token from createAccessToken',
        
        // all filters are optional
        filters: {
            // to filter only business wallets provide 'entities'
            // wallets is used by default
            association: 'wallets' || 'entities',
            
            // accepts a single attribute name or array of attribute names
            attributeName: QuadrataAttribute.AML || [QuadrataAttribute.AML, QuadrataAttribute.DID],
            
            // accepts a single attribute status or array of attribute statuses
            attributeStatus: QuadrataAttributeStatus.IN_REVIEW || [QuadrataAttributeStatus.READY, QuadrataAttributeStatus.IN_REVIEW],
            
            // date range
            dateFrom: 'mm-dd-yyyy',
            dateTo: 'mm-dd-yyyy',
            
            // accepts a single wallet address or array of wallet addresses
            walletAddress: '0x123' || ['0x123', '0x456'],
            
            // is the application approved
            isApproved: true || false,
            
            // is onboarding application completed (might be in review)
            isOnboardCompleted: true || false,
            
            // is the application processed by Quadrata (might be denied or approved)
            isProcessed: true || false,
            
            // is the application rejected by Quadrata
            isRejected: true || false,
        },
        
        // optional limit for each page of data returned
        limit: 20,
        
        // optional offset to fetch data at
        offset: 0,
        
        // optional page to fetch data for
        page: 1,
        
        // optional sort by
        // fields to sort by are:
        // - createdAt
        // - association
        // - emailVerifiedAt
        // - walletAddress
        sortBy: ['createdAt', 'desc'],
        
        // optional fetch options
        options: {
            cache: 'no-cache'
        }
    },
    // sdk config
    { environment: QuadrataEnvironment.PRODUCTION }
);

const limit = response.data.response.limit;
const totalNumRows = response.data.response.numRows;
const numPages = response.data.resposne.numPages;
const currentPage = response.data.response.page;
const currentOffset = response.data.response.offset;
const sortBy = response.data.response.sortBy;

const walletsForCurrentPage: ParsedResponseType = response.data.response.rows;

Example Response Data

{
    "data": {
        "response": {
            "limit": 100,
            "numPages": 1,
            "numRows": 1,
            "offset": 0,
            "page": 1,
            "rows": [
                {
                    "attributes": [
                        {
                            "name": "AML",
                            "status": "READY",
                            "verifiedAt": 1717618007
                        },
                        {
                            "name": "INVESTOR_STATUS",
                            "status": "READY",
                            "verifiedAt": 1717618249
                        },
                        {
                            "name": "DID",
                            "status": "READY",
                            "verifiedAt": 1717617309
                        },
                        {
                            "name": "COUNTRY",
                            "status": "READY",
                            "verifiedAt": 1717617309
                        }
                    ],
                    "createdAt": "2024-06-05T19:54:46.143226Z",
                    "emailVerifiedAt": "2024-06-05T19:55:08.532956+00:00",
                    "inquiries": [
                        {
                            "createdAt": "2024-06-05T20:10:49.140345",
                            "inquiryRef": "f2b58882-c498-42b1-b430-b05f20846317",
                            "status": "APPROVED",
                            "type": "ACCREDITATION"
                        },
                        {
                            "createdAt": "2024-06-05T19:55:08.541967",
                            "inquiryRef": "a90d5d91-4732-4e3e-93db-547865c1259d",
                            "status": "APPROVED",
                            "type": "EMAIL_VERIFICATION"
                        },
                        {
                            "createdAt": "2024-06-05T19:55:08.616694",
                            "inquiryRef": "a90d5d91-4732-4e3e-93db-547865c1259d",
                            "status": "INITIALIZED",
                            "type": "KYC"
                        },
                        {
                            "createdAt": "2024-06-05T19:56:22.79224",
                            "inquiryRef": "a90d5d91-4732-4e3e-93db-547865c1259d",
                            "status": "APPROVED",
                            "type": "KYC"
                        },
                        {
                            "createdAt": "2024-06-05T20:06:47.58897",
                            "inquiryRef": "17241695-6813-4168-9180-d235e8f2645f",
                            "status": "APPROVED",
                            "type": "AML"
                        }
                    ],
                    "onboardStartedAt": "2024-06-05T19:54:46.151151+00:00",
                    "walletAddress": "0x9f91Dbe7fBb3D12D449D9f1b804fe478aabEE107"
                }
            ],
            "sortBy": [
                "createdAt",
                "DESC"
            ]
        },
        "type": "list.wallets"
    }
}

Last updated