API Reference
Integrate AkuWorks verification into your applications with our REST API. Access verification data, manage settings, and receive real-time webhooks.
Authentication
All API requests require authentication using an API key. Include your API key in the Authorization header.
Request Headers
Security Notice
Keep your API keys secure. Never expose them in client-side code or public repositories.
Base URL & Versioning
Production API
Sandbox API
• Current API version: v1
• All endpoints are versioned to ensure backward compatibility
• Use the sandbox environment for testing and development
API Endpoints
/api/v1/servers/{serverId}
Get server configuration and statistics
/api/v1/servers/{serverId}/verify
Initiate verification for a user
/api/v1/servers/{serverId}/verifications
List recent verifications
/api/v1/servers/{serverId}/settings
Update server verification settings
Code Examples
JavaScript/Node.js
// Initialize AkuWorks API client
const AkuWorks = require('@akuworks/api');
const client = new AkuWorks({
apiKey: 'your-api-key',
baseURL: 'https://api.akuworks.com/v1'
});
// Get server information
async function getServerInfo(serverId) {
try {
const server = await client.servers.get(serverId);
console.log('Server:', server.name);
console.log('Verifications today:', server.stats.verificationsToday);
} catch (error) {
console.error('Error:', error.message);
}
}
// Initiate verification
async function verifyUser(serverId, userId) {
try {
const verification = await client.servers.verify(serverId, {
userId: userId,
method: 'turnstile'
});
return verification.challengeUrl;
} catch (error) {
console.error('Verification failed:', error.message);
}
}
Python
import akuworks
# Initialize client
client = akuworks.Client(api_key='your-api-key')
# Get server information
def get_server_info(server_id):
try:
server = client.servers.get(server_id)
print(f"Server: {server.name}")
print(f"Verifications today: {server.stats.verifications_today}")
except akuworks.APIError as e:
print(f"Error: {e.message}")
# Initiate verification
def verify_user(server_id, user_id):
try:
verification = client.servers.verify(server_id, {
'user_id': user_id,
'method': 'turnstile'
})
return verification.challenge_url
except akuworks.APIError as e:
print(f"Verification failed: {e.message}")
Webhooks
Receive real-time notifications about verification events in your server.
Available Events
verification.completed
User successfully completed verification
Payload: User ID, server ID, timestamp, verification method
verification.failed
User failed verification attempt
Payload: User ID, server ID, timestamp, failure reason
verification.timeout
Verification attempt timed out
Payload: User ID, server ID, timestamp, timeout duration
server.settings.updated
Server verification settings changed
Payload: Server ID, updated settings, admin user ID
Rate Limits
Error Handling
The API uses conventional HTTP response codes to indicate success or failure.