openworkid.org / adopt

Adopt the standard

OpenWork ID is MIT-licensed. You can read, implement and extend the schema without registration or permission. The public runtime interfaces are deliberately small while the reference implementation is in pilot.

Usable todayMIT LicenseNo API key
Professional data should travel with the professional.
OpenWork ID gives platforms a shared shape for rich experience stories, peer confirmations and profession-specific fields. It reduces lock-in and makes explicit evidence readable by people, software and AI clients.
Portable
Preserve structured profile data instead of flattening it into a CV document.
Extensible
Use the universal core and add only the field sets relevant to a profession.
Consent-gated
Runtime access includes only profiles whose owners explicitly opted in.

01

Available today

Open artifacts
Core JSON-LD schema and portable export model
19 machine-readable profession extensions
Public repository and RFC template
Read interfaces
Two read-only MCP tools over Streamable HTTP
REST endpoints for profiles and confirmations
Public SVG confirmation badge at /api/badge/{slug}
Fictional demo profile for integration tests

02

Integration path

Start with the smallest useful level. Each level is independent.

L1
Read an opted-in profile
Use REST or MCP to display public data while retaining its source and confirmation semantics.
AvailableNo registration
L2
Import and preserve the schema
Map known fields into your interface and retain unknown extension fields for later re-export.
Spec availableImplementation-owned
L3
Write and export OpenWork ID natively
Create conforming documents, use canonical extension identifiers and make complete exports available to the professional.
Spec availableConformance review recommended
Minimal L1 integration
const response = await fetch(
  "https://upstand.work/api/v1/profiles/mara-stein"
)

if (!response.ok) throw new Error("Profile unavailable")

const profile = await response.json()
console.log(profile.first_name, profile.last_name)
console.log(profile.verified_by)
console.log(profile.demo) // true for this fictional sample

03

Data and claim boundary

PrincipleImplementation requirement
Owner consentDo not treat an ordinary public web profile as consent for API or MCP discovery. Respect the interface response.
Claim accuracyA peer confirmation means that the named confirmer made the displayed statement. It is not an independent audit of employment or qualifications.
WithdrawalStop displaying withdrawn confirmations and refresh cached confirmation data within a reasonable interval.
Schema fidelityPreserve unknown fields, extension identifiers, versions, source URIs and regulatory notices during round trips.
No contact inferenceThe public interfaces omit contact details by design. Do not use the data to infer or enrich personal contact information.

04

Not available yet

No implied product promises
There is currently no JavaScript badge package, paid Verification API, partner API-key programme, profile search, benchmark feed, write-capable MCP tool or guaranteed service-level agreement. Any future commercial interface will be documented with its consent model and terms before launch.

Explore a pilot integration
If you operate a hiring tool, professional community or independent talent service, bring a concrete read or portability use case. Pilot terms are discussed individually; no public pricing or partner tier exists today.