Conventions
ID formats, network conventions, and other standards used in the Arke API.
ID Formats
Main Network
Standard 26-character ULIDs:
01JXXXXXXXXXXXXXXXXXXXXXXXXXULIDs are sortable by creation time and globally unique.
Test Network
Test IDs use an II prefix + 24 characters:
IIXXXXXXXXXXXXXXXXXXXXXXThe II prefix is impossible in real ULIDs (which start with time-based encoding), making test data unambiguously identifiable. Test data routes to separate storage buckets and databases.
IPLD-Style Links
Version links use the IPLD convention for content-addressed references:
{ "/": "bafyreig..." }This provides compatibility with content-addressed ecosystems. The CID (Content Identifier) is computed locally using the same algorithm, providing content-addressing guarantees without requiring IPFS infrastructure.
CID Format
CIDs are computed from the manifest JSON using:
- SHA-256 hash of the canonical JSON representation
- Base32 encoding with the
bafyreiprefix (CIDv1, dag-cbor, SHA-256)
Network Header
Set X-Arke-Network to select the network:
| Value | Network | ID Format | Storage |
|---|---|---|---|
main (default) | Production | Standard ULID | Production buckets |
test | Test | II-prefixed | Test buckets |
Schema Versioning
Entity schemas follow the namespace/type@version convention:
arke/eidos@v2 -- Base entity schema
arke/file@v1 -- File profile
arke/collection@v1 -- Collection profileWhen schemas evolve, the version number increments. The system can validate entities against the schema version specified in their schema field.