openapi: 3.1.0 info: title: W3C Affiliations Specifications API version: 1.0.0 summary: Read-only JSON API for W3C specifications, groups, ecosystems, translations, and affiliations. description: 'The W3C API provides programmatic access to W3C data including specifications, working groups, editors, translations, and affiliations. All access is over HTTPS via `api.w3.org`. Data is returned as JSON with ISO 8601 timestamps. No authentication is required; the rate limit is 6000 requests per IP per 10 minutes. Documentation: https://api.w3.org/doc ' contact: name: W3C url: https://www.w3.org/ servers: - url: https://api.w3.org description: W3C public read-only API tags: - name: Specifications paths: /specifications: get: tags: - Specifications summary: List specifications operationId: listSpecifications parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/Items' - $ref: '#/components/parameters/Embed' responses: '200': description: Paginated specifications collection content: application/json: schema: $ref: '#/components/schemas/SpecificationList' /specifications/{shortname}: parameters: - $ref: '#/components/parameters/Shortname' get: tags: - Specifications summary: Get a specification by shortname operationId: getSpecification responses: '200': description: Specification details content: application/json: schema: $ref: '#/components/schemas/Specification' '404': $ref: '#/components/responses/NotFound' /specifications/{shortname}/versions: parameters: - $ref: '#/components/parameters/Shortname' - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/Items' get: tags: - Specifications summary: List versions of a specification operationId: listSpecificationVersions responses: '200': description: Versions collection content: application/json: schema: type: object additionalProperties: true components: parameters: Embed: name: embed in: query description: Embed related resources on supported routes. schema: type: boolean Page: name: page in: query description: Page number (default 1). schema: type: integer default: 1 minimum: 1 Items: name: items in: query description: Page size (default 100, max 1000). schema: type: integer default: 100 minimum: 1 maximum: 1000 Shortname: name: shortname in: path required: true description: W3C specification shortname (e.g. `html52`, `wcag22`). schema: type: string schemas: HalLinks: type: object properties: self: $ref: '#/components/schemas/Link' first: $ref: '#/components/schemas/Link' last: $ref: '#/components/schemas/Link' next: $ref: '#/components/schemas/Link' prev: $ref: '#/components/schemas/Link' Link: type: object properties: href: type: string format: uri title: type: string SpecificationList: type: object properties: page: type: integer limit: type: integer pages: type: integer total: type: integer _links: allOf: - $ref: '#/components/schemas/HalLinks' - type: object properties: specifications: type: array items: $ref: '#/components/schemas/Link' Specification: type: object properties: shortname: type: string title: type: string description: type: string editor-draft: type: string format: uri series: type: object additionalProperties: true _links: type: object additionalProperties: true Error: type: object properties: code: type: integer message: type: string responses: NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/Error'