persona-install-auth

'Configure Persona API authentication with sandbox and production API

6 Tools
persona-pack Plugin
saas packs Category

Allowed Tools

ReadWriteEditBash(npm:*)Bash(pip:*)Grep

Provided by Plugin

persona-pack

Claude Code skill pack for Persona (18 skills)

saas packs v1.0.0
View Plugin

Installation

This skill is included in the persona-pack plugin:

/plugin install persona-pack@claude-code-plugins-plus

Click to copy

Instructions

Persona Install & Auth

Overview

Set up Persona API authentication. Persona uses Bearer token auth with environment-prefixed API keys (personasandbox for testing, personaproduction 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 personasandbox* 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

Ready to use persona-pack?