DPCS Reference Registry HTTP API¶
Implementation-defined reference registry protocol for ROADMAP 0.10.
SPEC Chapter 22 defines the registry document model and leaves operational mechanisms implementation-defined. Appendix G may later standardize a protocol. This document describes the DPCS reference HTTP API shipped with toolkit 0.10.0. See ADR-0005.
Base URL¶
All paths are relative to a registry base URL, for example http://127.0.0.1:8080.
Endpoints¶
| Method | Path | Description |
|---|---|---|
GET |
/v1/health |
Liveness |
GET |
/v1/registry |
Full registry document |
GET |
/v1/artifacts |
Discovery (?type= / ?status=) |
GET |
/v1/artifacts/{id} |
Lookup (?version=) |
GET |
/v1/artifacts/{id}/content |
Fetch payload |
PUT |
/v1/artifacts/{id} |
Publish (idempotent on identical content) |
POST |
/v1/artifacts/{id}/deprecate |
Deprecate (?version=) |
POST |
/v1/artifacts/{id}/retire |
Retire (?version=) |
Path and query values are percent-encoded by RegistryClient. Artifact ids and
versions used as content filenames must be safe path segments
([A-Za-z0-9._+-], including SemVer +build metadata).
Immutability (0.13.0)¶
PUT of an existing id@version with different content returns
HTTP 409 and DPCS-REG-016. Identical content is idempotent (HTTP 200).
Lifecycle status changes use deprecate/retire — not content rewrite.
Auth¶
Mutating operations require Authorization: Bearer <token> when the server is
started with --token. Content payloads support contentEncoding=utf-8 only.
Validation¶
Document validation uses validate_registry (DPCS-REG-*). Client/transport
failures use DPCS-REGC-*.
CLI¶
dpcs registry serve --root /tmp/reg --bind 127.0.0.1:8080 --token secret
dpcs registry pull --url http://127.0.0.1:8080 --cache-dir /tmp/reg-cache
dpcs registry lookup --url http://127.0.0.1:8080 demo --version 0.1.0 --cache-dir /tmp/reg-cache
dpcs registry publish --url http://127.0.0.1:8080 artifact.yaml --content payload.yaml --token secret
dpcs registry deprecate --url http://127.0.0.1:8080 demo --version 0.1.0 --token secret
dpcs registry retire --url http://127.0.0.1:8080 demo --version 0.1.0 --token secret
OpenAPI¶
Generated at schemas/registry.openapi.json via: