API Key (Optional)
GetProfile uses a simple API key authentication system. For self-hosted deployments, you can optionally protect your proxy with an API key.
Configuration
Set the GETPROFILE_API_KEY environment variable:
If not set, the proxy will accept all requests (useful for local development).
| Header | Description |
|---|
Authorization | Bearer token (only required if GETPROFILE_API_KEY is set) |
| Header | Description |
|---|
X-GetProfile-Id | Your app’s user identifier |
X-Upstream-Key | API key for upstream LLM provider |
X-GetProfile-Traits | Per-request trait overrides (JSON) |
Authentication Methods
No Authentication (local development)
If GETPROFILE_API_KEY is not set, you can make requests without authentication:
SDK Usage
User Identification
The X-GetProfile-Id header identifies which user the request is for. This can be:
- Your app’s user ID
- A session ID
- Any stable identifier for the user
Alternatively, you can use:
user field in request body (OpenAI standard)
metadata.profile_id in request body
Upstream Authentication
The X-Upstream-Key header provides the API key for the upstream LLM provider:
If you configure a default upstream key in your GetProfile settings,
X-Upstream-Key is optional.
Error Responses
| Status | Error | Description |
|---|
| 401 | missing_api_key | No Authorization header (when API key is configured) |
| 401 | invalid_api_key | API key does not match GETPROFILE_API_KEY |
| 400 | missing_user_id | No user identifier provided |