RRF / API

Registry API

Simple REST API for accessing the Robot Registry. Read-only endpoints are open. Write endpoints require an API key.

Base URL
https://api.robotregistryfoundation.org
Version
v1 (early access)
Rate limit
60 req/min
API is in early access. Endpoints are stable but the registry has limited data while the Foundation is in formation. Register your robot to grow the registry →
GET /api/v1/robots

List all registered robots

Returns a paginated list of all robots in the registry. Supports filtering by manufacturer, verification_status, tags, and status.

Parameters

limit integer optional Maximum number of results (max 200)
offset integer optional Pagination offset
manufacturer string optional Filter by manufacturer name (exact match)
verification_status string optional Filter by tier: community | verified | manufacturer | certified
tags string optional Comma-separated list of tags (AND logic)

Example Response

{
  "total": 1,
  "offset": 0,
  "limit": 50,
  "robots": [
    {
      "rrn": "RRN-00000001",
      "name": "OpenCastor Bob",
      "manufacturer": "ContinuonAI",
      "verification_status": "community",
      "status": "active",
      "tags": ["rpi5", "hailo", "rcan-compliant"]
    }
  ]
}
GET /api/v1/robots/:rrn

Get one robot by RRN

Returns the full registry record for a specific robot identified by its Robot Registration Number.

Parameters

rrn path required Robot Registration Number (e.g. RRN-00000001)

Example Response

{
  "rrn": "RRN-00000001",
  "name": "OpenCastor Bob",
  "manufacturer": "ContinuonAI",
  "model": "opencastor-rpi5",
  "description": "Reference implementation of an RCAN-compliant robot...",
  "status": "active",
  "production_year": 2026,
  "specs": {
    "compute": "Raspberry Pi 5 16GB + Hailo-8",
    "sensors": ["OAK-D RGB+Depth", "Hailo-8 NPU"]
  },
  "verification_status": "community",
  "ruri": "rcan://rcan.dev/continuonai/opencastor-rpi5/bob",
  "tags": ["rpi5", "hailo", "oak-d", "rcan-compliant"],
  "submitted_date": "2026-03-06"
}
POST /api/v1/robots

Register a new robot

Submit a new robot for RRN assignment. Returns a pending registration record. RRN is assigned within 1–3 business days.

Parameters

name string required Robot name
manufacturer string required Manufacturer name
model string required Model identifier
description string required Robot description
contact_email string required Contact for RRN delivery
specs object optional Technical specifications
ruri string optional RCAN Robot URI if applicable (RCAN v1.3+)
tags array optional Classification tags

Example Response

{
  "status": "pending",
  "submission_id": "sub_8f3k2m",
  "message": "Registration received. RRN will be assigned within 1–3 business days.",
  "submitted_at": "2026-03-12T14:22:00Z"
}
GET /api/v1/metrics

Registry statistics

Returns aggregate statistics about the registry.

Example Response

{
  "total_robots": 1,
  "by_verification_status": {
    "community": 1,
    "verified": 0,
    "manufacturer": 0,
    "certified": 0
  },
  "by_status": {
    "active": 1,
    "retired": 0,
    "prototype": 0
  },
  "last_updated": "2026-03-06T00:00:00Z"
}
GET /api/v1/resolve/:rrn

Federated RRN resolution

Resolves an RRN using the federation protocol. Queries the most authoritative available node and returns the canonical record with its provenance chain.

Parameters

rrn path required Robot Registration Number to resolve
full_chain boolean optional Include full federation provenance chain

Example Response

{
  "rrn": "RRN-00000001",
  "resolved_from": "root.rrf.registry",
  "canonical": true,
  "record": { ... },
  "chain": [
    { "node": "root.rrf.registry", "signed_at": "2026-03-06T00:00:00Z" }
  ]
}

Authentication

GET endpoints are open (no authentication required). POST endpoints require an API key passed as a Bearer token:

Authorization: Bearer <your-api-key>

API keys are issued during the formation period. Submit a robot to request early access.