Get On Board Professionals API
Professional profiles within processes
Professional profiles within processes
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/get-on-board-professionals-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Get on Board Professionals API
version: 0.1.0
description: The Get on Board API provides access to the data inside Get on Board, the leading recruitment platform for tech professionals in Latin America.
servers:
- url: https://www.getonbrd.com
description: Production
- url: https://sandbox.getonbrd.dev
description: Sandbox
tags:
- name: Professionals
description: Professional profiles within processes
paths:
/api/v0/professionals:
get:
summary: List professionals
tags:
- Professionals
security:
- ApiKeyAuth: []
responses:
'200':
description: Returns a paginated list of professionals for a given hiring process.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
type:
type: string
attributes:
type: object
properties:
slug:
type: string
country:
type: string
name:
type: string
country_name:
type: string
created_at:
type: integer
updated_at:
type: integer
email:
type: string
location: {}
description:
type: string
image:
type: object
properties:
url: {}
thumb:
type: object
properties:
url: {}
required:
- url
required:
- url
- thumb
github:
type: string
twitter: {}
linkedin: {}
portfolio: {}
min_salary: {}
professional_background:
type: string
academic_background:
type: string
uploaded_cv:
type: object
properties:
url:
type:
- string
- 'null'
required:
- url
stackoverflow: {}
youtube: {}
gitlab: {}
phone: {}
required:
- slug
- name
- country
- created_at
- updated_at
required:
- id
- type
- attributes
meta:
type: object
properties:
page:
type: integer
per_page:
type: integer
total_pages:
type: integer
required:
- page
- per_page
- total_pages
required:
- data
- meta
example:
data: []
meta:
page: 1
per_page: 120
total_pages: 1
'401':
description: Returns a paginated list of professionals for a given hiring process.
content:
application/json:
schema:
type: object
properties:
message:
type: string
code:
type: string
required:
- message
- code
example:
message: (Status 401) Unauthorized access to the API
code: unauthorized
'422':
description: Returns a paginated list of professionals for a given hiring process.
content:
application/json:
schema:
type: object
properties:
message:
type: string
code:
type: string
required:
- message
- code
example:
message: process_id param is required
code: unprocessable_content
parameters:
- name: Authorization
in: header
required: true
schema:
type: string
example: Bearer YOUR_API_KEY
description: Bearer credential for the authentication scheme required by this endpoint.
- name: page
in: query
required: false
schema:
type: integer
minimum: 1
example: 2
description: Page number, starting at 1.
- name: per_page
in: query
required: false
schema:
type: integer
minimum: 1
maximum: 120
example: 1
description: Number of records per page. The default and maximum are usually 120 unless an endpoint documents a different behavior.
- name: process_id
in: query
required: false
schema:
type: integer
example: 151
operationId: listProfessionals
/api/v0/professionals/{id}:
get:
summary: Retrieve a professional
tags:
- Professionals
security:
- ApiKeyAuth: []
parameters:
- name: Authorization
in: header
required: false
schema:
type: string
example: Bearer YOUR_API_KEY
description: Bearer credential for the authentication scheme required by this endpoint.
- name: id
in: path
required: true
schema:
oneOf:
- type: string
- type: integer
type: integer
example: 1
description: Professional ID from `GET /api/v0/professionals?process_id=...`.
- name: process_id
in: query
required: false
schema:
type: integer
example: 142
responses:
'200':
description: Returns the details of a specific professional by ID within a hiring process. This endpoint is process-scoped and requires `process_id`. Use it when you already know the relevant hiring process; otherwise fetch the canonical resource you started from, such as an application, and expand related data or resolve the process first.
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
id:
type: string
type:
type: string
attributes:
type: object
properties:
slug:
type: string
email:
type: string
name:
type: string
location: {}
description:
type: string
image:
type: object
properties:
url: {}
thumb:
type: object
properties:
url: {}
required:
- url
required:
- url
- thumb
github:
type: string
twitter: {}
linkedin: {}
portfolio: {}
min_salary: {}
professional_background:
type: string
academic_background:
type: string
uploaded_cv:
type: object
properties:
url:
type:
- string
- 'null'
required:
- url
country:
type: string
stackoverflow: {}
youtube: {}
gitlab: {}
phone: {}
created_at:
type: integer
updated_at:
type: integer
country_name:
type: string
required:
- slug
- name
- country
- created_at
- updated_at
required:
- id
- type
- attributes
required:
- data
example:
data:
id: '51'
type: professional
attributes:
slug: webpro-51
email: webpro51@example.com
name: 'Webpro '
location: null
description: Polyglot full-stack developer
image:
url: null
thumb:
url: null
github: githubuser51
twitter: null
linkedin: null
portfolio: null
min_salary: null
professional_background: ''
academic_background: ''
uploaded_cv:
url: /uploads/resumes/test/pdf_file_under_5mb.pdf
country: CL
stackoverflow: null
youtube: null
gitlab: null
phone: null
created_at: 1784217368
updated_at: 1784217368
country_name: Chile
'401':
description: Returns the details of a specific professional by ID within a hiring process. This endpoint is process-scoped and requires `process_id`. Use it when you already know the relevant hiring process; otherwise fetch the canonical resource you started from, such as an application, and expand related data or resolve the process first.
content:
application/json:
schema:
type: object
properties:
message:
type: string
code:
type: string
required:
- message
- code
example:
message: (Status 401) Unauthorized access.
code: unauthorized
'404':
description: Returns the details of a specific professional by ID within a hiring process. This endpoint is process-scoped and requires `process_id`. Use it when you already know the relevant hiring process; otherwise fetch the canonical resource you started from, such as an application, and expand related data or resolve the process first.
content:
application/json:
schema:
type: object
properties:
message:
type: string
code:
type: string
required:
- message
- code
example:
message: Record not found
code: not_found
'422':
description: Returns the details of a specific professional by ID within a hiring process. This endpoint is process-scoped and requires `process_id`. Use it when you already know the relevant hiring process; otherwise fetch the canonical resource you started from, such as an application, and expand related data or resolve the process first.
content:
application/json:
schema:
type: object
properties:
message:
type: string
code:
type: string
required:
- message
- code
example:
message: process_id param is required
code: unprocessable_content
operationId: retrieveProfessional
components:
securitySchemes:
ApiKeyAuth:
type: http
scheme: bearer
bearerFormat: API key
description: 'Company authentication for private endpoints. Send `Authorization: Bearer <api_key>`.'
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: Professional JWT token obtained via /api/v0/auth_tokens
BoardSecretKey:
type: http
scheme: bearer
bearerFormat: Board secret
description: 'Board+ HMAC secret key. Send `Authorization: Bearer <board_secret_key>`. The legacy query-string form (`?secret_key=...`) is still accepted by the server but is discouraged because secrets leak into logs, browser history, and referrers.'
x-tagGroups:
- name: Public
tags:
- Categories
- Companies
- Countries
- Headcounts
- Industries
- Insights
- Modalities
- Perks
- Regions
- Search
- Seniorities
- Tags
- Tenant Cities
- name: Private
tags:
- Applications
- Company shells
- Jobs
- Matching
- Processes
- Professionals
- Webhooks
- name: Authentication
tags:
- Authentication
- name: Board+
tags:
- Board+