Ir para o conteúdo

API pública

Integre a NEX nas suas ferramentas

Uma API JSON para ler as ofertas publicadas e, com uma chave de empresa, gerir as suas ofertas, acompanhar as candidaturas e ler o organograma.

URL de base
https://nexjobs.net/api/v1
Formato
JSON, datas ISO 8601 em hora universal
Versão
v1
Autenticação
Chave de empresa num cabeçalho Bearer (exceto nos pontos de acesso públicos)

Começar

  1. O proprietário da conta de empresa abre Gestão e depois API e integrações.
  2. Cria uma chave, dá-lhe um nome e assinala apenas os acessos necessários.
  3. Copia a chave, mostrada uma única vez, e guarda-a na ferramenta que vai chamar a API.

Criar chaves exige um plano que inclua o acesso à API. As ofertas publicadas continuam legíveis sem chave.

Autenticação

Envie a chave no cabeçalho Authorization de cada pedido, depois da palavra Bearer.

Authorization: Bearer nex_live_…

Uma chave abre os dados da sua empresa: guarde-a no seu servidor, nunca numa página web nem numa aplicação instalada. Aliás, os pontos de acesso privados recusam chamadas vindas de um navegador. Em caso de dúvida, revogue-a e crie outra.

Acessos (scopes)

Cada chave só pode fazer o que foi assinalado quando foi criada.

Acessos (scopes)
AcessoO que permite
jobs:readLer as ofertas da empresa, seja qual for o estado.
jobs:writeCriar ofertas e encerrá-las.
applications:readLer as candidaturas recebidas: nome do candidato, etapa, resultado, datas e documentos.
organization:readLer o organograma: direções, departamentos, serviços e postos.

Limites de chamadas

Cada chave pode enviar 120 pedidos por minuto.

Os pontos de acesso públicos, sem chave, aceitam 120 pedidos por minuto e por endereço IP.

Acima disso, a resposta tem o código 429 e o cabeçalho Retry-After, que indica quantos segundos esperar.

Paginação

As listas aceitam os parâmetros page (a partir de 1) e pageSize (20 por omissão, 50 no máximo) e devolvem o total e o número de páginas.

{
  "data": [ … ],
  "pagination": { "page": 1, "pageSize": 20, "total": 57, "totalPages": 3 }
}

Erros

Todos os erros têm a mesma forma: um código estável, para usar no seu programa, e uma mensagem de ajuda em inglês.

{
  "error": {
    "code": "insufficient_scope",
    "message": "This key lacks the \"jobs:write\" scope."
  }
}
Erros
CódigoSignificado
unauthorizedSem chave, ou cabeçalho Authorization mal formado.
invalid_api_keyChave desconhecida ou revogada.
api_access_not_in_planO plano da empresa já não inclui o acesso à API.
insufficient_scopeA chave não tem o acesso exigido por este ponto de acesso.
rate_limitedDemasiados pedidos: aguarde o tempo indicado por Retry-After.
invalid_requestParâmetro ou corpo do pedido inválido; o detalhe indica o campo.
unsupported_media_typeO corpo tem de ser enviado em JSON (Content-Type: application/json).
payload_too_largeO corpo excede 64 KB.
not_foundRecurso não encontrado, ou que não pertence à sua empresa.
invalid_transitionMudança de estado impossível, por exemplo encerrar um rascunho.
publication_blockedNão é possível publicar: e-mail não verificado ou limite de ofertas ativas atingido. Crie a oferta como rascunho.
internal_errorErro do nosso lado: tente mais tarde.

Pontos de acesso

  • GET/jobs

    Lista as ofertas publicadas, das mais recentes para as mais antigas. Filtros: q (texto livre), country (código de país ISO), sector (código de setor), contract (tipo de contrato).

    Público, sem chave.

    curl "https://nexjobs.net/api/v1/jobs?q=engineer&pageSize=10"
  • GET/jobs/{id}

    Detalhe de uma oferta publicada: descrição, documentos pedidos e ligação para a sua página, onde se faz a candidatura.

    Público, sem chave.

    curl "https://nexjobs.net/api/v1/jobs/<id>"
  • GET/employer/jobs

    Lista as ofertas da sua empresa, seja qual for o estado, com o número de candidaturas. Filtro: status.

    Acesso necessário: jobs:read

    curl "https://nexjobs.net/api/v1/employer/jobs?status=PUBLISHED" \
      -H "Authorization: Bearer nex_live_…"
  • POST/employer/jobs

    Cria uma oferta: rascunho por omissão; com publish a true, é publicada se a empresa estiver verificada e, caso contrário, aguarda moderação.

    Acesso necessário: jobs:write

    curl -X POST "https://nexjobs.net/api/v1/employer/jobs" \
      -H "Authorization: Bearer nex_live_…" \
      -H "Content-Type: application/json" \
      -d '{
        "title": "Maintenance technician",
        "description": "Preventive and corrective maintenance of the plant equipment.",
        "contractType": "PERMANENT",
        "payPeriod": "MONTHLY",
        "currency": "USD",
        "salaryMin": 900,
        "salaryMax": 1200,
        "requiredDocuments": [{ "kind": "CV" }],
        "publish": true
      }'
  • GET/employer/jobs/{id}

    Detalhe de uma das suas ofertas, com as etapas do processo e o número de candidaturas em cada uma.

    Acesso necessário: jobs:read

    curl "https://nexjobs.net/api/v1/employer/jobs/<id>" \
      -H "Authorization: Bearer nex_live_…"
  • PATCH/employer/jobs/{id}

    Encerra uma oferta publicada ou pendente. Só é aceite a passagem ao estado encerrado.

    Acesso necessário: jobs:write

    curl -X PATCH "https://nexjobs.net/api/v1/employer/jobs/<id>" \
      -H "Authorization: Bearer nex_live_…" \
      -H "Content-Type: application/json" \
      -d '{ "status": "CLOSED" }'
  • GET/employer/applications

    Lista as candidaturas recebidas. Filtros: jobId, outcome, updatedSince (data ISO 8601).

    Acesso necessário: applications:read

    curl "https://nexjobs.net/api/v1/employer/applications?outcome=ACTIVE&updatedSince=2026-09-01T00:00:00Z" \
      -H "Authorization: Bearer nex_live_…"
  • GET/organization

    Devolve o organograma: direções, departamentos, serviços e postos de trabalho.

    Acesso necessário: organization:read

    curl "https://nexjobs.net/api/v1/organization" \
      -H "Authorization: Bearer nex_live_…"

Proteção dos candidatos

A API nunca devolve o e-mail, o telefone nem as mensagens de um candidato, nem qualquer palavra-passe ou conta. É a NEX que organiza o contacto entre o empregador e o candidato.

Evolução da API

Na versão v1 podem ser acrescentados campos, mas nunca renomeados nem removidos. Uma alteração incompatível dará origem a uma versão v2, anunciada com antecedência.

Especificação OpenAPI (JSON)

© 2026 NEX — A plataforma que recruta a excelência