BRICK Schema · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Brick Example Server contract

6 actions 6 updates documentation extends ../openapi/brick-brick-server-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for BRICK Schema's API. It is a proposal applied on top of the contract, not a document BRICK Schema publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-notedescriptionx-source-urlx-harvestedx-licensex-deploymentx-consequencex-reversibility

Targets 6

$.info
$.paths['/brickapi/v1/actuation/'].post
$.paths['/brickapi/v1/rawqueries/sparql'].post
$.paths['/brickapi/v1/entities/list'].post
$.components.securitySchemes.HTTPBearer
$.components.schemas.HTTPValidationError

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Brick Example Server contract
  version: 1.0.0
x-provenance:
  generated: '2026-09-04'
  method: generated
  source: openapi/brick-brick-server-openapi.yml
  note: >-
    Non-destructive. This overlay records what API Evangelist established about the Brick Example
    Server contract during the 2026-09-04 enrichment pass. It is never applied to the original spec in
    openapi/_original/, and it adds no operation, parameter, response or server that the provider does
    not publish. Every action either supplies provenance the spec lacks or restates a fact already
    proven by the spec's own content.
extends: ../openapi/brick-brick-server-openapi.yml
actions:
  - target: $.info
    update:
      description: >-
        The Brick Example Server — the BrickSchema organisation's self-hostable HTTP contract
        demonstrating how a Brick model can be abstracted by an HTTP API. Documented at
        https://docs.brickschema.org/software/interfaces.html and published at
        https://github.com/BrickSchema/brick-example-server. This is self-hosted software: there is no
        hosted base URL, and the contract intentionally declares no servers[] block.
      x-source-url: https://raw.githubusercontent.com/BrickSchema/brick-example-server/master/openapi.json
      x-harvested: '2026-09-04'
      x-license: BSD-3-Clause
      x-deployment: self-hosted
  - target: $.paths['/brickapi/v1/actuation/'].post
    update:
      x-consequence: high
      x-reversibility: none
      x-note: >-
        Writes a numeric value to a physical control point. The contract publishes no reversal
        operation, no previous-value read and no idempotency key, so a retry re-actuates equipment.
        See conventions/brick-conventions.yml.
  - target: $.paths['/brickapi/v1/rawqueries/sparql'].post
    update:
      x-note: >-
        Accepts a raw SPARQL 1.1 query as application/sparql-query. The operation's own description
        warns it "May not be exposed in the production deployment" — treat availability as
        operator-dependent.
  - target: $.paths['/brickapi/v1/entities/list'].post
    update:
      x-note: >-
        The ListEntityParams request body is the Brick ontology's core relationship set projected as a
        filter surface — hasPoint, isPointOf, hasPart, isPartOf, hasLocation, isLocationOf, feeds,
        isFedBy. See vocabulary/brick-vocabulary.yml for the definitions.
  - target: $.components.securitySchemes.HTTPBearer
    update:
      x-token-issuance: >-
        Application tokens are minted at POST /brickapi/v1/auth/app_tokens and revoked at DELETE
        /brickapi/v1/auth/app_tokens/{app_token}; interactive login is a Google redirect via
        /brickapi/v1/auth/login and /brickapi/v1/auth/logincallback.
      x-unsecured-operations: >-
        Three operations declare no security requirement: /auth/login, /auth/is_registered and
        /auth/logincallback.
  - target: $.components.schemas.HTTPValidationError
    update:
      x-note: >-
        The only documented error shape in the contract, returned as application/json on 422 by twelve
        of nineteen operations. Not RFC 9457. No 401, 403, 404, 429 or 5xx response is declared
        anywhere. See errors/brick-problem-types.yml.