JJijibora Docs
docs.jijibora.online
On this page (20 sections)

Materra Compliance Programs API — OpenAPI 1.0.0

<!-- GENERATED by scripts/render-platform-map-api-docs.mjs — do not hand-edit; edit apps/agent-bff/openapi/<spec>.json and re-run. --> Scope: The published reference for Materra Compliance Programs API. 13 paths — the measured spec-vs-implementation coverage lives in the complete API inventory. Status: rendered 2026-11-09 from the OpenAPI source for Materra Compliance Programs API — regenerate with node scripts/render-platform-map-api-docs.mjs. See also: the OpenAPI spec index.

Servers

URLNotes
http://127.0.0.1:3030Local Agent BFF
https://api.sovereign.exchangeProduction

Tags

TagSummary
ProgramsCompliance program registry
EnrollmentMember enrollment voyages
CertificatesAuthority / derived mint, revoke, unlock
SealBatch seal + provenance passport (optional BBS+)
HubMulti-org hub queue, casting, service directory
PlaybooksKV playbooks + voyage play/advance

Paths — 13 paths / 14 operations

MethodPathOperation IDSummary
GET/v1/materra/compliance/programslistComplianceProgramsList compliance programs for org
POST/v1/materra/compliance/programscreateComplianceProgramCreate / register compliance program claim
POST/v1/materra/compliance/programs/{programId}/enrollstartEnrollmentStart enrollment voyage (affiliation + play)
POST/v1/materra/compliance/programs/{programId}/enrollments/{enrollmentId}/advanceadvanceEnrollmentAdvance enrollment voyage (strict_hooks)
POST/v1/materra/compliance/programs/{programId}/mint-authoritymintAuthorityCertificateMint chamber authority certificate claim
POST/v1/materra/compliance/programs/{programId}/batches/{batchId}/sealsealBatchSeal batch; optional LIVE BBS+ when vault_id / require_bbs_plus
GET/v1/materra/compliance/programs/{programId}/batches/{batchId}/passportgetBatchPassportProvenance passport chain + seal presentations
GET/v1/materra/compliance/hub-queuelistHubMultiOrgQueueHub multi-org enrollment queue
GET/v1/materra/compliance/casting-candidateslistCastingCandidatesOrg-first casting candidates (optional include=service)
GET/v1/materra/compliance/service-directorylistServiceDirectoryLab / packhouse / haulier affiliations
GET/v1/materra/playbookslistPlaybooksList playbooks from NATS KV (+ T1 s369 merge)
PUT/v1/materra/playbooks/{id}putPlaybookCompile Studio → journey-spec → KV; T1 dual-write s369
POST/v1/materra/playbooks/{id}/playplayPlaybookStart playbook voyage claim
POST/v1/materra/playbooks/voyages/{claimId}/advanceadvancePlaybookVoyageAdvance voyage with strict_hooks

Operations

GET /v1/materra/compliance/programs

Summary: List compliance programs for org

Tags: Programs Operation ID: listCompliancePrograms

Parameters:

NameInRequiredTypeNotes
organization_idqueryyesstring

Responses:

StatusMeaning
200Program list (honest empty when none)
400Missing org
503Infra invent_refuse

POST /v1/materra/compliance/programs

Summary: Create / register compliance program claim

Tags: Programs Operation ID: createComplianceProgram Responses:

StatusMeaning
200Program created
422Validation failed

POST /v1/materra/compliance/programs/{programId}/enroll

Summary: Start enrollment voyage (affiliation + play)

Tags: Enrollment Operation ID: startEnrollment

Parameters:

NameInRequiredTypeNotes
programIdpathyesstring

Responses:

StatusMeaning
200Enrollment started
422Missing hub/journey or invalid fields
503Voyage invent_refuse after affiliation

POST /v1/materra/compliance/programs/{programId}/enrollments/{enrollmentId}/advance

Summary: Advance enrollment voyage (strict_hooks)

Tags: Enrollment Operation ID: advanceEnrollment

Parameters:

NameInRequiredTypeNotes
programIdpathyesstring
enrollmentIdpathyesstring

Responses:

StatusMeaning
200Advanced
403Missing drive_mandate / owner org
422Gate invent_refuse (docs/payment/s350)

POST /v1/materra/compliance/programs/{programId}/mint-authority

Summary: Mint chamber authority certificate claim

Tags: Certificates Operation ID: mintAuthorityCertificate Responses:

StatusMeaning
200Authority cert minted
404Program missing — invent_refuse (no Soft cert)

POST /v1/materra/compliance/programs/{programId}/batches/{batchId}/seal

Summary: Seal batch; optional LIVE BBS+ when vault_id / require_bbs_plus

Tags: Seal Operation ID: sealBatch Responses:

