Developer Getting Started
Quickstart guide for integrating Authentic Profile APIs and OAuth 2.0 services.
Developer Getting Started
Welcome to the Authentic Profile developer ecosystem. This guide walks you through registering as a developer, obtaining API credentials, and making your first request to verify a profile.
1. Provisioning API Credentials
To interact with Authentic Profile APIs or initiate OAuth 2.0 flows on behalf of users, you must register a developer application:
- Sign in to your Authentic Profile Dashboard.
- Navigate to Developer Settings > API Keys.
- Create a new application and specify your:
- Application Name: (e.g.,
Acme Talent Portal) - Redirect URIs: (e.g.,
https://app.acme.com/api/auth/callback)
- Application Name: (e.g.,
- Securely store your generated Client ID and Client Secret.
Keep Client Secrets Confidential
Your client_secret is used to sign token exchange requests and must never be exposed in client-side code, mobile binaries, or public Git repositories.
2. Authentication Methods
Authentic Profile supports two authentication schemes:
| Scheme | Header Format | Intended Consumer |
|---|---|---|
| API Key Secret | x-api-key: <YOUR_API_KEY> | Server-to-server data lookups |
| OAuth 2.0 Bearer | Authorization: Bearer <ACCESS_TOKEN> | User-delegated profile verification |
3. Querying a Public Verified Profile
You can query any public verified profile using standard HTTP GET requests:
const PROFILE_USERNAME = "alex-mercer";
const AUTHENTIC_API_URL = "https://authenticprofile.com/api";
async function fetchVerifiedProfile(username: string) {
const response = await fetch(`${AUTHENTIC_API_URL}/profiles/${username}`, {
headers: {
"Accept": "application/json",
"x-api-key": process.env.AUTHENTIC_API_KEY!,
},
});
if (!response.ok) {
throw new Error(`Failed to fetch profile: ${response.statusText}`);
}
const result = await response.json();
return result.data;
}
// Example Execution
fetchVerifiedProfile("alex-mercer")
.then((data) => console.log("Profile Data:", data))
.catch((err) => console.error("Error:", err));4. Standard Response Format
All API responses return a uniform JSON envelope:
{
"success": true,
"data": {
"username": "alex-mercer",
"personalInfo": {
"firstName": "Alex",
"lastName": "Mercer",
"title": "Principal Architect",
"avatar": "https://kfysrcdqszgkmusaiigh.supabase.co/storage/v1/object/public/files/..."
},
"verificationStatus": "verified",
"workExperience": [
{
"company": "Tech Corp",
"position": "Staff Engineer",
"verified": true
}
]
},
"error": null,
"meta": {
"requestId": "req_9921b7fc",
"timestamp": "2026-09-19T01:30:00Z"
}
}5. Rate Limits & Headers
Every API response includes rate limiting headers:
X-RateLimit-Limit: 120
X-RateLimit-Remaining: 118
X-RateLimit-Reset: 1726703400If you exceed the rate limit, the service returns HTTP 429 Too Many Requests along with a Retry-After: <seconds> header.