MINGLYPH API / V1

Meaningful type,
from one request.

Bring Minglyph’s readable, meaning-led artwork into your own product. One request carries the exact text, its idea, and the visual rule allowed to change.

CREATE A GENERATIONREST / JSON
curl https://minglyph.com/v1/generations \
  -H "Authorization: Bearer mg_live_…" \
  -H "Idempotency-Key: launch-001" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "PLAY",
    "meaning": "every letter finds its own way to move",
    "format": "doodle",
    "style": "letter-variant"
  }'
QUEUED / 202{ "id": "gen_01J…", "status": "queued", "credits_reserved": 4, "credits_committed": 0, "reused": false, "status_url": "https://minglyph.com/v1/generations/gen_01J…" }
V1 / RESTPrivate by defaultIdempotent writesWorkspace-scoped reuse

Two headers. One clear brief.

Use a workspace API key and an idempotency key for every write. Keys are never exposed in generated assets.

HEADERAuthorization: Bearer mg_live_…
HEADERIdempotency-Key: launch-001
Authentication

Bearer keys bind every request, asset, and credit entry to one workspace.

A deliberately small surface.

GET/v1/styles

List the active visual recipes.

↗
POST/v1/generations

Submit an authenticated generation job.

↗
POST/v1/uploads

Create a one-time reference image upload URL.

↗
PUT/v1/uploads/{id}

Upload PNG, JPEG, or WebP bytes through the signed URL.

↗
GET/v1/generations/{id}

Read status and the authenticated asset URL.

↗
GET/v1/generations/{id}/assets

List artwork, exact SVG glyph layer, and JSON manifest.

↗
GET/v1/assets/{id}

Stream a private asset with the same workspace key.

↗
GET/v1/webhook-endpoints

List workspace generation webhooks.

↗
POST/v1/webhook-endpoints

Create an HMAC-signed generation.completed webhook.

↗

Readable text stays the invariant.

Workspace keys can be created and revoked from the developer console. Generation, status, and asset requests are workspace-scoped, rate-limited, and private by default.

401

Predictable errors

Every failure includes a stable code, request ID, and optional structured details.

{
  "code": "UNAUTHORIZED",
  "request_id": "req_01J…"
}