Public schema specification for Beckn Protocol network extensions used by OPuN. This repository defines domain-specific schemas, JSON-LD contexts, and example payloads for OPuN-compliant networks.
These schemas extend Beckn Protocol v2.0.0 with domain-specific attributes and message shapes for:
- Learning — Courses, enrollments, progress, and certificates (L&D / training)
- Livelihood — Job opportunities, applications, interviews, offers, and employment fulfillment
All extensions use JSON-LD with alignment to schema.org and Beckn core context for semantic interoperability.
schemas/
├── README.md # This file
├── docs/ # Documentation for reviewers and implementers
│ └── USER_STORIES_LIVELIHOOD.md # User stories and payload mapping (livelihood)
├── learning/ # Learning domain (courses, enrollments, certificates)
│ └── v1/
│ ├── schema-extension/ # context.jsonld, vocab.jsonld, attributes.yaml
│ └── examples/ # Example payloads per Beckn flow (search, select, init, …)
└── livelihood/ # Livelihood domain (jobs, applications, hiring)
└── v1/
├── schema-extension/ # context.jsonld, vocab.jsonld, attributes.yaml
└── examples/ # Example payloads per Beckn flow (discover, search, init, …)
| Domain | Path | Description |
|---|---|---|
| Learning | learning/v1/ |
Course catalog, enrollment lifecycle, progress tracking, and certificate issuance. |
| Livelihood | livelihood/v1/ |
Job discovery, applications, interviews, offers, and employment fulfillment. |
Each domain version contains:
- schema-extension/ — Authoritative schema definition:
context.jsonld— JSON-LD@context(IRIs, prefixes, property mappings)vocab.jsonld— RDF vocabulary and type definitionsattributes.yaml— Domain-specific attributes and scopes (Item, Fulfillment, etc.)
- examples/ — Sample request/response payloads for each Beckn 2.0 flow (e.g. search, on_search, init, on_init).
- User stories and payload mapping (Livelihood) — User stories for job seeker and employer, flow-to-file mapping, and update variants.
- Context URLs
Use the published
context.jsonldURL for each domain in your@contextorschema_context, for example:
- Learning:
https://schema.opun.network/learning/v1/(or your published base) - Livelihood:
https://schema.opun.network/livelihood/v1/
- Validation
Validate payloads against the domain’s
context.jsonldandattributes.yaml(and any tooling you use for YAML/JSON schema). - Examples
See the
examples/directory under each domain for flow-by-flow request/response samples.
- Domain versions live under
{domain}/v1/. Future backward-incompatible changes would be released asv2/under the same domain. - Schema files within a version (e.g.
context.jsonld,attributes.yaml) may be updated in a backward-compatible way within that version.
- Beckn Protocol v2.0.0
- Schema.org
- DeDi Protocol (for decentralized identity where applicable)
This specification is made available under the MIT License (or as specified in the repository).