Getting Started

Quickstart

Submit your first record to the Bedrock ledger in under five minutes.

This guide takes you from zero to a signed certificate. By the end you will have recorded a real piece of advice into your firm's hash chain, watched it move through review, and downloaded the cryptographic proof.

1. Get an API key

Sign in to the Ledger admin dashboard at https://ledger.bedrockcompliance.co.uk, open Settings → API Keys, and click Create key. Give it a descriptive name (e.g. local-dev) and copy the secret. You will only see it once — store it somewhere safe.

Keys are scoped to a single firm and prefixed with bk_live_ in production or bk_test_ in staging. Treat them like passwords.

2. Sanity check the connection

bash
curl https://api.bedrockcompliance.co.uk/health

You should get back:

json
{ "status": "ok", "timestamp": "2026-04-07T12:34:56.000Z" }

3. Submit your first record

Records are the unit of work in Bedrock. Each one represents a discrete piece of advice: a suitability report, an investment recommendation, an updated risk profile. Submitting a record adds it to your firm's append-only chain.

bash
curl -X POST https://api.bedrockcompliance.co.uk/v1/principal/jobs \
  -H "X-Bedrock-Key: bk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "documentType": "SUITABILITY_REPORT",
    "documentUrl": "https://files.example.com/report.pdf",
    "clientReference": "client-12345",
    "documentReference": "report-2026-04-07-001",
    "factFindSummary": {
      "adviser": "Jane Smith",
      "product": "Stocks & Shares ISA"
    }
  }'

The response contains the created Job with its id and queued status:

json
{
  "id": "job_01HX4...",
  "status": "QUEUED",
  "documentType": "SUITABILITY_REPORT",
  "clientReference": "client-12345",
  "documentReference": "report-2026-04-07-001",
  "createdAt": "2026-04-07T12:35:01.000Z"
}

4. Watch it move through review

Reviewers in your firm will see the job land in their queue inside the Principal app. You can poll its status from the API:

bash
curl https://api.bedrockcompliance.co.uk/v1/principal/jobs/job_01HX4... \
  -H "X-Bedrock-Key: bk_live_your_api_key"

The job will transition through QUEUED → ASSIGNED → IN_REVIEW → COMPLETED. When it completes, the outcome field is one of APPROVED, APPROVED_WITH_MODIFICATIONS, or REJECTED. Each transition is recorded as a ledger event. See Ledger events for the full lifecycle.

5. Download the certificate

When the review is complete, Bedrock issues a signed certificate. It contains the outcome, the reviewer's details, the ledger position, and a cryptographic proof anyone can verify against your firm's public key.

bash
curl https://api.bedrockcompliance.co.uk/v1/ledger/certificates \
  -H "X-Bedrock-Key: bk_live_your_api_key"

Each certificate in the response includes an id and a recordId. To fetch a presigned URL for the PDF for a specific record, call GET /v1/ledger/records/{id}/certificate. Hand the certificate ID to the client and they can verify it themselves at verify.bedrockcompliance.co.uk — or programmatically against GET /v1/verify/{certificateId} — without trusting your firm.

What you just did

  • Authenticated against the Bedrock API.
  • Created a Principal review job for a piece of advice.
  • Triggered an entry in your firm's tamper-evident ledger.
  • Issued a cryptographically signed certificate that any third party can verify.

What's next