KosmoKrator

hr

Recruitee Lua API for KosmoKrator Agents

Agent-facing Lua documentation and function reference for the Recruitee KosmoKrator integration.

6 functions 6 read 0 write Bearer token auth

Lua Namespace

Agents call this integration through app.integrations.recruitee.*. Use lua_read_doc("integrations.recruitee") inside KosmoKrator to discover the same reference at runtime.

Agent-Facing Lua Docs

This is the rendered version of the full Lua documentation exposed to agents when they inspect the integration namespace.

Recruitee — Lua API Reference

list_offers

List job offers (open positions) from Recruitee with optional status filtering and pagination.

Parameters

NameTypeRequiredDescription
statusstringnoFilter by status: "open", "closed", or "draft". Omit for all.
pageintegernoPage number for pagination (default: 1).
limitintegernoResults per page (default: 20, max: 100).

Example

-- List all open positions
local result = app.integrations.recruitee.list_offers({
  status = "open"
})

for _, offer in ipairs(result.offers) do
  print(offer.title .. " (" .. offer.status .. ")")
end
-- Paginate through all offers
local result = app.integrations.recruitee.list_offers({
  page = 2,
  limit = 50
})

get_offer

Get details for a specific job offer.

Parameters

NameTypeRequiredDescription
idintegeryesThe offer ID to retrieve.

Example

local result = app.integrations.recruitee.get_offer({
  id = 12345
})

print(result.offer.title)
print(result.offer.description)
print(result.offer.status)
print(result.offer.location)

list_candidates

List candidates from Recruitee with pagination.

Parameters

NameTypeRequiredDescription
pageintegernoPage number for pagination (default: 1).
limitintegernoResults per page (default: 20, max: 100).

Example

-- List recent candidates
local result = app.integrations.recruitee.list_candidates({
  limit = 10
})

for _, candidate in ipairs(result.candidates) do
  print(candidate.name .. " <" .. candidate.email .. ">")
end

get_candidate

Get details for a specific candidate.

Parameters

NameTypeRequiredDescription
idintegeryesThe candidate ID to retrieve.

Example

local result = app.integrations.recruitee.get_candidate({
  id = 67890
})

print(result.candidate.name)
print(result.candidate.email)
print(result.candidate.phone)

list_departments

List all departments in Recruitee.

Parameters

None.

Example

local result = app.integrations.recruitee.list_departments()

for _, dept in ipairs(result.departments) do
  print(dept.name .. " (ID: " .. dept.id .. ")")
end

get_current_user

Get the currently authenticated Recruitee user.

Parameters

None.

Example

local result = app.integrations.recruitee.get_current_user()

print("Logged in as: " .. result.first_name .. " " .. result.last_name)
print("Email: " .. result.email)
print("Role: " .. result.role)

Multi-Account Usage

If you have multiple Recruitee accounts configured, use account-specific namespaces:

-- Default account (always works)
app.integrations.recruitee.list_offers({...})

-- Explicit default (portable across setups)
app.integrations.recruitee.default.list_offers({...})

-- Named accounts
app.integrations.recruitee.production.list_offers({...})
app.integrations.recruitee.staging.list_offers({...})

All functions are identical across accounts — only the credentials differ.

Raw agent markdown
# Recruitee — Lua API Reference

## list_offers

List job offers (open positions) from Recruitee with optional status filtering and pagination.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `status` | string | no | Filter by status: `"open"`, `"closed"`, or `"draft"`. Omit for all. |
| `page` | integer | no | Page number for pagination (default: 1). |
| `limit` | integer | no | Results per page (default: 20, max: 100). |

### Example

```lua
-- List all open positions
local result = app.integrations.recruitee.list_offers({
  status = "open"
})

for _, offer in ipairs(result.offers) do
  print(offer.title .. " (" .. offer.status .. ")")
end
```

```lua
-- Paginate through all offers
local result = app.integrations.recruitee.list_offers({
  page = 2,
  limit = 50
})
```

---

## get_offer

