OpenVibe.Inventory API

Generated at from openvibe-contracts v0.127.0 and openvibe-sdk v0.37.0.

Server https://inventory.openvibe.network. 15 routes performing 7 capabilities. OpenAPI 3.1 document.

GET /api/v1/definitions

Read a person's public inventory (GET /api/v1/people/:subject/items → inventory.inventory@1: owned instances of published definitions), their equipped set (GET /api/v1/people/:subject/equipped, GET /a

Capabilities
inventory.item.read
Visibility
public
Response
application/json inventory.inventory@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>inventory.item.read</strong> (public): Read a person&#39;s public inventory (GET /api/v1/people/:subject/items → inventory.inventory@1: owned instances of published definitions), their equipped set (GET /api/v1/people/:subject/equipped, GET /api/v1/equipped?subjects=… up to 100 → inventory.equipped-batch@1), definitions and kinds.</p>

POST /api/v1/definitions

Create, edit, submit and retire definitions in the caller's namespace (POST /api/v1/definitions, PATCH /api/v1/definitions/:id with inventory.definition-request@1 → inventory.definition@1).

Capabilities
inventory.definition.manage
Visibility
first-party
Request body
application/json inventory.definition-request@1
Response
application/json inventory.definition@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>inventory.definition.manage</strong> (first-party): Create, edit, submit and retire definitions in the caller&#39;s namespace (POST /api/v1/definitions, PATCH /api/v1/definitions/:id with inventory.definition-request@1 → inventory.definition@1). A creator&#39;s definition goes to review; a service&#39;s or app&#39;s is published when it asks.</p>

GET /api/v1/definitions/{id}

Read a person's public inventory (GET /api/v1/people/:subject/items → inventory.inventory@1: owned instances of published definitions), their equipped set (GET /api/v1/people/:subject/equipped, GET /a

Capabilities
inventory.item.read
Visibility
public
Parameters
  • id (path, required)
Response
application/json inventory.inventory@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>inventory.item.read</strong> (public): Read a person&#39;s public inventory (GET /api/v1/people/:subject/items → inventory.inventory@1: owned instances of published definitions), their equipped set (GET /api/v1/people/:subject/equipped, GET /api/v1/equipped?subjects=… up to 100 → inventory.equipped-batch@1), definitions and kinds.</p>

PATCH /api/v1/definitions/{id}

Create, edit, submit and retire definitions in the caller's namespace (POST /api/v1/definitions, PATCH /api/v1/definitions/:id with inventory.definition-request@1 → inventory.definition@1).

Capabilities
inventory.definition.manage
Visibility
first-party
Parameters
  • id (path, required)
Request body
application/json inventory.definition-request@1
Response
application/json inventory.definition@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>inventory.definition.manage</strong> (first-party): Create, edit, submit and retire definitions in the caller&#39;s namespace (POST /api/v1/definitions, PATCH /api/v1/definitions/:id with inventory.definition-request@1 → inventory.definition@1). A creator&#39;s definition goes to review; a service&#39;s or app&#39;s is published when it asks.</p>

POST /api/v1/definitions/{id}/review

