---
name: talent-de-platform
description: >-
  Create CVs, search jobs, match skills, and negotiate via Work Deal Language.
  Several templates, PDF export, human-in-the-loop review. Free API for AI agents —
  basic use without API key, full features with Access-ID. Router skill — see
  domain-specific skills below for detailed instructions.
homepage: https://www.talent.de
license: Free-to-use
compatibility: Requires HTTP client and network access.
env_vars:
  TALENT_ACCESS_ID:
    required: false
    sensitive: true
    description: >-
      Access-ID for higher rate limits and advanced features (Template Create,
      Job Negotiate, Template Contest). Also used as HMAC secret for callback
      signature verification. Optional for CV Builder and Job Search.
metadata:
  openclaw:
    emoji: "\U0001F3AF"
  talent:
    category: career
    version: "5.2.2"
    api_base: https://www.talent.de/api
    credentials:
      access_id:
        required: per-skill
        format: "talent_agent_[a-z0-9]{4}"
        obtain: "POST /api/agent/register"
        env_var: "TALENT_ACCESS_ID"
        sensitive: true
        note: >-
          Free skills (CV Builder, Job Search) work without Access-ID at lower rate limits.
          Template Create, Job Negotiate, and Template Contest require an Access-ID.
          Also used as HMAC secret for callback signature verification.
          Store in environment variable TALENT_ACCESS_ID — do not hardcode.
  hitl:
    supported: true
    spec_version: "0.7"
    types: [confirmation, input, selection, approval, escalation]
    notifications: [polling, sse, callback]
    review_base_url: "https://www.talent.de/en/hitl/review"
    timeout_default: "24h"
    grace_period: "5min"
    discovery: "https://www.talent.de/.well-known/hitl.json"
    info: "May ask requestor to confirm context, enter data, select template, approve CV draft, or handle escalations."
---

# talent.de Platform

Create CVs, search jobs, match skills, and negotiate work conditions — all via API. Templates from classic PDFs to 3D worlds. Free for basic use.

## Agent Guidelines

> **HITL (Human In The Loop) is required.** You MUST choose: `"prefer_hitl": true` (human review — recommended) or `"skip_hitl": true` (direct creation — automated pipelines only). Omitting both returns a 400 error. If a human is present, ALWAYS use `"prefer_hitl": true`.

> **Data principle:** Only use data the requestor has explicitly provided or approved in this conversation.

> **Before sending:** Present a brief summary — name, title, email — and ask "Send it? Or should I change anything?"

> **Claim token:** Treat like a password. Share only with the requestor.