StatusMeaning
200Seal claim (+ optional BBS+ presentation bind)
422Missing hash / revoked issuer / BBS+ require failed

GET /v1/materra/compliance/programs/{programId}/batches/{batchId}/passport

Summary: Provenance passport chain + seal presentations

Tags: Seal Operation ID: getBatchPassport Responses:

StatusMeaning
200Passport (honest empty when unsealed)

GET /v1/materra/compliance/hub-queue

Summary: Hub multi-org enrollment queue

Tags: Hub Operation ID: listHubMultiOrgQueue Responses:

StatusMeaning
200Queue rows

GET /v1/materra/compliance/casting-candidates

Summary: Org-first casting candidates (optional include=service)

Tags: Hub Operation ID: listCastingCandidates Responses:

StatusMeaning
200Candidates

GET /v1/materra/compliance/service-directory

Summary: Lab / packhouse / haulier affiliations

Tags: Hub Operation ID: listServiceDirectory Responses:

StatusMeaning
200Service directory

GET /v1/materra/playbooks

Summary: List playbooks from NATS KV (+ T1 s369 merge)

Tags: Playbooks Operation ID: listPlaybooks

Parameters:

NameInRequiredTypeNotes
domainquerynostring

Responses:

StatusMeaning
200Playbooks with source tags
503NATS unavailable

PUT /v1/materra/playbooks/{id}

Summary: Compile Studio → journey-spec → KV; T1 dual-write s369

Tags: Playbooks Operation ID: putPlaybook

Parameters:

NameInRequiredTypeNotes
idpathyesstring

Responses:

StatusMeaning
200Stored (invent_refuse_live on catalog write)
422Compile / domain lock
503KV or s369 dual-write failed

POST /v1/materra/playbooks/{id}/play

Summary: Start playbook voyage claim

Tags: Playbooks Operation ID: playPlaybook Responses:

StatusMeaning
200Voyage claim
422Participants / unlock invent_refuse

POST /v1/materra/playbooks/voyages/{claimId}/advance

Summary: Advance voyage with strict_hooks

Tags: Playbooks Operation ID: advancePlaybookVoyage Responses:

StatusMeaning
200Advanced
403Owner org / drive_mandate
422Gate invent_refuse

Full specification — verbatim source of truth

