Skip to main content

Quickstart

TattooAPI is live as a governed control plane. The first decision is which access lane you are in.

What You Can Do Today

Public writes are blocked. Private workers cannot publish public surfaces, mutate canonical records, or bypass human review.

Base URL

Use the canonical public API base URL:
For local development against this repo:
The canonical public API host is api.tattooapi.com. api.tattoo.co may remain as a marketplace/internal alias for tattoo.co-owned applications, but docs and SDKs should prefer api.tattooapi.com.

1. Check Health

Use public liveness for basic availability:
Expected shape:
Use production readiness before relying on intake, private worker, or approved portfolio workflows:
Expected production posture today is status: "ready" with publicWritesAllowed: false.

2. Get Access

Public users do not need auth for health or studio discovery. Authenticated internal beta access uses approved partner credentials. Team members use bearer tokens, and machine or private worker tools use partner API keys.
The legacy POST /auth/register and POST /auth/login routes may still exist in the runtime, but they are not the default path for new internal beta access.
For internal beta reads, use the partner portal:
  1. Sign in at https://partners.tattoo.dev.
  2. Select your approved organization.
  3. Create a docs playground key.
  4. Confirm the key is mapped by TattooAPI.
  5. Open the Mintlify playground on https://docs.tattoo.dev and run your first request.
For human sessions, send:
For machine, server, SDK, and private worker calls, prefer:
Response semantics are intentionally simple:
  • 401 means the credential is missing or invalid.
  • 403 means the credential is valid but has no active TattooAPI actor mapping for it.
  • 410 means a legacy local API-key route is retired.

3. Search the Dataset

GET /search currently requires authenticated internal beta access.
The response uses a success wrapper:

4. List Studios

GET /studios is the current public discovery endpoint.
Unlike search, the current studios endpoint still uses the legacy paginated wrapper:

5. Understand Trust

Before you build on top of the current data, load the trust model:
  • recordState tells you if a record is raw, normalized, curated, verified, or deprecated
  • verificationStatus tells you how much trust has been established
  • licenseStatus and consentLevel tell you what kinds of downstream use are allowed
For portfolio intake, identity evidence is not KYC. unmatched, phone_matched, review_required, and verified_by_operator describe review evidence only; they do not claim legal identity verification. Next: