O seu primeiro pedido
Atualizado
Um pedido, uma resposta e para que serve cada campo. Tudo o que está abaixo é curl; qualquer cliente HTTP funciona da mesma maneira.
Enviar a chave
Apresente a chave como um token bearer:
curl https://api.wipperoz.com/v1/jobs \
-H "Authorization: Bearer $ORBIT_API_KEY"
O cabeçalho x-api-key também é aceite, para clientes que não conseguem definir Authorization:
curl https://api.wipperoz.com/v1/jobs \
-H "x-api-key: $ORBIT_API_KEY"
Ler a resposta
{
"jobs": [
{
"id": "job_01J8Z3K9Q0EXAMPLE",
"status": "published",
"title": "Senior Backend Engineer",
"description": "Own the services behind our hiring pipeline, from the API surface to the queues that move applications through it.",
"responsibilities": ["Design and ship services on AWS Lambda and DynamoDB"],
"skills": [{"name": "TypeScript", "level": "required"}],
"benefits": ["Remote-first"],
"seniority": "senior",
"employmentType": "full_time",
"contractType": "permanent",
"salary": {"min": 150000, "max": 180000, "currency": "AUD", "period": "year"},
"location": {"country": "AU", "state": "NSW", "city": "Sydney", "remotePolicy": "hybrid"},
"company": {"name": "Acme Robotics"},
"postedAt": "2026-09-01T02:15:00.000Z",
"updatedAt": "2026-09-03T10:40:00.000Z",
"expiresAt": "2026-10-01T02:15:00.000Z",
"url": "https://www.wipperoz.com/en/jobs/acme-robotics/senior-backend-engineer",
"applyLink": "https://www.wipperoz.com/en/apply/job_01J8Z3K9Q0EXAMPLE?src=careers&account=acc_01J8Z3EXAMPLE"
}
],
"nextCursor": null
}
Três campos carregam o peso:
statusépublished,closedouexpired. Sópublishedaceita candidaturas. Os outros dois são devolvidos em vez de omitidos para que a sua página possa dizer “esta vaga fechou” em vez de mostrar uma ligação partida.applyLinké onde um candidato se candidata. Ligue para lá; não copie o formulário. Osrc=careers&account=…no fim é como a página de candidatura regista que o candidato veio do seu site, e é isso que torna as candidaturas da sua página de carreiras separáveis das que a Wipperoz envia.nextCursorénullquando esta é a última página. Quando não é, devolva-o como?cursor=para pedir a seguinte.
Uma vaga
curl https://api.wipperoz.com/v1/jobs/job_01J8Z3K9Q0EXAMPLE \
-H "Authorization: Bearer $ORBIT_API_KEY"
A vaga de outra conta, um rascunho e um id desconhecido respondem todos 404. Um rascunho ainda não tem existência pública.
Cabeçalhos em cada resposta
X-RateLimit-Limit: 120
X-RateLimit-Remaining: 119
X-RateLimit-Reset: 1788700860
Cada chave pode fazer 120 pedidos por minuto. Acima disso, a resposta é 429 com um Retry-After em segundos. Uma página de carreiras que sincroniza de forma agendada nunca o verá.
Quando algo corre mal
Todos os erros têm a mesma forma:
{
"error": {
"code": "forbidden",
"message": "This key does not carry the `jobs:read` scope. Mint a key with it in Orbit → Settings → API keys.",
"requestId": "5f7a9c1e-2b3d-4e5f-8a9b-0c1d2e3f4a5b"
}
}
Cite o requestId quando escrever ao suporte. A lista completa de códigos e de todos os parâmetros está na referência:
GET /v1/jobs