{
  "openapi": "3.0.3",
  "info": {
    "title": "Materra Compliance Programs API",
    "description": "Chamber / co-op compliance programs — enroll, mint, review, seal, passport, hub-queue, casting, playbooks. Soft≠LIVE invent_refuse on LIVE-gated ops. Agent BFF :3030.",
    "version": "1.0.0",
    "contact": {
      "name": "Sovereign OS Platform",
      "url": "https://sovereign.exchange"
    }
  },
  "servers": [
    {
      "url": "http://127.0.0.1:3030",
      "description": "Local Agent BFF"
    },
    {
      "url": "https://api.sovereign.exchange",
      "description": "Production"
    }
  ],
  "tags": [
    {
      "name": "Programs",
      "description": "Compliance program registry"
    },
    {
      "name": "Enrollment",
      "description": "Member enrollment voyages"
    },
    {
      "name": "Certificates",
      "description": "Authority / derived mint, revoke, unlock"
    },
    {
      "name": "Seal",
      "description": "Batch seal + provenance passport (optional BBS+)"
    },
    {
      "name": "Hub",
      "description": "Multi-org hub queue, casting, service directory"
    },
    {
      "name": "Playbooks",
      "description": "KV playbooks + voyage play/advance"
    }
  ],
  "paths": {
    "/v1/materra/compliance/programs": {
      "get": {
        "tags": [
          "Programs"
        ],
        "operationId": "listCompliancePrograms",
        "summary": "List compliance programs for org",
        "parameters": [
          {
            "name": "organization_id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Program list (honest empty when none)"
          },
          "400": {
            "description": "Missing org"
          },
          "503": {
            "description": "Infra invent_refuse"
          }
        }
      },
      "post": {
        "tags": [
          "Programs"
        ],
        "operationId": "createComplianceProgram",
        "summary": "Create / register compliance program claim",
        "responses": {
          "200": {
            "description": "Program created"
          },
          "422": {
            "description": "Validation failed"
          }
        }
      }
    },
    "/v1/materra/compliance/programs/{programId}/enroll": {
      "post": {
        "tags": [
          "Enrollment"
        ],
        "operationId": "startEnrollment",
        "summary": "Start enrollment voyage (affiliation + play)",
        "parameters": [
          {
            "name": "programId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Enrollment started"
          },
          "422": {
            "description": "Missing hub/journey or invalid fields"
          },
          "503": {
            "description": "Voyage invent_refuse after affiliation"
          }
        }
      }
    },
    "/v1/materra/compliance/programs/{programId}/enrollments/{enrollmentId}/advance": {
      "post": {
        "tags": [
          "Enrollment"
        ],
        "operationId": "advanceEnrollment",
        "summary": "Advance enrollment voyage (strict_hooks)",
        "parameters": [
          {
            "name": "programId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "enrollmentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Advanced"
          },
          "403": {
            "description": "Missing drive_mandate / owner org"
          },
          "422": {
            "description": "Gate invent_refuse (docs/payment/s350)"
          }
        }
      }
    },
    "/v1/materra/compliance/programs/{programId}/mint-authority": {
      "post": {
        "tags": [
          "Certificates"
        ],
        "operationId": "mintAuthorityCertificate",
        "summary": "Mint chamber authority certificate claim",
        "responses": {
          "200": {
            "description": "Authority cert minted"
          },
          "404": {
            "description": "Program missing — invent_refuse (no Soft cert)"
          }
        }
      }
    },
    "/v1/materra/compliance/programs/{programId}/batches/{batchId}/seal": {
      "post": {
        "tags": [
          "Seal"
        ],
        "operationId": "sealBatch",
        "summary": "Seal batch; optional LIVE BBS+ when vault_id / require_bbs_plus",
        "responses": {
          "200": {
            "description": "Seal claim (+ optional BBS+ presentation bind)"
          },
          "422": {
            "description": "Missing hash / revoked issuer / BBS+ require failed"
          }
        }
      }
    },
    "/v1/materra/compliance/programs/{programId}/batches/{batchId}/passport": {
      "get": {
        "tags": [
          "Seal"
        ],
        "operationId": "getBatchPassport",
        "summary": "Provenance passport chain + seal presentations",
        "responses": {
          "200": {
            "description": "Passport (honest empty when unsealed)"
          }
        }
      }
    },
    "/v1/materra/compliance/hub-queue": {
      "get": {
        "tags": [
          "Hub"
        ],
        "operationId": "listHubMultiOrgQueue",
        "summary": "Hub multi-org enrollment queue",
        "responses": {
          "200": {
            "description": "Queue rows"
          }
        }
      }
    },
    "/v1/materra/compliance/casting-candidates": {
      "get": {
        "tags": [
          "Hub"
        ],
        "operationId": "listCastingCandidates",
        "summary": "Org-first casting candidates (optional include=service)",
        "responses": {
          "200": {
            "description": "Candidates"
          }
        }
      }
    },
    "/v1/materra/compliance/service-directory": {
      "get": {
        "tags": [
          "Hub"
        ],
        "operationId": "listServiceDirectory",
        "summary": "Lab / packhouse / haulier affiliations",
        "responses": {
          "200": {
            "description": "Service directory"
          }
        }
      }
    },
    "/v1/materra/playbooks": {
      "get": {
        "tags": [
          "Playbooks"
        ],
        "operationId": "listPlaybooks",
        "summary": "List playbooks from NATS KV (+ T1 s369 merge)",
        "parameters": [
          {
            "name": "domain",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "agriculture"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Playbooks with source tags"
          },
          "503": {
            "description": "NATS unavailable"
          }
        }
      }
    },
    "/v1/materra/playbooks/{id}": {
      "put": {
        "tags": [
          "Playbooks"
        ],
        "operationId": "putPlaybook",
        "summary": "Compile Studio → journey-spec → KV; T1 dual-write s369",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Stored (invent_refuse_live on catalog write)"
          },
          "422": {
            "description": "Compile / domain lock"
          },
          "503": {
            "description": "KV or s369 dual-write failed"
          }
        }
      }
    },
    "/v1/materra/playbooks/{id}/play": {
      "post": {
        "tags": [
          "Playbooks"
        ],
        "operationId": "playPlaybook",
        "summary": "Start playbook voyage claim",
        "responses": {
          "200": {
            "description": "Voyage claim"
          },
          "422": {
            "description": "Participants / unlock invent_refuse"
          }
        }
      }
    },
    "/v1/materra/playbooks/voyages/{claimId}/advance": {
      "post": {
        "tags": [
          "Playbooks"
        ],
        "operationId": "advancePlaybookVoyage",
        "summary": "Advance voyage with strict_hooks",
        "responses": {
          "200": {
            "description": "Advanced"
          },
          "403": {
            "description": "Owner org / drive_mandate"
          },
          "422": {
            "description": "Gate invent_refuse"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "InventRefuseEnvelope": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean"
          },
          "live": {
            "type": "boolean",
            "description": "Always false for Soft≠LIVE catalog ops"
          },
          "invent_refuse_live": {
            "type": "boolean"
          },
          "soft": {
            "type": "boolean",
            "description": "Always false — never Soft invent success"
          },
          "error": {
            "type": "string"
          },
          "detail": {
            "type": "string"
          }
        }
      }
    }
  }
}