Endpoint
POST https://sil-api.sotsai.co/v1/disc/profile
Fetch a normalized DISC psychometric profile for a user in your organization.
This endpoint abstracts DISC provider complexity and returns a stable, tool-friendly structure
that can be passed directly into SotsAI reasoning endpoints (such as /v1/advice).
Endpoint
POST https://sil-api.sotsai.co/v1/disc/profile
Auth
Send your organization API key in X-Sotsai-Api-Key.
Never expose this key to browsers or LLMs.
Rate limits
60/min per API key (organization).
Exceeding this limit returns 429.
Headers
| Header | Required | Value |
|---|---|---|
X-Sotsai-Api-Key | yes | sotsai_... |
Content-Type | yes | application/json |
email required stringEmail address of the user whose DISC profile should be fetched.
locale optional string default: 'en'Language context forwarded to the DISC provider.
Examples:
enfrdecurl -X POST "https://sil-api.sotsai.co/v1/disc/profile" \ -H "Content-Type: application/json" \ -H "X-Sotsai-Api-Key: <YOUR_API_KEY>" \ -d '{ "email": "user@company.com", "locale": "en" }'// Server-side only. Do NOT expose X-Sotsai-Api-Key in client apps.
const res = await fetch("https://sil-api.sotsai.co/v1/disc/profile", { method: "POST", headers: { "Content-Type": "application/json", "X-Sotsai-Api-Key": process.env.SOTSAI_API_KEY!, }, body: JSON.stringify({ email: "user@company.com", locale: "en", }),});
const profile = await res.json();# Server-side only. Do NOT expose X-Sotsai-Api-Key in client apps.
import osimport requests
resp = requests.post( "https://sil-api.sotsai.co/v1/disc/profile", headers={ "Content-Type": "application/json", "X-Sotsai-Api-Key": os.environ["SOTSAI_API_KEY"], }, json={ "email": "user@company.com", "locale": "en", }, timeout=15,)
resp.raise_for_status()profile = resp.json()Status codes
| Status | Meaning |
|---|---|
| 200 | OK |
| 400 | Invalid payload |
| 401 | Missing or invalid API key |
| 403 | Organization inactive / forbidden |
| 404 | DISC profile not found |
| 429 | Rate limited |
| 500 | Internal error |
| 502 | Provider error |
{ "tool": "disc", "raw_scores": { "natural": { "D": 72, "I": 58, "S": 34, "C": 46 }, "adapted": { "D": 65, "I": 52, "S": 40, "C": 55 } }}{ "status": "error", "error_code": "PSY_PROFILE_NOT_FOUND", "message": "No DISC profile found for the specified user."}This endpoint is deterministic and side-effect free.
Idempotency keys are not required.
Logging and privacy
Avoid logging:
Safe to log: