Jobs API

A API de vagas do Codante.io é uma API que simula uma lista de vagas de emprego. A API responde com um código de status 200 para solicitações bem-sucedidas, fornecendo recursos de vagas no formato JSON, cada um contendo informações detalhadas como ID da vaga, título, empresa, localização, salário e requisitos.

Para solicitações inválidas, a API retorna um código de status 422, garantindo um feedback claro sobre erros nos parâmetros fornecidos.

Vale lembrar que a base de dados é resetada a cada quatro horas - então os dados não serão persistentes por muito tempo.

Autenticação

A API de vagas do Codante.io não requer autenticação para acessar as vagas.

Rate Limit

A API de vagas do Codante.io possui um limite de taxa de 100 solicitações por minuto. Se você exceder esse limite, receberá um código de status 429. O uso indiscriminado também poderá levar ao bloqueio do seu IP.

Base URL

A URL base para a API de vagas do Codante.io é https://apis.codante.io/api/job-board.

O model Job (Vaga)

O model Job contém todas as informações sobre uma vaga de emprego.

Propriedades

  • Name
    id
    Type
    integer
    Description

    Identificador único da vaga.

  • Name
    title
    Type
    string
    Description

    Título da vaga.

  • Name
    company
    Type
    string
    Description

    Nome da empresa que está contratando.

  • Name
    company_website
    Type
    string
    Description

    URL do site da empresa.

  • Name
    city
    Type
    string
    Description

    Cidade onde a vaga está localizada.

  • Name
    schedule
    Type
    string
    Description

    Tipo de contrato. Pode ser 'full-time', 'part-time', 'contract' ou 'internship'.

  • Name
    salary
    Type
    integer
    Description

    Salário mensal da vaga em reais.

  • Name
    description
    Type
    string
    Description

    Descrição detalhada da vaga.

  • Name
    requirements
    Type
    string
    Description

    Requisitos necessários para a vaga.

  • Name
    created_at
    Type
    timestamp
    Description

    Data e hora de criação do registro da vaga.

  • Name
    updated_at
    Type
    timestamp
    Description

    Data e hora da última atualização do registro.


GET/job-board/jobs

Listagem de vagas

Este endpoint retorna uma lista paginada de todas as vagas disponíveis. Por padrão, retorna 10 vagas por página, ordenadas por data de criação (mais recentes primeiro). Você pode passar o parâmetro slow=true para simular um atraso na resposta, e search para filtrar os resultados.

Atributos opcionais

  • Name
    search
    Type
    string
    Description

    Filtra as vagas por um termo de busca textual (título, empresa ou cidade).

  • Name
    slow
    Type
    boolean
    Description

    Simula um atraso na resposta da API.

  • Name
    page
    Type
    integer
    Description

    Número da página desejada (padrão: 1).

Request

GET
/job-board/jobs
curl -G https://apis.codante.io/api/job-board/jobs

Response

{
  "data": [
    {
      "id": 3,
      "title": "Desenvolvedor Backend",
      "company": "Amazon",
      "company_website": "https://amazon.com",
      "city": "Seattle",
      "schedule": "full-time",
      "salary": 8000,
      "description": "Estamos procurando um desenvolvedor backend para se juntar à nossa equipe.",
      "requirements": "Experiência com PHP, Laravel",
      "created_at": "2025-01-14T21:14:11.000000Z",
      "updated_at": "2025-01-14T21:14:11.000000Z"
    }
    // ... mais vagas ...
  ],
  "links": {
    "first": "https://apis.codante.io/api/job-board/jobs?page=1",
    "last": "https://apis.codante.io/api/job-board/jobs?page=5",
    "prev": null,
    "next": "https://apis.codante.io/api/job-board/jobs?page=2"
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 5,
    "path": "https://apis.codante.io/api/job-board/jobs",
    "per_page": 10,
    "to": 10,
    "total": 50
  }
}

GET/job-board/jobs/{id}

Vaga Individual

Este endpoint retorna uma vaga específica. Você pode passar o parâmetro de consulta slow=true para simular um atraso na resposta.

Request

GET
/job-board/jobs/{id}
curl -G https://apis.codante.io/api/job-board/jobs/3

Response

{
  "data": {
    "id": 3,
    "title": "Desenvolvedor Backend",
    "company": "Amazon",
    "company_website": "https://amazon.com",
    "city": "Seattle",
    "schedule": "full-time",
    "salary": 8000,
    "description": "Estamos procurando um desenvolvedor backend para se juntar à nossa equipe.",
    "requirements": "Experiência com PHP, Laravel",
    "created_at": "2025-01-14T21:14:11.000000Z",
    "updated_at": "2025-01-14T21:14:11.000000Z"
  }
}

POST/job-board/jobs

Criar Vaga

Este endpoint cria uma nova vaga. Retorna código de status 201 para sucesso e 422 para falha.

Request

POST
/job-board/jobs
curl -X "POST" https://apis.codante.io/api/job-board/jobs \
  -d "title=Desenvolvedor Backend" \
  -d "company=Amazon" \
  -d "company_website=https://amazon.com" \
  -d "city=Seattle" \
  -d "schedule=full-time" \
  -d "salary=8000" \
  -d "description=Estamos procurando..." \
  -d "requirements=Experiência com PHP, Laravel"

Response

{
  "data": {
    "id": 3,
    "title": "Desenvolvedor Backend",
    "company": "Amazon",
    "company_website": "https://amazon.com",
    "city": "Seattle",
    "schedule": "full-time",
    "salary": 8000,
    "description": "Estamos procurando um desenvolvedor backend para se juntar à nossa equipe.",
    "requirements": "Experiência com PHP, Laravel",
    "created_at": "2025-01-14T21:14:11.000000Z",
    "updated_at": "2025-01-14T21:14:11.000000Z"
  }
}

DELETE/job-board/jobs/{id}

Apagar Vaga

Este endpoint apaga uma vaga específica. Retorna código de status 204 para sucesso e 404 caso a vaga não seja encontrada.

Request

DELETE
/job-board/jobs/{id}
curl -X DELETE https://apis.codante.io/api/job-board/jobs/3

Response

// Retorna 204 No Content

GET/job-board/jobs/{id}/comments

Comentários da Vaga

Este endpoint retorna uma lista de comentários para uma vaga específica.

Request

GET
/job-board/jobs/{id}/comments
curl -G https://apis.codante.io/api/job-board/jobs/3/comments

Response

{
  "data": [
    {
      "id": 1,
      "job_id": 3,
      "author": "John Doe",
      "content": "Interessante vaga, estou interessado.",
      "created_at": "2025-01-15T10:00:00.000000Z"
    },
    {
      "id": 2,
      "job_id": 3,
      "author": "Jane Smith",
      "content": "Gostaria de saber mais detalhes sobre a vaga.",
      "created_at": "2025-01-15T11:00:00.000000Z"
    },
    {
      "id": 3,
      "job_id": 3,
      "author": "Alice Johnson",
      "content": "Qual é o prazo para se candidatar?",
      "created_at": "2025-01-15T12:00:00.000000Z"
    }
  ]
}