Quadrata Integration
  • INTRODUCTION
    • Introduction to Quadrata
    • Passport Attributes
  • HOW TO INTEGRATE
    • Quadrata SDK
      • Get Started Quickly
      • Advanced
        • Installation
        • SDK Configuration
        • Onboarding Example
        • Client Libraries
          • Client Configuration
          • Client Lazy Loading
          • Client Eager Loading
          • Client Helper Component
          • Client React Hooks
            • useOnboardStatus
          • Client Examples
            • With Wagmi Connect
            • KYC Only
            • KYB Only
            • All In One
        • API Libraries
          • API Configuration
          • API Service Options
          • API Service Libraries
            • Create Access Token
            • Create Privacy Access Token
            • Fetch Attribute Values
            • Fetch Onboard Status
            • Fetch Passport List
            • Fetch Privacy Data
            • Fetch Privacy Grants
            • Fetch Wallet Screening
            • Revoke Privacy Grants
    • Onboard users
      • Individual Passport Onboarding
        • 1. Installation
        • 2. API Authentication
        • 3. API Onboard Status
        • 4. QuadClient Package
        • 5. Privacy Data Permissions
        • 6. Full Example
      • Business Passport Onboarding
        • 1. Installation
        • 2. API Authentication
        • 3. QuadrataKyb Package
        • 4. Privacy Data Permissions
        • 5. Full Example
      • All-In-One Passport Onboarding
        • 1. Installation
        • 2. API Authentication
        • 3. QuadrataReact Package
        • 4. Full Example
    • Request Privacy Data
      • List of Privacy Data
      • Privacy Data Permissions
      • API Requests
        • How to sign API
          • Full Example
          • Generate ECDSA Key Pair
        • API Get Privacy Permissions
        • API Privacy Access Token
        • API Get Privacy Data
        • API Revoke Permissions
    • Query attributes
      • Via Smart Contract
        • Query a single attribute
        • Query multiple attributes
        • Query Helper
      • Via API
    • On-Chain Wallet Screening
      • How to sign API
        • Full Example
        • Generate ECDSA Key Pair
      • API Get On-Chain AML Score
    • Webhooks
      • Onboarding Webhooks
      • Ongoing Monitoring Webhooks
      • Webhook Request Signature
    • Burn Passports
  • additional information
    • Smart contracts
    • Quadrata Sandbox
    • Passport Issuers
    • Privileged Roles & Ownership
    • Constants
    • Flex Kit Attributes
      • Smart Contract Addresses
Powered by GitBook
On this page
  1. HOW TO INTEGRATE
  2. Request Privacy Data
  3. API Requests

API Privacy Access Token

Server-Side API endpoint to fetch a privacy access token that grants your dApp access to fetch Privacy Data.

PreviousAPI Get Privacy PermissionsNextAPI Get Privacy Data

Last updated 8 months ago

This endpoint fetches a privacy access token, which you need in order to fetch Privacy Data from a user.

NOTE: There is a service library available to you in the , for this endpoint.

API endpoint to get a privacy access token

GET https://int.quadrata.com/api/v1/privacy/access/${account}

Path Parameters

Name
Type
Description

account*

String

User's wallet address

Headers

Name
Type
Description

Authorization*

String

Basic ${base64(apiKey)}

Date*

String

Date and time of current request

Wed, 04 Oct 2023 02:39:37 GMT

Signature*

String

{
  "data": {
    "authToken": "...",
    "accessToken": "...",
    "type": "privacy.grants"
  }
}

This endpoint will return an auth token and an access token. Your dApp needs to combine them into one encoded string, delimited by a : and base64 encoded, in order to use it as an X-Access-Token header to fetch PII data.

Privacy Access Tokens are one time use tokens. If you attempt to reuse an access token, you will receive a 401 Unauthorized error.

const buffer = require('buffer');

const privateKeyDer = '...';
// You can find `getPrivateKeyFromDer` in "How to sign API"."Full Example" page
const privateKey = await getPrivateKeyFromDer(privateKeyDer);

const walletAddress = '...';

// You can find `makeRequest` in "How to sign API"."Full Example" page
const json = await makeRequest({
    method: 'get',
    privateKey: privateKey,
    path: `/api/v1/privacy/access/${walletAddress}`
});
const { data: { authToken, accessToken } } = json;

const xAccessToken = Buffer
    .from(`${authToken}:${accessToken}`)
    .toString('base64');
"""
NOTE: you can find make_request in the full example located in the 
      API Signed Requests documentation page
"""

import base64

wallet_address = '...'

# You can find `make_request` in "How to sign API"."Full Example" page
json = make_request(f'/api/v1/privacy/access/{wallet_address}')

auth_token = json['data']['authToken']
access_token = json['data']['accessToken']

x_access_token = base64.b64encode(
    f'{auth_token}:{access_token}'.encode('utf-8')
).decode('utf-8')

Signature

See for message signing examples with more coverage and explanations.

Quadrata SDK
How to sign API
API Signed Request