Resources
Changelog
Every change to the Tabbio developer platform, newest first.
The CV ETag now follows every part of the CV
October 2026
The ETag on GET /v1/me/cv used to change only when the CV row or the profile row
did. Adding, editing or deleting an education, certification, project or highlight, or
changing which skills and languages show, could leave it unchanged, so a conditional
read answered 304 while the CV had changed. The tag now covers every record the CV is
built from, whether the CV is the person's main CV or one they picked, plus the main-CV
flag, the title and the durable pdf.url: after you revoke a refresh token, the next
read returns the new link instead of a 304. Error responses carry no ETag.
Every ETag value changed once with this release, so each stored tag misses one time
and your next conditional read returns the full CV with a new tag. Nothing else about
the response changed. updatedAt still reports when the CV row (or, for the main CV
built from the profile, the profile) last changed, so compare the ETag, not
updatedAt, to detect changes.
A deleted chosen CV is refused, not replaced
October 2026
When a person chose one specific CV for your app and later deleted it, the shared CV
endpoints used to fall back to their main CV, a document they never chose to share with
you. They now answer 409 CV_SELECTION_UNAVAILABLE instead: GET /v1/me/cv (with no
ETag) and GET /v1/me/cv.pdf. connection.cv on GET /v1/me is null in that state,
and the durable PDF link answers its usual 404. Ask the person to choose a CV again;
Settings > Connected apps flags the app for them. Connections that follow the main CV
are unchanged. See When the chosen CV was deleted.
v1 launch
September 2026
The first public version of the Tabbio developer platform.
Sign in with Tabbio. OAuth 2.0 authorization code with PKCE, a consent screen where
the person chooses which CV to share and whether to include private contact details,
and an RFC 8414 discovery document at
https://server.tabbio.com/.well-known/oauth-authorization-server.
User resources. GET /v1/me for identity, GET /v1/me/cv for the shared CV as the
canonical Tabbio CV document with ETag support, GET /v1/me/cv.pdf for the rendered
PDF, and a durable signed PDF link that needs no credential, stays current, and answers
404 once the connection ends.
Partner API. API keys with company scopes. Create and update companies with
idempotent creates keyed on your own identifier, post jobs through the draft, live,
closed and archived lifecycle, and read candidates with the CV they submitted, their
screening answers and a resume download. Every list is page based: page, pageSize
and a meta carrying total and totalPages.
Token lifecycle. One hour access tokens, 90 day refresh tokens rotated on every use with reuse detection, RFC 7009 revocation and RFC 7662 introspection. The token and introspection endpoints answer the flat bodies their RFCs define; revocation keeps the API envelope, because RFC 7009 specifies no success body of its own.
User control. Settings > Connected apps lists every app a person has connected,
what it can read, and which CV it sees. Changing the CV there changes what your app
reads on its next call. Disconnecting revokes every token immediately, and durable CV
links end with the consent behind them: disconnecting, turning CV sharing off, or
revoking your refresh token all kill them. Read pdf.url again for a fresh one.
Developer platform. Apps, client credentials, API keys, connections, usage graphs, a 30 day request log and your limits live at platform.tabbio.com. Sign in with your Tabbio account or create a developer login. See Developer platform.
Account limits. Every /v1 resource route is metered against your developer
account: 300 requests per minute and 20,000 per day on the standard plan, across every
app and key you own. Responses carry x-ratelimit-* and x-quota-*, and going over
answers 429 with RATE_LIMIT_EXCEEDED or QUOTA_EXCEEDED and meta.retryAfter. Every
/v1 and /oauth response also carries x-request-id, which the platform's request log
is keyed on.
Machine readable. The OpenAPI 3.1 document this reference is generated from is
served live at https://server.tabbio.com/v1/openapi.json.
Known gaps in this version: no webhooks, no OpenID Connect id_token, no client
credentials grant, no dynamic client registration, and no write access to applications.