Czech AI job board: search jobs, apply for consenting candidates, manage a company's job postings.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Archive (unpublish) a job posting of the represented company.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Archive (unpublish) a job posting of the represented company.
| Argument | Type | Description |
|---|---|---|
| jobId* | string |
{
"type": "object",
"required": [
"jobId"
],
"properties": {
"jobId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}Confirm the job is still open: it stays publicly visible for 60 days from now.
| Argument | Type | Description |
|---|---|---|
| jobId* | string |
{
"type": "object",
"required": [
"jobId"
],
"properties": {
"jobId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}Confirm listed job conditions as stated by the company (renews their evidence).
| Argument | Type | Description |
|---|---|---|
| jobId* | string | |
| confirmation* | object |
{
"type": "object",
"required": [
"jobId",
"confirmation"
],
"properties": {
"jobId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"confirmation": {
"type": "object",
"required": [
"expectedRevision",
"fields"
],
"properties": {
"fields": {
"type": "array",
"items": {
"enum": [
"salary",
"bonuses",
"shifts",
"startWindow",
"training",
"remoteMode",
"workplace",
"employment"
],
"type": "string"
},
"maxItems": 8,
"minItems": 1
},
"expectedRevision": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0
}
},
"additionalProperties": false
}
},
"description": "Confirms the listed condition fields as stated by the company (evidence); confirmation.expectedRevision from get_employer_job.terms.revision.",
"additionalProperties": false
}Create a draft job posting for the represented company. Nothing is public until publish_job.
| Argument | Type | Description |
|---|---|---|
| kind* | string | |
| titleCs* | string | |
| applyUrl | string | |
| remoteOk* | boolean | |
| applyMode | string | |
| salaryRange | object | |
| locationKraj* | string | |
| salaryPeriod | string | |
| descriptionCs* | string |
{
"type": "object",
"required": [
"kind",
"titleCs",
"descriptionCs",
"locationKraj",
"remoteOk"
],
"properties": {
"kind": {
"enum": [
"hpp",
"dpp",
"dpc",
"brigada",
"freelance"
],
"type": "string"
},
"titleCs": {
"type": "string",
"maxLength": 200,
"minLength": 3
},
"applyUrl": {
"type": "string",
"maxLength": 500
},
"remoteOk": {
"type": "boolean"
},
"applyMode": {
"enum": [
"internal",
"external"
],
"type": "string",
"default": "internal"
},
"salaryRange": {
"type": "object",
"required": [
"min",
"max"
],
"properties": {
"max": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"min": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
}
}
},
"locationKraj": {
"enum": [
"Hlavní město Praha",
"Středočeský kraj",
"Jihočeský kraj",
"Plzeňský kraj",
"Karlovarský kraj",
"Ústecký kraj",
"Liberecký kraj",
"Královéhradecký kraj",
"Pardubický kraj",
"Kraj Vysočina",
"Jihomoravský kraj",
"Olomoucký kraj",
"Zlínský kraj",
"Moravskoslezský kraj"
],
"type": "string"
},
"salaryPeriod": {
"enum": [
"MONTHLY",
"HOURLY"
],
"type": "string",
"default": "MONTHLY"
},
"descriptionCs": {
"type": "string",
"maxLength": 20000,
"minLength": 20
}
},
"description": "Creates a DRAFT job of the represented company. descriptionCs is plain text or Markdown in Czech (HTML is stripped). salaryRange is optional for a draft but required to publish.",
"additionalProperties": false
}Execute exactly the command the candidate confirmed, once, while the approval is valid.
| Argument | Type | Description |
|---|---|---|
| command | any | Optional: must equal the confirmed command (including the candidate's edits); otherwise approval_mismatch. Same shape as propose_action.command. |
| proposalId* | string |
{
"type": "object",
"required": [
"proposalId"
],
"properties": {
"command": {
"oneOf": [
{
"type": "object",
"required": [
"actionType",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"expectedRevision"
],
"properties": {
"nightWork": {
"anyOf": [
{
"enum": [
"allowed",
"excluded"
],
"type": "string"
},
{
"type": "null"
}
]
},
"priorities": {
"type": "object",
"properties": {
"remote": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
},
"salary": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
},
"shifts": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
},
"commute": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
},
"location": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
},
"employment": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
},
"availability": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
},
"workingHours": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"weekendWork": {
"anyOf": [
{
"enum": [
"allowed",
"excluded"
],
"type": "string"
},
{
"type": "null"
}
]
},
"commuteModes": {
"anyOf": [
{
"type": "array",
"items": {
"enum": [
"car",
"transit",
"bicycle",
"walk"
],
"type": "string"
},
"maxItems": 4,
"minItems": 1
},
{
"type": "null"
}
]
},
"confirmExisting": {
"type": "object",
"properties": {
"remotePref": {
"enum": [
"ONSITE",
"HYBRID",
"REMOTE"
],
"type": "string"
},
"workingHoursPref": {
"enum": [
"FULL_TIME",
"PART_TIME",
"CONTRACT",
"DPP_DPC"
],
"type": "string"
}
},
"additionalProperties": false
},
"expectedRevision": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0
},
"maxCommuteMinutes": {
"anyOf": [
{
"type": "integer",
"maximum": 240,
"minimum": 1
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "CANDIDATE_REQUIREMENTS_UPDATE"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"actionType",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"jobId",
"topic",
"expectedTermsRevision"
],
"properties": {
"jobId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"topic": {
"enum": [
"salary",
"shifts",
"start_window",
"training"
],
"type": "string"
},
"channels": {
"type": "array",
"items": {
"enum": [
"email",
"push"
],
"type": "string"
},
"maxItems": 2
},
"expectedTermsRevision": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "JOB_QUESTION_OPEN"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"actionType",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"questionId"
],
"properties": {
"questionId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "JOB_QUESTION_WITHDRAW"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"actionType",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"jobId",
"previous",
"cvId",
"coverLetterMarkdown",
"coverLetterAiAssisted"
],
"properties": {
"cvId": {
"anyOf": [
{
"type": "string",
"format": "cuid",
"pattern": "^[cC][0-9a-z]{6,}$"
},
{
"type": "null"
}
]
},
"jobId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"previous": {
"anyOf": [
{
"type": "object",
"required": [
"id",
"submissionVersion"
],
"properties": {
"id": {
"type": "string",
"format": "cuid",
"pattern": "^[cC][0-9a-z]{6,}$"
},
"submissionVersion": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"coverLetterAiModel": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"coverLetterMarkdown": {
"anyOf": [
{
"type": "string",
"maxLength": 20000
},
{
"type": "null"
}
]
},
"coverLetterAiAssisted": {
"type": "boolean"
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "APPLICATION_SUBMIT"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"actionType",
"interviewId",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"submissionVersion",
"expectedRevision",
"expectedProposalRevision",
"slotId"
],
"properties": {
"slotId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"expectedRevision": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"submissionVersion": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"expectedProposalRevision": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "INTERVIEW_ACCEPT"
},
"interviewId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"actionType",
"interviewId",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"submissionVersion",
"expectedRevision",
"expectedProposalRevision",
"reason"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"expectedRevision": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"submissionVersion": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"expectedProposalRevision": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "INTERVIEW_DECLINE"
},
"interviewId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"actionType",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"applicationId",
"submissionVersion",
"expectedRevision",
"expiresAt",
"slots"
],
"properties": {
"slots": {
"type": "array",
"items": {
"type": "object",
"required": [
"startsAt",
"endsAt",
"timeZone"
],
"properties": {
"endsAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"startsAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"timeZone": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
},
"additionalProperties": false
},
"maxItems": 20,
"minItems": 1
},
"expiresAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"applicationId": {
"type": "string",
"format": "cuid",
"pattern": "^[cC][0-9a-z]{6,}$"
},
"expectedRevision": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0
},
"submissionVersion": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "INTERVIEW_PROPOSE"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"actionType",
"interviewId",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"submissionVersion",
"expectedRevision",
"reason"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"expectedRevision": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"submissionVersion": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "INTERVIEW_CANCEL"
},
"interviewId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}
],
"description": "Optional: must equal the confirmed command (including the candidate's edits); otherwise approval_mismatch. Same shape as propose_action.command."
},
"proposalId": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
}Read the candidate's decision on a proposal: status, the final command including the candidate's edits, and the one-shot approval window.
| Argument | Type | Description |
|---|---|---|
| proposalId* | string |
{
"type": "object",
"required": [
"proposalId"
],
"properties": {
"proposalId": {
"type": "string",
"format": "uuid"
}
},
"additionalProperties": false
}Read an application status for the consent-envelope candidate.
| Argument | Type | Description |
|---|---|---|
| applicationId* | string |
{
"type": "object",
"required": [
"applicationId"
],
"properties": {
"applicationId": {
"type": "string"
}
},
"additionalProperties": false
}Get one of the represented company's job postings for editing: full text, salary, verified conditions with revision, editHash and visibility.
| Argument | Type | Description |
|---|---|---|
| jobId* | string |
{
"type": "object",
"required": [
"jobId"
],
"properties": {
"jobId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}Get a public Jobsai job detail by id or slug.
| Argument | Type | Description |
|---|---|---|
| id | string | |
| slug | string |
{
"type": "object",
"anyOf": [
{
"required": [
"id"
]
},
{
"required": [
"slug"
]
}
],
"properties": {
"id": {
"type": "string"
},
"slug": {
"type": "string"
}
},
"additionalProperties": false
}List all applications for the consent-envelope candidate.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| status | string |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1
},
"status": {
"enum": [
"SUBMITTED",
"DELIVERED",
"OPENED_BY_EMPLOYER",
"UNDER_REVIEW",
"INTERVIEW_INVITED",
"OFFER_EXTENDED",
"HIRED",
"REJECTED",
"WITHDRAWN"
],
"type": "string"
}
},
"additionalProperties": false
}List the represented company's workplaces (branches) for the job conditions workplace field.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}List the represented company's own job postings (drafts included) with status and public visibility window. Needs a representation envelope.
| Argument | Type | Description |
|---|---|---|
| page | integer | |
| limit | integer | |
| status | string |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"maximum": 1000,
"minimum": 1
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1
},
"status": {
"enum": [
"draft",
"active",
"paused",
"archived"
],
"type": "string"
}
},
"additionalProperties": false
}Propose one concrete candidate action (application, job question, interview decision, requirements update) for the candidate's own confirmation. Nothing runs until the candidate confirms.
| Argument | Type | Description |
|---|---|---|
| command* | any | Normalized candidate command the human will review. Exactly one actionType variant applies; interviewId exists only on INTERVIEW_ACCEPT / INTERVIEW_DECLINE / INTERVIEW_CANCEL. Field semantics per actionType are documented in docs/agents/mcp.md (actions). |
| agentNote | string | Optional plain-text rationale shown to the candidate as untrusted agent text. Omit it or send a string; null is refused. |
{
"type": "object",
"required": [
"command"
],
"properties": {
"command": {
"oneOf": [
{
"type": "object",
"required": [
"actionType",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"expectedRevision"
],
"properties": {
"nightWork": {
"anyOf": [
{
"enum": [
"allowed",
"excluded"
],
"type": "string"
},
{
"type": "null"
}
]
},
"priorities": {
"type": "object",
"properties": {
"remote": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
},
"salary": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
},
"shifts": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
},
"commute": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
},
"location": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
},
"employment": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
},
"availability": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
},
"workingHours": {
"anyOf": [
{
"enum": [
"preferred",
"required"
],
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"weekendWork": {
"anyOf": [
{
"enum": [
"allowed",
"excluded"
],
"type": "string"
},
{
"type": "null"
}
]
},
"commuteModes": {
"anyOf": [
{
"type": "array",
"items": {
"enum": [
"car",
"transit",
"bicycle",
"walk"
],
"type": "string"
},
"maxItems": 4,
"minItems": 1
},
{
"type": "null"
}
]
},
"confirmExisting": {
"type": "object",
"properties": {
"remotePref": {
"enum": [
"ONSITE",
"HYBRID",
"REMOTE"
],
"type": "string"
},
"workingHoursPref": {
"enum": [
"FULL_TIME",
"PART_TIME",
"CONTRACT",
"DPP_DPC"
],
"type": "string"
}
},
"additionalProperties": false
},
"expectedRevision": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0
},
"maxCommuteMinutes": {
"anyOf": [
{
"type": "integer",
"maximum": 240,
"minimum": 1
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "CANDIDATE_REQUIREMENTS_UPDATE"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"actionType",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"jobId",
"topic",
"expectedTermsRevision"
],
"properties": {
"jobId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"topic": {
"enum": [
"salary",
"shifts",
"start_window",
"training"
],
"type": "string"
},
"channels": {
"type": "array",
"items": {
"enum": [
"email",
"push"
],
"type": "string"
},
"maxItems": 2
},
"expectedTermsRevision": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "JOB_QUESTION_OPEN"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"actionType",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"questionId"
],
"properties": {
"questionId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "JOB_QUESTION_WITHDRAW"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"actionType",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"jobId",
"previous",
"cvId",
"coverLetterMarkdown",
"coverLetterAiAssisted"
],
"properties": {
"cvId": {
"anyOf": [
{
"type": "string",
"format": "cuid",
"pattern": "^[cC][0-9a-z]{6,}$"
},
{
"type": "null"
}
]
},
"jobId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"previous": {
"anyOf": [
{
"type": "object",
"required": [
"id",
"submissionVersion"
],
"properties": {
"id": {
"type": "string",
"format": "cuid",
"pattern": "^[cC][0-9a-z]{6,}$"
},
"submissionVersion": {
"type": "integer",
"maximum": 2147483647,
"minimum": 1
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"coverLetterAiModel": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "null"
}
]
},
"coverLetterMarkdown": {
"anyOf": [
{
"type": "string",
"maxLength": 20000
},
{
"type": "null"
}
]
},
"coverLetterAiAssisted": {
"type": "boolean"
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "APPLICATION_SUBMIT"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"actionType",
"interviewId",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"submissionVersion",
"expectedRevision",
"expectedProposalRevision",
"slotId"
],
"properties": {
"slotId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"expectedRevision": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"submissionVersion": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"expectedProposalRevision": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "INTERVIEW_ACCEPT"
},
"interviewId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"actionType",
"interviewId",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"submissionVersion",
"expectedRevision",
"expectedProposalRevision",
"reason"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"expectedRevision": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"submissionVersion": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"expectedProposalRevision": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "INTERVIEW_DECLINE"
},
"interviewId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"actionType",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"applicationId",
"submissionVersion",
"expectedRevision",
"expiresAt",
"slots"
],
"properties": {
"slots": {
"type": "array",
"items": {
"type": "object",
"required": [
"startsAt",
"endsAt",
"timeZone"
],
"properties": {
"endsAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"startsAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"timeZone": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
},
"additionalProperties": false
},
"maxItems": 20,
"minItems": 1
},
"expiresAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
},
"applicationId": {
"type": "string",
"format": "cuid",
"pattern": "^[cC][0-9a-z]{6,}$"
},
"expectedRevision": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0
},
"submissionVersion": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "INTERVIEW_PROPOSE"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"actionType",
"interviewId",
"command"
],
"properties": {
"command": {
"type": "object",
"required": [
"submissionVersion",
"expectedRevision",
"reason"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"expectedRevision": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"submissionVersion": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
},
"actionType": {
"type": "string",
"const": "INTERVIEW_CANCEL"
},
"interviewId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}
],
"description": "Normalized candidate command the human will review. Exactly one actionType variant applies; interviewId exists only on INTERVIEW_ACCEPT / INTERVIEW_DECLINE / INTERVIEW_CANCEL. Field semantics per actionType are documented in docs/agents/mcp.md (actions)."
},
"agentNote": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Optional plain-text rationale shown to the candidate as untrusted agent text. Omit it or send a string; null is refused."
}
},
"additionalProperties": false
}Publish a draft or archived job of the represented company. The company must be verified and the job must have a salary range.
| Argument | Type | Description |
|---|---|---|
| jobId* | string |
{
"type": "object",
"required": [
"jobId"
],
"properties": {
"jobId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}List, save, or unsave the consent-envelope candidate's bookmarked jobs.
| Argument | Type | Description |
|---|---|---|
| jobId | string | |
| action | string |
{
"type": "object",
"properties": {
"jobId": {
"type": "string"
},
"action": {
"enum": [
"list",
"save",
"unsave"
],
"type": "string",
"default": "list"
}
},
"additionalProperties": false
}Search public Jobsai job listings.
| Argument | Type | Description |
|---|---|---|
| kraj | string | |
| page | integer | |
| limit | integer | |
| query | string | |
| remote | boolean | |
| occupation | string |
{
"type": "object",
"properties": {
"kraj": {
"type": "string"
},
"page": {
"type": "integer",
"default": 1,
"maximum": 50
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 50
},
"query": {
"type": "string"
},
"remote": {
"type": "boolean"
},
"occupation": {
"type": "string"
}
},
"additionalProperties": false
}Stream new job-match events for an agent client.
| Argument | Type | Description |
|---|---|---|
| since | string | |
| query_id | string | |
| limit_per_minute | integer | |
| candidate_pseudonym | string |
{
"type": "object",
"properties": {
"since": {
"type": "string",
"format": "date-time"
},
"query_id": {
"type": "string"
},
"limit_per_minute": {
"type": "integer",
"maximum": 600,
"minimum": 1
},
"candidate_pseudonym": {
"type": "string"
}
},
"additionalProperties": false
}Submit an application on behalf of the candidate represented by the consent envelope.
| Argument | Type | Description |
|---|---|---|
| jobId* | string | |
| useExistingCv | boolean | |
| coverLetterMarkdown | string | |
| coverLetterAiAssisted | boolean | Set true when the cover letter was AI-generated (AI Act Art. 50 transparency; shown to the employer). |
{
"type": "object",
"required": [
"jobId"
],
"properties": {
"jobId": {
"type": "string"
},
"useExistingCv": {
"type": "boolean",
"default": true
},
"coverLetterMarkdown": {
"type": "string",
"maxLength": 3000
},
"coverLetterAiAssisted": {
"type": "boolean",
"default": false,
"description": "Set true when the cover letter was AI-generated (AI Act Art. 50 transparency; shown to the employer)."
}
},
"additionalProperties": false
}Subscribe to application status change notifications for the consent-envelope candidate.
| Argument | Type | Description |
|---|---|---|
| applicationIds | array |
{
"type": "object",
"properties": {
"applicationIds": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100
}
},
"additionalProperties": false
}Edit a job posting of the represented company (optimistic lock by editHash). Editing an active job is public at once and needs employer_jobs:publish. Changing the title or description raises terms.revision and unconfirms all verified conditions; call get_employer_job again before update_job_terms or confirm_job_terms.
| Argument | Type | Description |
|---|---|---|
| jobId* | string | |
| changes* | object | |
| expectedEditHash* | string |
{
"type": "object",
"required": [
"jobId",
"expectedEditHash",
"changes"
],
"properties": {
"jobId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"changes": {
"type": "object",
"properties": {
"kind": {
"enum": [
"hpp",
"dpp",
"dpc",
"brigada",
"freelance"
],
"type": "string"
},
"titleCs": {
"type": "string",
"maxLength": 200,
"minLength": 3
},
"applyUrl": {
"type": "string",
"maxLength": 500
},
"remoteOk": {
"type": "boolean"
},
"applyMode": {
"enum": [
"internal",
"external"
],
"type": "string"
},
"salaryRange": {
"type": "object",
"required": [
"min",
"max"
],
"properties": {
"max": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
},
"min": {
"type": "integer",
"maximum": 2147483647,
"exclusiveMinimum": 0
}
}
},
"locationKraj": {
"enum": [
"Hlavní město Praha",
"Středočeský kraj",
"Jihočeský kraj",
"Plzeňský kraj",
"Karlovarský kraj",
"Ústecký kraj",
"Liberecký kraj",
"Královéhradecký kraj",
"Pardubický kraj",
"Kraj Vysočina",
"Jihomoravský kraj",
"Olomoucký kraj",
"Zlínský kraj",
"Moravskoslezský kraj"
],
"type": "string"
},
"salaryPeriod": {
"enum": [
"MONTHLY",
"HOURLY"
],
"type": "string"
},
"descriptionCs": {
"type": "string",
"maxLength": 20000,
"minLength": 20
}
},
"additionalProperties": false
},
"expectedEditHash": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
}
},
"description": "expectedEditHash comes from get_employer_job (optimistic lock). Editing an ACTIVE job is public at once and needs employer_jobs:publish.",
"additionalProperties": false
}Set the verified conditions of a job (salary basis, bonuses, shifts, start, training, remote mode, workplace). A stale terms.revision returns facts_changed with reason stale_terms_revision: read the job again.
| Argument | Type | Description |
|---|---|---|
| jobId* | string | |
| terms* | object |
{
"type": "object",
"required": [
"jobId",
"terms"
],
"properties": {
"jobId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"terms": {
"type": "object",
"required": [
"expectedRevision"
],
"properties": {
"shifts": {
"anyOf": [
{
"oneOf": [
{
"type": "object",
"required": [
"kind",
"timeZone",
"shifts"
],
"properties": {
"kind": {
"type": "string",
"const": "fixed"
},
"shifts": {
"type": "array",
"items": {
"type": "object",
"required": [
"weekday",
"startsAt",
"endsAt",
"endsNextDay"
],
"properties": {
"endsAt": {
"type": "string",
"pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
},
"weekday": {
"type": "integer",
"maximum": 7,
"minimum": 1
},
"startsAt": {
"type": "string",
"pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d$"
},
"endsNextDay": {
"type": "boolean"
}
},
"additionalProperties": false
},
"maxItems": 28,
"minItems": 1
},
"timeZone": {
"type": "string",
"maxLength": 100
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind"
],
"properties": {
"kind": {
"type": "string",
"const": "flexible"
}
},
"additionalProperties": false
}
]
},
{
"type": "null"
}
]
},
"branchId": {
"anyOf": [
{
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
{
"type": "null"
}
]
},
"training": {
"anyOf": [
{
"enum": [
"unknown",
"offered",
"not_offered"
],
"type": "string"
},
{
"type": "null"
}
]
},
"remoteMode": {
"anyOf": [
{
"enum": [
"unknown",
"onsite",
"hybrid",
"remote"
],
"type": "string"
},
{
"type": "null"
}
]
},
"salaryBasis": {
"anyOf": [
{
"enum": [
"unknown",
"base",
"total"
],
"type": "string"
},
{
"type": "null"
}
]
},
"startWindow": {
"anyOf": [
{
"type": "object",
"required": [
"earliest",
"latest"
],
"properties": {
"latest": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
{
"type": "null"
}
]
},
"earliest": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"additionalProperties": false
},
{
"type": "null"
}
]
},
"bonusDescription": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
},
"expectedRevision": {
"type": "integer",
"maximum": 2147483647,
"minimum": 0
}
},
"additionalProperties": false
}
},
"description": "terms.expectedRevision comes from get_employer_job.terms.revision. On an ACTIVE job this needs employer_jobs:publish.",
"additionalProperties": false
}Withdraw an application on behalf of the consent-envelope candidate.
| Argument | Type | Description |
|---|---|---|
| applicationId* | string |
{
"type": "object",
"required": [
"applicationId"
],
"properties": {
"applicationId": {
"type": "string"
}
},
"additionalProperties": false
}