Quickstart
This walks you from nothing to a real developer profile in three steps.
1. Get a key
Sign in to Vamo, open Settings, API keys, and mint a key. It is shown once. Keys are prefixed vamo_sk_ and are scoped to one account.
2. Resolve a developer
An input is any human identifier: a GitHub handle, a GitHub or LinkedIn URL, a person's name, or a repository.
curl -X POST https://api.vamotalent.ai/v1/developers \
-H "Authorization: Bearer vamo_sk_..." \
-H "Content-Type: application/json" \
-d '{"inputs": ["torvalds"]}'
You are billed 1 credit per input that resolves to a developer. Inputs that come back ambiguous or not_found cost nothing.
3. Read what it cost
Every priced response carries an x-cost header with the credits debited for that call. Your running balance is at GET /v1/account/credits, and the itemised history is at GET /v1/account/credits/ledger.
If you want the price *before* you commit, add ?vamo_estimate=1 to any priced request. You get the predicted cost and your remaining allowance back, the handler never runs, and nothing is charged.
curl -X POST 'https://api.vamotalent.ai/v1/developers?vamo_estimate=1' \
-H "Authorization: Bearer vamo_sk_..." \
-H "Content-Type: application/json" \
-d '{"inputs": ["torvalds"]}'
When a call is refused
Every 4xx carries the same body: a stable code to branch on, a human message, and a remedy when the condition is self-clearable. Branch on code, never on the numeric status. Each operation in the reference lists the refusals it can return, and the full set of codes is the ApiError schema in openapi.json.
Where to go next
- Choosing a search endpoint if you do not yet know who you are looking for.
- Enrichment and facets to attach contact details, signals, and grades to a developer.