🔐 Authentication & Common Information
Base URL
Production API: https://knjx20589d.execute-api.us-west-2.amazonaws.com/prod
All API requests should be made to this single production endpoint.
Environment: Production
Region: us-west-2 (Oregon)
AWS Account: 022834561960
All examples in this documentation use the production URL. For testing, use the API Playground which provides a safe testing environment.
Getting API Keys
Sign Up Online
Visit our Sign Up Page to create your account and get instant access to API keys.
Contact Support
Alternatively, contact support@tryfluence.tech to request your API key.
Authentication
All API endpoints (except health checks) require authentication using an API key in the request header:
x-api-key: your-api-key-here
Content-Type: application/json
API Key Format
- Length: 40 alphanumeric characters
- Example:
LVyNkDR5PP1zn9cMgPKNjaSPiEdrH0OT95MR1FLx - Header Name:
x-api-key(lowercase)
Example Request
curl "https://knjx20589d.execute-api.us-west-2.amazonaws.com/prod/health" \
-H "x-api-key: your-api-key-here"
API Key Security
Best Practices
- Never commit API keys to version control
- Store keys as environment variables
- Rotate keys regularly for production use
- Contact support immediately if a key is compromised
- Use different keys for development and production
Environment Variables
# Set your API key as an environment variable
export FLUENCE_API_KEY="your-api-key-here"
API Key Generation
- Sign up at fluenceinsights.com/signup
- Verify your email to activate your account
- Access your dashboard to view API keys
- Copy the appropriate key for your use case
Status Codes
| Code | Name | Summary |
|---|---|---|
| 200 | OK | Everything worked as expected. |
| 400 | Bad Request | The request was unacceptable, often due to missing a required parameter. |
| 401 | Unauthorized | Invalid API key provided in X-API-Key header |
| 402 | Payment Required | You don't have enough credits on your account to perform the request. |
| 404 | Not Found | The API didn't find any result for this query. |
| 429 | Rate Limit Exceeded | You've exceeded your rate limit. Try again later. |
| 500 | Server Error | The request failed due to a server error. |
Rate Limits & Quotas
Rate limits vary by subscription tier:
| Tier | Rate Limit | Burst Capacity | Monthly Quota | Price |
|---|---|---|---|---|
| Developer | 50 req/sec | 100 | 10,000 requests | $29/mo |
| Fortics | 100 req/sec | 200 | 50,000 requests | $99/mo |
| Professional | 250 req/sec | 500 | 100,000 requests | $199/mo |
| Enterprise | 500 req/sec | 1,000 | 500,000 requests | Custom |
Rate Limit Headers
Responses include rate limit information:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1641052800
Tier-Based Access Control
CRM Tiers (Enterprise, Business):
- ✅ Full access to CRM intelligence endpoints
- ✅ All utility endpoints
- ✅ Priority support
Platform Tiers (Professional, Essentials):
- ❌ CRM endpoints blocked (upgrade required)
- ✅ Utility endpoints available
- ✅ Standard support
- Implement exponential backoff for retries
- Monitor your usage in the dashboard
- Upgrade your plan if you consistently hit limits
Tier-Based Access Control
CRM Tiers (Enterprise, Business)
✅ Can access:
/crm_basico- Basic CRM intelligence (1 credit)/crm- Complete CRM intelligence with personality analysis (2 credits)- All utility endpoints (health, status, credits, tiers)
Platform Tiers (Professional, Essentials)
✅ Can access:
- Analyze endpoints (when available)
- All utility endpoints (health, status, credits, tiers)
❌ Cannot access:
/crm_basico- Requires CRM tier/crm- Requires CRM tier
Access Denied Response
When attempting to access an endpoint not available in your tier:
{
"error": "Access denied. Your professional tier API key cannot access /crm_basico. Upgrade to CRM tier for access."
}
Credit System
Credit Costs by Endpoint
- CRM Basic (
/crm_basico): 1 credit per request - CRM Complete (
/crm): 2 credits per request - Utility Endpoints (health, status, credits, tiers): Free (0 credits)
Credit Refund Policy
Credits are automatically refunded when:
- ❌ Server errors occur (HTTP 500)
- ❌ Insufficient data found (HTTP 422 with
INSUFFICIENT_DATA) - ❌ Request validation fails (HTTP 400)
Credits are NOT refunded when:
- ✅ Analysis completes successfully (HTTP 200)
- ⚠️ Profile not found (HTTP 404) - search was performed
- ⚠️ Multiple matches found (HTTP 409) - clarification needed
Monitoring Credits
Check your remaining credits using the /creditos endpoint or view them in every API response:
{
"billing_info": {
"creditos_utilizados": 1,
"creditos_restantes": 998,
"tipo_plano": "enterprise_crm"
}
}
Programming Examples
Python with Requests
import requests
import os
# Set up authentication
headers = {
'Content-Type': 'application/json',
'x-api-key': os.getenv('FLUENCE_API_KEY')
}
# Make request
response = requests.post(
'https://knjx20589d.execute-api.us-west-2.amazonaws.com/prod/crm_basico',
headers=headers,
json={
'primeiro_nome': 'João',
'ultimo_nome': 'Silva',
'empresa': 'Microsoft Brasil'
}
)
if response.status_code == 200:
result = response.json()
print(f"Analysis: {result['analise']}")
print(f"Credits Used: {result['billing_info']['creditos_utilizados']}")
else:
print(f"Error: {response.status_code} - {response.text}")
JavaScript/Node.js
const axios = require('axios');
const analyzeCRM = async () => {
try {
const response = await axios.post(
'https://knjx20589d.execute-api.us-west-2.amazonaws.com/prod/crm_basico',
{
primeiro_nome: 'Maria',
ultimo_nome: 'Santos',
empresa: 'Google Brasil'
},
{
headers: {
'Content-Type': 'application/json',
'x-api-key': process.env.FLUENCE_API_KEY
}
}
);
const { analise, billing_info } = response.data;
console.log('Analysis:', analise);
console.log('Credits Remaining:', billing_info.creditos_restantes);
} catch (error) {
console.error('API Error:', error.response?.data || error.message);
}
};
analyzeCRM();
cURL
curl -X POST "https://knjx20589d.execute-api.us-west-2.amazonaws.com/prod/crm_basico" \
-H "Content-Type: application/json" \
-H "x-api-key: your-api-key-here" \
-d '{
"primeiro_nome": "João",
"ultimo_nome": "Silva",
"empresa": "Microsoft Brasil"
}'
Request Parameters
Use a single, simple input method for person matching and analysis:
{
"primeiro_nome": "João",
"ultimo_nome": "Silva",
"empresa": "Microsoft Brasil"
}
Notes:
- Do not send profile URLs. The API does not accept profile URLs as input.
- A public LinkedIn presence is recommended: we automatically compare what we find against public professional profiles to ensure we matched the right person.
- English aliases (first_name, last_name, company) may be available in some environments, but Portuguese parameters are the canonical format.
Access Denied Response Example
When your API key tier doesn't support a specific endpoint:
{
"error": "Access denied. Your professional tier API key cannot access /crm_basico. Upgrade to CRM tier for access.",
"error_code": "ACCESS_DENIED",
"current_tier": "platform_professional",
"required_tier": "crm_business",
"upgrade_url": "https://tryfluence.tech/upgrade"
}
Support
📧 Email: support@tryfluence.tech
🕒 Response Time: Within 24 hours