Skills Development Configure Persona API Authentication

Configure Persona API Authentication

v20260423
persona-install-auth
This guide provides detailed, step-by-step instructions on how to set up and authenticate with the Persona API. It covers obtaining sandbox and production API keys, configuring necessary environment variables, and includes runnable code examples for both Node.js and Python to verify a successful connection. This is essential for developers integrating identity verification or Know Your Customer (KYC) features into their application.
Get Skill
461 downloads
Overview

Persona Install & Auth

Overview

Set up Persona API authentication. Persona uses Bearer token auth with environment-prefixed API keys (persona_sandbox_* for testing, persona_production_* for live). No SDK required -- direct REST API calls with any HTTP client.

Prerequisites

  • Persona account at withpersona.com
  • At least one Inquiry Template configured in the Persona Dashboard
  • Node.js 18+ or Python 3.9+

Instructions

Step 1: Get API Keys

1. Log into dashboard.withpersona.com
2. Go to Settings > API Keys
3. Copy your sandbox key (starts with persona_sandbox_)
4. For production: copy production key (starts with persona_production_)

Step 2: Configure Environment

# .env — never commit
PERSONA_API_KEY=persona_sandbox_xxxxxxxxxxxxxxxxxxxxxxxx
PERSONA_API_VERSION=2023-01-05

# .gitignore
echo '.env' >> .gitignore

Step 3: Install HTTP Client

set -euo pipefail
# Node.js
npm install axios dotenv

# Python
pip install requests python-dotenv

Step 4: Verify Connection (Node.js)

import axios from 'axios';

const persona = axios.create({
  baseURL: 'https://withpersona.com/api/v1',
  headers: {
    'Authorization': `Bearer ${process.env.PERSONA_API_KEY}`,
    'Persona-Version': process.env.PERSONA_API_VERSION || '2023-01-05',
    'Content-Type': 'application/json',
  },
});

async function verify() {
  const { data } = await persona.get('/inquiries?page[size]=1');
  console.log(`Connected! Found ${data.data.length} inquiry(ies).`);
}
verify().catch(console.error);

Step 5: Verify Connection (Python)

import os, requests
from dotenv import load_dotenv

load_dotenv()

headers = {
    "Authorization": f"Bearer {os.environ['PERSONA_API_KEY']}",
    "Persona-Version": os.environ.get("PERSONA_API_VERSION", "2023-01-05"),
}

resp = requests.get("https://withpersona.com/api/v1/inquiries?page[size]=1", headers=headers)
resp.raise_for_status()
print(f"Connected! Status: {resp.status_code}")

Output

  • API key configured and verified
  • HTTP client set up with correct headers
  • Successful test call to Persona API

Error Handling

Error Cause Solution
401 Unauthorized Invalid or expired API key Verify key in Dashboard > Settings > API Keys
403 Forbidden Key doesn't match environment Use persona_sandbox_* for testing
400 Missing Persona-Version Version header not set Add Persona-Version: 2023-01-05 header
Connection refused Network/firewall issue Ensure HTTPS to withpersona.com is allowed

Resources

Next Steps

Create your first inquiry: persona-hello-world

Info
Category Development
Name persona-install-auth
Version v20260423
Size 3.42KB
Updated At 2026-04-28
Language