> **Keep it friendly.** See [User Communication](https://www.talent.de/skills/cv-builder/SKILL.md#user-communication) for suggested messages at each step.

## API

All endpoints are at `https://www.talent.de/api/agent/...` — stateless REST, `application/json`. Every response is either a success object or `{"success": false, "code": "...", "message": "..."}`. No session cookies — auth via optional `access_id` in the request body.

## Auth Example

Without Access-ID (basic, 3 CVs/day per IP):
```http
POST https://www.talent.de/api/agent/cv-simple
Content-Type: application/json

{ "prefer_hitl": true, "cv_data": { "firstName": "Alex", ... } }
```

With Access-ID (50 CVs/day):
```http
POST https://www.talent.de/api/agent/cv-simple
Content-Type: application/json

{
  "access_id": "talent_agent_a1b2",
  "prefer_hitl": true,
  "cv_data": { "firstName": "Alex", ... }
}
```

Register for an Access-ID (free, no personal data):
```bash
curl -X POST https://www.talent.de/api/agent/register \
  -H "Content-Type: application/json" \
  -d '{"agent_name": "my-agent"}'
# → {"access_id": "talent_agent_a1b2", "daily_cv_limit": 50}
```

## Credentials

An **Access-ID** (`talent_agent_[a-z0-9]{4}`) unlocks higher rate limits and advanced skills. It is **optional** for CV Builder and Job Search, **required** for Template Create, Job Negotiate, and Template Contest.

Register (free, no user data transmitted):
```http
POST https://www.talent.de/api/agent/register
Content-Type: application/json

{ "agent_name": "my-agent" }
```

The Access-ID is also used as the HMAC secret for verifying `X-HITL-Signature` on callback webhooks. Store it securely — do not embed in client-side code or share across agents. See [Access System](https://www.talent.de/skills/shared/access.md) for full details.

## Quick Start

```http
POST https://www.talent.de/api/agent/cv-simple
Content-Type: application/json

{
  "prefer_hitl": true,
  "cv_data": {
    "firstName": "Alex",
    "lastName": "Johnson",
    "title": "Software Engineer",
    "email": "alex@example.com"
  }
}
```

Response (202 — human review required):
```json
{
  "status": "human_input_required",
  "message": "Please confirm: is this CV for you?",
  "hitl": {
    "case_id": "review_a7f3b2c8d9e1f0g4",
    "review_url": "https://www.talent.de/en/hitl/review/review_a7f3b2c8d9e1f0g4?token=abc123...",
    "poll_url": "https://www.talent.de/api/hitl/cases/review_a7f3b2c8d9e1f0g4/status",
    "type": "confirmation"
  }
}
```

Present the `review_url` to the user. They choose slug, template, and approve. Poll `poll_url` for completion, continue through steps. See [CV Builder skill](https://www.talent.de/skills/cv-builder/SKILL.md) for full flow.

## Skills

| Skill | Use when | Key endpoint |
|-------|----------|--------------|
| [CV Builder](https://www.talent.de/skills/cv-builder/SKILL.md) | User wants to create, build, or export a CV | `POST /api/agent/cv-simple` |
| [Job Search](https://www.talent.de/skills/job-search/SKILL.md) | User wants to find jobs or match their CV | `GET /api/agent/jobs` |
| [Job Negotiate](https://www.talent.de/skills/job-negotiate/SKILL.md) | User wants to negotiate conditions or apply conditionally (coming soon) | `POST /api/agent/wdl/request` |
| [Template Create](https://www.talent.de/skills/template-create/SKILL.md) | User wants to build a custom HTML template (coming soon) | `POST /api/agent/template` |
| [Template Contest](https://www.talent.de/skills/template-contest/SKILL.md) | User wants to join template battles or showcases (coming soon) | — |

## Cross-Cutting References

- [Access System](https://www.talent.de/skills/shared/access.md): Rate limits and Access-ID registration
- [Error Codes](https://www.talent.de/skills/shared/errors.md): Error reference and troubleshooting
- [Privacy](https://www.talent.de/skills/shared/privacy.md): Data handling and GDPR compliance

## Errors

All errors: `{ "success": false, "code": "...", "message": "..." }`

| HTTP | Code |
|------|------|
| 400 | `VALIDATION_ERROR` / `INVALID_SLUG` |
| 401 | `INVALID_ACCESS_ID` / `ACCESS_ID_REQUIRED` |
| 403 | `FORBIDDEN` |
| 404 | `NOT_FOUND` |
| 409 | `SLUG_UNAVAILABLE` |
| 429 | `RATE_LIMITED` |
| 500 | `INTERNAL_ERROR` |

Full reference + recovery hints: [Error Codes](https://www.talent.de/skills/shared/errors.md)

## Rate Limits

| | Without Access-ID | With Access-ID |
|---|---|---|
| CVs/day | 3 (per IP) | 50 (per ID) |
| Job searches/day | 10 (per IP) | 100 (per ID) |
| Job matches/day | — | 50 (per ID) |

Headers: `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-RateLimit-Reset` on every response.
Backoff: 429 → wait until `resets_at` · 500 → 1s / 2s / 4s (3 attempts).

Full reference: [Access System](https://www.talent.de/skills/shared/access.md)

## Response Conventions

**Success shape:**
```json
{ "success": true, "url": "...", "cv_id": "...", "claim_token": "..." }
```

**Error shape:**
```json
{ "success": false, "code": "ERROR_CODE", "message": "Human-readable explanation" }
```

**Paginated responses** (job search):
```json
{
  "success": true,
  "jobs": [...],
  "total": 1240,
  "page": 1,
  "per_page": 20,
  "has_more": true
}
```
Use `page` and `per_page` query params (default: page=1, per_page=20, max per_page=100).

## Specs

- [OpenAPI Spec](https://www.talent.de/.well-known/openapi.json)
- [MCP Manifest](https://www.talent.de/.well-known/mcp.json)
- [agent.json](https://www.talent.de/.well-known/agent.json)
- [hitl.json](https://www.talent.de/.well-known/hitl.json)
- [llms.txt](https://www.talent.de/llms.txt)
