# Symbory for developers: ATS API, HR API and MCP access

A REST ATS and HR API plus an MCP server: build against jobs, candidates, interviews, employees and goals, with self-service tokens and the same permissions the person asking already has.

For developers

# Your people data,
 one call away.

Symbory speaks MCP and REST. The assistant your team already uses can ask about a person's history and get a real answer, with the same permissions the person asking already has. **We're not another place to go and look. We're where the answer comes from.**

[Create your account →](https://www.symbory.com/signup.html) [See the endpoints](https://www.symbory.com/developers.html#api)

GET /v1/timeline/employees/{employeeID} Authorization: Bearer sk_live_… 200 OK [ { "type": "interview_completed", "occurred_at": "2024-02-14T10:00:00Z", "body": "Wants architectural ownership." }, { "type": "commitment_logged", "occurred_at": "2024-03-01T09:15:00Z", "body": "Salary review at twelve months." }, { "type": "oneonone_completed", "occurred_at": "2025-02-14T11:00:00Z", "body": "Review held. Scope widened." } ]

What an assistant reads before someone's 1:1. The first two events pre-date the hire: the query reaches back through **candidate_id**, so one call returns the whole line.

Hosted in the EU Permissions you already have Tokens you generate yourself

## Integrate with whatever you're already using.

Not because we built a connector for it. Because the whole product, ATS included, is reachable over an open REST API and an MCP server, and you write the twenty lines that fit your stack. Nothing waits on our roadmap.

A closed HR toolYou get what's on the list

- *✕*Prebuilt connectors only.
- *✕*Your data, reachable on their terms.
- *✕*New integration? File a request.
- *✕*One more silo, with an export button.

SymboryYou build what you need

- *✓*REST API over **hiring, people and growth**.
- *✓*MCP for **agents and assistants**.
- *✓*Generate a token **yourself**, in Settings.
- *✓*Scoped to your workspace and your role.

MCP

## Give your team's assistants your organisation's memory.

Symbory ships a Model Context Protocol server. Point Claude, or any MCP-capable assistant or internal agent you're building, at a workspace and it can ask questions against a person's real history: hiring conversations, one-on-ones, notes, commitments, goals.

### Did we ever promise them that?

`recall_commitment` answers a plain-language question against everything a person's history holds. This is the one nothing else does: every other tool follows what the employee delivered. This one holds the company to its half.

### What should I know before this conversation?

`prepare_1on1` builds a briefing from the whole relationship, not the last meeting. `get_employee_timeline` returns the run of it: first interview through today, one continuous line. `search_memory` looks across all of it at once.

### Permissions come with the question

Tools run through the same authorisation as the product itself. The token carries a role, scoped to your workspace. An assistant can't reach anything the person holding the token couldn't already open. Nothing is a direct line to the data.

Fourteen tools today, covering people, hiring and the timeline. Want to see it against your own setup? [Get in touch](https://www.symbory.com/contact.html).

## What an assistant can reach, and what it can't.

Opening people data to an AI assistant is a reasonable thing to be careful about. Here is exactly where the edges are.

### “Does this bypass our permissions?”

**No, it inherits them.** Every tool call runs through the same authorisation and workspace scoping as the product, and the token carries the role of whoever generated it. There is no path from a tool straight to the underlying data.

### “How far does a token reach?”

**One workspace, one role, one year.** A token carries the role of whoever generated it and can do nothing that person couldn't, so it is worth issuing from an account with the access the job actually needs. It's shown once, so keep it somewhere you'd keep any other secret. Full GDPR rights apply to everything behind it: access, correction, deletion.

## The same thing, without the assistant in the middle.

The dashboard is a client of this API, not a privileged path around it. Mint a token with `POST /v1/auth/api-token` from Settings, on the [Team plan](https://www.symbory.com/pricing.html) and up, valid a year, shown once, carrying your own role. No sales call.

### Jobs

**GET****POST**`/v1/talent/jobs`List and open roles

**GET****PUT****DEL**`/v1/talent/jobs/*{jobID}*`A single role

**GET****POST**`/v1/talent/jobs/*{jobID}*/applications`Everyone who applied

**POST**`/v1/talent/jobs/*{jobID}*/applications/*{applicationID}*/stage`Move someone along the pipeline

### Candidates & applications

**GET****POST**`/v1/talent/candidates`The people, across every role

**GET****PUT**`/v1/talent/candidates/*{candidateID}*`One candidate

**GET**`/v1/talent/candidates/*{candidateID}*/applications`Every role they've been up for

**GET****POST**`/v1/talent/candidates/*{candidateID}*/documents`CVs and attachments

**GET****POST**`/v1/talent/applications/*{applicationID}*/notes`What the team wrote down

**GET**`/v1/talent/applications/*{applicationID}*/stage-history`Every move, with timestamps

**POST**`/v1/talent/applications/*{applicationID}*/reject`Close it out, in their language

### Interviews

**GET**`/v1/hiring/interviews`What's scheduled

**GET****POST**`/v1/hiring/applications/*{applicationID}*/interviews`Book against an application

**GET****PUT****DEL**`/v1/hiring/interviews/*{interviewID}*`One conversation

**POST**`/v1/hiring/interviews/*{interviewID}*/complete`Close it and write it back

### People

**GET****POST**`/v1/people/employees`Everyone currently employed

**GET****PUT**`/v1/people/employees/*{employeeID}*`One person

**GET****POST**`/v1/people/employees/*{employeeID}*/documents`Contracts and acknowledgements

**GET****POST**`/v1/people/employees/*{employeeID}*/one-on-ones`The conversations themselves

### Goals & timeline

**GET**`/v1/growth/goals`Across the company

**GET****POST**`/v1/growth/employees/*{employeeID}*/goals`What one person agreed to

**GET****PUT****DEL**`/v1/growth/goals/*{goalID}*`A single goal and its progress

**GET**`/v1/timeline/employees/*{employeeID}*`First interview through today, one continuous line. The call the MCP tools sit on

### Careers page

**GET**`/v1/public/tenants/*{tenantSlug}*/jobs`Open roles, no auth. Build your own careers page

**POST**`/v1/public/applications`Applications land straight in the pipeline

### Agencies

**GET**`/v1/agency/jobs`The roles you opened to that agency

**POST**`/v1/agency/applications`One candidate for one role, credited to the agency

### The ones that think

**POST**`/v1/talent/applications/*{applicationID}*/summary`A CV read for you

**POST**`/v1/talent/applications/*{applicationID}*/interview-prep`What to ask this person

**POST**`/v1/people/employees/*{employeeID}*/ask`A plain question against one person's history

**POST**`/v1/people/employees/*{employeeID}*/one-on-ones/briefing`What's open, and what was promised

Working with recruitment agencies? Their own ATS can send candidates straight into your pipeline with the link you already gave them, sent as a Bearer token. One person for one role, chosen by the agency, and nothing else from their books reaches you.

That's the set most integrations start with. The rest of hiring, people and growth follows the same shape and your token already reaches it. If you'd rather someone walked it through against your stack, [get in touch](https://www.symbory.com/contact.html).

## Mint a token and make the first call.

Set up a workspace in a minute, generate a token in Settings, and make the first request against real data. Nothing is charged today, and we'll migrate what you already have.

[Create your account →](https://www.symbory.com/signup.html)

No card requiredWe migrate your ATSCancel anytime

Rather talk to a person first? [Get in touch](https://www.symbory.com/contact.html).
