Getting Started
1. Create an API key
- Log in to the product dashboard.
- Open the API Keys settings tab.
- Click Generate API Key.
- Enter a name (e.g. “Production Key”) and choose an expiry (30 days, 90 days, 1 year, or never).
- After generation, the full API key is shown once. Copy it and store it securely.
- Important: The full key is never shown again. If you lose it, generate a new key. In the list, only a short prefix (e.g.
ng_k83js9d...) is displayed.
API key format and behavior
- Format: Keys start with the prefix
ng_(e.g.ng_abc123...). - Expiry: Each key has an optional expiry date (or “never”). Expired keys are rejected.
- One-time display: The full key is only visible at creation time. After that, only the prefix is shown in the dashboard.
- Security: Treat keys like passwords. Do not commit them to code or share them publicly.
2. Authenticate requests
Send your API key with every request using one of these headers:
Option A - Bearer (recommended)
The Authorization header must include the word Bearer (with a space) before the key. Without it, the API returns 401 Unauthorized.
Option B - X-API-Key
What the API expects
- Option 1:
Authorization: Bearer <api_key>- the key must come after"Bearer "(note the space). - Option 2:
X-API-Key: <api_key>- the raw key only.
Sending Authorization: ng_xxx... without the Bearer prefix is invalid and will result in 401. If you still get 401 with the correct format, the key may be invalid, expired, or revoked.
3. Choose a SoftSkills endpoint
Use POST /api/v1/analyze-video for the standard communication analysis flow. Use POST /api/v1/full-analysis when you want the combined response that includes video-analysis output plus the engine-backed biometric interpretation when available.
3A. Analyze Video API
Endpoint
Base URL: https://softskills-api-b1f382ab39be.herokuapp.com
Description
- The client sends a single video file in the request body.
- The API analyzes the video and returns a structured JSON response (scores, strengths, areas for improvement, detailed feedback, and more).
- The request is stateless: no session or storage; only the analysis result is returned.
Request parameters
Important: The form field name must be video, not file.
Supported file types
.mp4.webm.mov.avi.mkv
Example cURL request
Using Bearer (recommended):
Using X-API-Key:
Replace ng_your_api_key_here with your full API key and /path/to/your/video.mp4 with the path to your video file. The Authorization header must be exactly Bearer (with a space) followed by the key; omitting Bearer causes 401.
3B. Full Analysis API
Endpoint
Base URL: https://softskills-api-b1f382ab39be.herokuapp.com
Description
- The client sends a video file and can optionally include transcript and session context data.
- The API runs the standard video analysis plus the advanced engine-backed interpretation flow in parallel.
- The response includes
video_analysisand may also includeengine_analysis, derived KPI data, the transcript used, and a temporaryvideoUrl.
Request parameters
Example cURL request
Response shape
Successful responses include the standard video_analysis payload plus additional fields used by the advanced pipeline:
engine_analysis: biometric interpretation output. This can benullif the engine step is unavailable or fails.engine_kpis: derived KPI values sent into the engine stage.transcript: the provided or auto-generated transcript used by the pipeline.videoUrl: temporary pre-signed URL for the uploaded video when available.
4. Response and output samples
Success (200 OK)
The response body is a JSON object containing the full analysis, for example:
Exact fields may vary; the API returns the same structure used by the product’s analysis pipeline.
Error responses
401 Unauthorized - Invalid or missing API key. This also occurs if you send Authorization: ng_xxx... without the Bearer prefix; use Authorization: Bearer ng_xxx... or X-API-Key: ng_xxx....
422 Unprocessable Entity - Missing or invalid request (e.g. no file or wrong field name):
500 Internal Server Error - Analysis or server failure:
Summary
- Two external endpoints:
POST /api/v1/analyze-videoandPOST /api/v1/full-analysis. - Authentication: API key in
Authorization: Bearer ng_...orX-API-Key: ng_.... - Request:
multipart/form-datawith a requiredvideofile.full-analysisalso accepts optional transcript and context fields. - Response: Structured JSON analysis for the standard endpoint, or a combined payload with
video_analysisand optional engine outputs for the advanced endpoint. - API keys: Created in the API Keys tab; full key shown once, then hidden; keys can have an expiry date.