Get details for a specific job offer.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `id` | integer | yes | The offer ID to retrieve. |

### Example

```lua
local result = app.integrations.recruitee.get_offer({
  id = 12345
})

print(result.offer.title)
print(result.offer.description)
print(result.offer.status)
print(result.offer.location)
```

---

## list_candidates

List candidates from Recruitee with pagination.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `page` | integer | no | Page number for pagination (default: 1). |
| `limit` | integer | no | Results per page (default: 20, max: 100). |

### Example

```lua
-- List recent candidates
local result = app.integrations.recruitee.list_candidates({
  limit = 10
})

for _, candidate in ipairs(result.candidates) do
  print(candidate.name .. " <" .. candidate.email .. ">")
end
```

---

## get_candidate

Get details for a specific candidate.

### Parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `id` | integer | yes | The candidate ID to retrieve. |

### Example

```lua
local result = app.integrations.recruitee.get_candidate({
  id = 67890
})

print(result.candidate.name)
print(result.candidate.email)
print(result.candidate.phone)
```

---

## list_departments

List all departments in Recruitee.

### Parameters

None.

### Example

```lua
local result = app.integrations.recruitee.list_departments()

for _, dept in ipairs(result.departments) do
  print(dept.name .. " (ID: " .. dept.id .. ")")
end
```

---

## get_current_user

Get the currently authenticated Recruitee user.

### Parameters

None.

### Example

```lua
local result = app.integrations.recruitee.get_current_user()

print("Logged in as: " .. result.first_name .. " " .. result.last_name)
print("Email: " .. result.email)
print("Role: " .. result.role)
```

---

## Multi-Account Usage

If you have multiple Recruitee accounts configured, use account-specific namespaces:

```lua
-- Default account (always works)
app.integrations.recruitee.list_offers({...})

-- Explicit default (portable across setups)
app.integrations.recruitee.default.list_offers({...})

-- Named accounts
app.integrations.recruitee.production.list_offers({...})
app.integrations.recruitee.staging.list_offers({...})
```

All functions are identical across accounts — only the credentials differ.

Metadata-Derived Lua Example

local result = app.integrations.recruitee.recruitee_list_offers({
  status = "example_status",
  page = 1,
  limit = 1
})
print(result)

Functions

recruitee_list_offers

List job offers (open positions) from Recruitee. Returns paginated results with offer titles, statuses, and metadata. Filter by status to see only open, closed, or draft positions.

Operation
Read read
Full name
recruitee.recruitee_list_offers
ParameterTypeRequiredDescription
status string no Filter by offer status: "open", "closed", or "draft". Omit to return all offers.
page integer no Page number for pagination (default: 1).
limit integer no Number of results per page (default: 20, max: 100).

recruitee_get_offer

Get details for a specific job offer in Recruitee. Returns the full offer object including title, description, requirements, location, and status.

Operation
Read read
Full name
recruitee.recruitee_get_offer
ParameterTypeRequiredDescription
id integer yes The offer ID to retrieve.

recruitee_list_candidates

List candidates from Recruitee. Returns paginated results with candidate names, emails, and application status.

Operation
Read read
Full name
recruitee.recruitee_list_candidates
ParameterTypeRequiredDescription
page integer no Page number for pagination (default: 1).
limit integer no Number of results per page (default: 20, max: 100).

recruitee_get_candidate

Get details for a specific candidate in Recruitee. Returns the full candidate profile including contact info, resume, and application history.

Operation
Read read
Full name
recruitee.recruitee_get_candidate
ParameterTypeRequiredDescription
id integer yes The candidate ID to retrieve.

recruitee_list_departments

List all departments in Recruitee. Returns department names and IDs that can be used to filter offers.

Operation
Read read
Full name
recruitee.recruitee_list_departments
ParameterTypeRequiredDescription
No parameters.

recruitee_get_current_user

Get the currently authenticated Recruitee user. Returns user profile info including name, email, and role.

Operation
Read read
Full name
recruitee.recruitee_get_current_user
ParameterTypeRequiredDescription
No parameters.