Get a policy
GET
/workspaces/{workspace}/policies/{policy}Returns one policy with its published text, any open draft, its version history, mapped requirements and public link.
Authentication
Send an API token as a bearer token. This endpoint needs a read token, made by any member of the workspace. Create one in My account → API tokens; see scopes and roles.
Authorization: Bearer 42|bynh_pat_•••••••HeaderPath parameters
workspacestringRequiredYour workspace slug, e.g. dokan.
policyintegerRequiredPolicy id (not the slug).
Response
200 OKPolicy detail.
idintegerPolicy id (used in paths).slugstringUsed in the public URL.titlestringName.summarystring|nullOne-line summary.owner{id, name}|nullOwner.visibilityenumWhere it appears. One ofpublic,nda,internal.visibility_labelstringLocalized.review_every_daysenumReview cadence. One of90,180,365,730.next_review_atstring|nullYYYY-MM-DD.statusenumDerived from the open version and review date. One ofdraft,in_review,changes_requested,published,review_due,overdue.published_versioninteger|nullPublished version number.published_atstring|nullISO 8601.open_versionobject|nullnumber, status (draft | in_review | changes_requested), reviewer {id, name}|null, waiting_on_you (for the token owner).taglinestringLocalized one-liner, e.g. “v3 · v4 in draft”.requirements_countintegerMapped requirements.requirements[]objectid, code, title, framework {slug, short_name}, met.closes{gaps, frameworks}Mapped requirements in followed frameworks that aren’t met today (what publishing could close).publishedVersion|nullPublished version with body.draftVersion|nullOpen version with body.versions[]VersionAll versions, body null. Version: id, number, status (draft | in_review | changes_requested | published | superseded), body, change_summary, in_changelog, author, reviewer, requested_by, review_note, review_requested_at, reviewer_note, reviewed_at, published_by, published_at, created_at, updated_at.public_urlstring|nullSet only for public policies with a published version.trust_domainstringCustom domain or {slug}.bynh.io.people[]{id, name, role}Members who can edit.summary_excerptstring|nullExcerpt of the published body.
Rate limits
This endpoint counts toward your general limit of 120 requests a minute. When you go over, wait for the number of seconds in Retry-After.
Errors
401The token is missing, wrong, revoked or expired.
404The token belongs to another workspace, or its owner is no longer a member. Or: No policy with that id in this workspace.
Every error is JSON with a message. See Errors.