Staff publish or reject a submitted Workshop definition (POST /api/v1/definitions/:id/review with { decision: publish | reject, reason, rarity?

Capabilities
inventory.definition.review
Visibility
internal
Parameters
  • id (path, required)
Request body
application/json inventory.review-request@1
Response
application/json inventory.definition@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>inventory.definition.review</strong> (internal): Staff publish or reject a submitted Workshop definition (POST /api/v1/definitions/:id/review with { decision: publish | reject, reason, rarity? } → inventory.definition@1), checking safety, art rights and an honest rarity (ADR-054 §6). Persons with the staff role only.</p>

GET /api/v1/equipped

Read a person's public inventory (GET /api/v1/people/:subject/items → inventory.inventory@1: owned instances of published definitions), their equipped set (GET /api/v1/people/:subject/equipped, GET /a

Capabilities
inventory.item.read
Visibility
public
Response
application/json inventory.inventory@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>inventory.item.read</strong> (public): Read a person&#39;s public inventory (GET /api/v1/people/:subject/items → inventory.inventory@1: owned instances of published definitions), their equipped set (GET /api/v1/people/:subject/equipped, GET /api/v1/equipped?subjects=… up to 100 → inventory.equipped-batch@1), definitions and kinds.</p>

POST /api/v1/grants

Grant an instance of a definition the caller issued (POST /api/v1/grants with inventory.grant-request@1 → inventory.instance@1; Idempotency by idempotency_key).

Capabilities
inventory.item.grant
Visibility
first-party
Request body
application/json inventory.grant-request@1
Response
application/json inventory.instance@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>inventory.item.grant</strong> (first-party): Grant an instance of a definition the caller issued (POST /api/v1/grants with inventory.grant-request@1 → inventory.instance@1; Idempotency by idempotency_key). Outside the issuer&#39;s namespace: 403 inventory.not_issuer. Sold out: 409 inventory.supply_exhausted. Never for money (ADR-054 §5).</p>

POST /api/v1/instances/{id}/consume

Consume or revoke an instance of a definition the caller issued (POST /api/v1/instances/:id/consume | /revoke → inventory.instance@1).

Capabilities
inventory.item.consume
Visibility
first-party
Parameters
  • id (path, required)
Response
application/json inventory.instance@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>inventory.item.consume</strong> (first-party): Consume or revoke an instance of a definition the caller issued (POST /api/v1/instances/:id/consume | /revoke → inventory.instance@1).</p>

POST /api/v1/instances/{id}/revoke

Consume or revoke an instance of a definition the caller issued (POST /api/v1/instances/:id/consume | /revoke → inventory.instance@1).

Capabilities
inventory.item.consume
Visibility
first-party
Parameters
  • id (path, required)
Response
application/json inventory.instance@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>inventory.item.consume</strong> (first-party): Consume or revoke an instance of a definition the caller issued (POST /api/v1/instances/:id/consume | /revoke → inventory.instance@1).</p>

GET /api/v1/kinds

Read a person's public inventory (GET /api/v1/people/:subject/items → inventory.inventory@1: owned instances of published definitions), their equipped set (GET /api/v1/people/:subject/equipped, GET /a

Capabilities
inventory.item.read
Visibility
public
Response
application/json inventory.inventory@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>inventory.item.read</strong> (public): Read a person&#39;s public inventory (GET /api/v1/people/:subject/items → inventory.inventory@1: owned instances of published definitions), their equipped set (GET /api/v1/people/:subject/equipped, GET /api/v1/equipped?subjects=… up to 100 → inventory.equipped-batch@1), definitions and kinds.</p>

GET /api/v1/kinds/{id}

Read a person's public inventory (GET /api/v1/people/:subject/items → inventory.inventory@1: owned instances of published definitions), their equipped set (GET /api/v1/people/:subject/equipped, GET /a

Capabilities
inventory.item.read
Visibility
public
Parameters
  • id (path, required)
Response
application/json inventory.inventory@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>inventory.item.read</strong> (public): Read a person&#39;s public inventory (GET /api/v1/people/:subject/items → inventory.inventory@1: owned instances of published definitions), their equipped set (GET /api/v1/people/:subject/equipped, GET /api/v1/equipped?subjects=… up to 100 → inventory.equipped-batch@1), definitions and kinds.</p>

PUT /api/v1/me/equipped

Equip or clear a slot with an instance the person owns (PUT /api/v1/me/equipped with inventory.equip-request@1 → inventory.equipped@1).

Capabilities
inventory.equip.manage
Visibility
public
Request body
application/json inventory.equip-request@1
Response
application/json inventory.equipped@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>inventory.equip.manage</strong> (public): Equip or clear a slot with an instance the person owns (PUT /api/v1/me/equipped with inventory.equip-request@1 → inventory.equipped@1). One item per slot. Refuses an instance not owned or not in state owned (409 inventory.not_owned).</p>

GET /api/v1/me/items

The person's own full inventory, consumed and revoked instances included (GET /api/v1/me/items → inventory.inventory@1).

Capabilities
inventory.item.list
Visibility
public
Response
application/json inventory.inventory@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>inventory.item.list</strong> (public): The person&#39;s own full inventory, consumed and revoked instances included (GET /api/v1/me/items → inventory.inventory@1). A service may read it acting for the person (on_behalf_of).</p>

GET /api/v1/people/{subject}/equipped

Read a person's public inventory (GET /api/v1/people/:subject/items → inventory.inventory@1: owned instances of published definitions), their equipped set (GET /api/v1/people/:subject/equipped, GET /a

Capabilities
inventory.item.read
Visibility
public
Parameters
  • subject (path, required)
Response
application/json inventory.inventory@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>inventory.item.read</strong> (public): Read a person&#39;s public inventory (GET /api/v1/people/:subject/items → inventory.inventory@1: owned instances of published definitions), their equipped set (GET /api/v1/people/:subject/equipped, GET /api/v1/equipped?subjects=… up to 100 → inventory.equipped-batch@1), definitions and kinds.</p>

GET /api/v1/people/{subject}/items

Read a person's public inventory (GET /api/v1/people/:subject/items → inventory.inventory@1: owned instances of published definitions), their equipped set (GET /api/v1/people/:subject/equipped, GET /a

Capabilities
inventory.item.read
Visibility
public
Parameters
  • subject (path, required)
Response
application/json inventory.inventory@1
Errors
errors.problem@1 (application/problem+json)
Description<p><strong>inventory.item.read</strong> (public): Read a person&#39;s public inventory (GET /api/v1/people/:subject/items → inventory.inventory@1: owned instances of published definitions), their equipped set (GET /api/v1/people/:subject/equipped, GET /api/v1/equipped?subjects=… up to 100 → inventory.equipped-batch@1), definitions and kinds.</p>