n7.nzPublic CV API

CV as API

A real API product built around a CV — with search, matching, and everything you'd expect from production infrastructure.

Endpoints19
Versionv1
CachingETag + 304
AuthBearer (Private)
SpecOpenAPI 3.1
ContractLinted + Checked
Use Case

Machine-readable CV

Use the API directly from scripts, dashboards, or other portfolio tooling instead of scraping a PDF or duplicating data by hand.

Use Case

Fast opportunity triage

Score listings or briefs against the CV with a deterministic matcher that is cheap to run and easy to reason about.

Use Case

Public technical signal

Show API design, versioning, negotiation, docs quality, and contract governance through the artifact itself rather than describing them abstractly.

Try It

Paste a job description. See the match.

The deterministic matcher scores skill coverage, sector fit, seniority alignment, and experience relevance — no LLM, no hidden heuristics.

Match Score?paste a JD to score
Contract Governance

How this API is built

Every push triggers a CI pipeline that validates the API contract before code reaches production. This is how real API products maintain quality at scale.

1

Lint & Format

ESLint and Prettier enforce consistent code style across all route handlers and shared modules.

2

Generate Assets

The OpenAPI spec, TypeScript client, and Postman collection are regenerated from source and verified as committed.

3

Validate OpenAPI

The OpenAPI 3.1 document is parsed and validated against the specification using swagger-parser.

4

Lint OpenAPI

Redocly CLI applies API design rules — naming conventions, response schemas, and documentation completeness.

5

Breaking Changes

Every PR is checked for backwards-incompatible contract changes against the main branch.

6

Test & Build

Route-level tests verify response shapes, status codes, headers, and matching logic before the production build.

GET /api/v1/cv

The canonical v1 CV document. Supports optional partial responses through `sections` and `fields` so clients can pull only the slices they need.

Selecting an endpoint loads its contract preview. Use Run request when you want live timings, headers, and a fresh payload.

PrimaryProjectableVersioned

Parameters

NameTypeRequiredDescription
sectionsstringNoComma-separated top-level sections such as meta,projects
fieldsstringNoComma-separated field paths such as meta.name,projects.url

Notes

  • The sample request demonstrates projection with `sections` and `fields`.
  • Remove the query string to retrieve the full CV document in one response.
  • Cacheable GET routes now emit `ETag` and `Last-Modified` headers for conditional requests.
  • Alternate media types are available on the same route through the `Accept` header.

Example Request

curl https://www.n7.nz/api/v1/cv?sections=meta,projects&fields=meta.name,meta.title,projects.name,projects.url

Response

Preview payload. Run request for live timings and headers.
{  "meta": {    "name": "Phil Smith",    "title": "Senior Technical BA & Integration Analyst"  },  "projects": [    {      "name": "CVasAPI",      "url": "https://n7.nz/api-docs"    },    {      "name": "Market Intelligence",      "url": "https://n7.nz/market"    },    {      "name": "SecondBrain",      "url": "https://n7.nz/brain"    },    {      "name": "SpecCheck",      "url": "https://n7.nz/speccheck"    },...