Skip to main content

CV Entries and Skills

CV entries and skills power the portfolio/resume section of a site. Skills represent technical competencies, while CV entries represent work experience, education, certifications, and projects.

Endpoints

Skills

MethodPathPermissionDescription
GET/sites/{site_id}/skills?page&per_pageReadList skills for a site (paginated)
GET/skills/{id}ReadGet skill by ID
GET/skills/by-slug/{slug}ReadGet skill by slug
POST/skillsAuthorCreate a skill
PUT/skills/{id}AuthorUpdate a skill
DELETE/skills/{id}AuthorSoft delete a skill

CV Entries

MethodPathPermissionDescription
GET/sites/{site_id}/cv?entry_type&page&per_pageReadList CV entries (paginated, filterable by type)
GET/cv/{id}ReadGet CV entry by ID
POST/cvAuthorCreate a CV entry
PUT/cv/{id}AuthorUpdate a CV entry
DELETE/cv/{id}AuthorSoft delete a CV entry

List Skills

curl -H "X-API-Key: oy_live_abc123..." \
"https://your-domain.com/api/v1/sites/{site_id}/skills?page=1&per_page=25"

List CV Entries

Filter by entry type using the entry_type query parameter. Valid types: work, education, volunteer, certification, project.

curl -H "X-API-Key: oy_live_abc123..." \
"https://your-domain.com/api/v1/sites/{site_id}/cv?entry_type=work&page=1&per_page=25"

Create a Skill

curl -X POST \
-H "X-API-Key: oy_live_abc123..." \
-H "Content-Type: application/json" \
-d '{
"site_ids": ["550e8400-..."],
"name": "Rust",
"slug": "rust",
"category": "Programming Languages",
"proficiency": 90
}' \
https://your-domain.com/api/v1/skills

Response 201 Created

Create a CV Entry

curl -X POST \
-H "X-API-Key: oy_live_abc123..." \
-H "Content-Type: application/json" \
-d '{
"site_ids": ["550e8400-..."],
"entry_type": "work",
"title": "Senior Engineer",
"organization": "Acme Corp",
"start_date": "2022-01-01",
"is_current": true
}' \
https://your-domain.com/api/v1/cv

Response 201 Created