API Reference

A simple REST API for signing and verifying digital assets. Base URL: https://ledgible.ai/api/v1

Quick Start

# Sign an asset
curl -X POST https://ledgible.ai/api/v1/assets/ingest \
  -H "X-API-Key: ldg_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "asset_id": "my-image-001",
    "asset_type": "image",
    "title": "Product photo",
    "creator_id": "user_123",
    "tool_id": "photoshop-v25"
  }'

# Verify an asset
curl "https://ledgible.ai/api/v1/verify?hash=sha256:abc123..."

Authentication

All signing endpoints require an API key passed in the X-API-Key header. Keys are scoped to your organization and can be created in the dashboard.

X-API-Key: ldg_your_api_key_here

Verification (GET /verify) is public and does not require authentication.

POST/api/v1/assets/ingest

Sign Asset

Signs and certifies a new asset. Creates a unique digital fingerprint, signs it with your organization's key, and writes a permanent content credential.

Request body

FieldTypeRequiredDescription
asset_idstringYesUnique identifier for this asset in your system.
asset_typestringYesCategory of asset (e.g. image, document, video).
titlestringNoHuman-readable name for display in the dashboard.
creator_idstringYesIdentifier of the user or process that created the asset.
tool_idstringYesIdentifier of the tool that produced the asset.
metadataobjectNoArbitrary JSON metadata stored alongside the record.
parent_hashstringNoHash of a parent asset for derivative works.

Response

{
  "success": true,
  "record": {
    "id": "clx8k2m0000001",
    "asset_id": "my-image-001",
    "canonical_hash": "sha256:3d4f...",
    "signature": "hmac:9a1c...",
    "signed_at": "2026-03-29T14:22:00Z"
  }
}
GET/api/v1/verify

Verify Asset

Looks up an asset by its canonical hash. No authentication required — verification is always public.

Query parameters

ParameterTypeRequiredDescription
hashstringYesThe canonical hash of the asset (e.g. sha256:abc123...).

Response

// Verified
{
  "verified": true,
  "asset_id": "my-image-001",
  "signer": "acme-corp",
  "tool_id": "photoshop-v25",
  "signed_at": "2026-03-29T14:22:00Z"
}

// Not found
{
  "verified": false,
  "message": "Asset not found in ledger"
}

Rate Limits & Versioning

Signing requests are rate-limited per API key. The current limits are 10 requests/second and your monthly plan quota. Verification requests are unlimited.

The API is versioned at /api/v1. Breaking changes will be introduced under a new version prefix with a deprecation notice.

SDKs

Official SDKs are in development. Sign up for early access.

Python

Coming soon

Node.js

Coming soon

Go

Coming soon