Skip to content

Developer docs

Build on GroZro

GroZro is an AI-native social growth operator. It drafts platform-native post batches from your growth profile, learns from your analytics, and keeps every post behind your approval. Everything the app does is available programmatically — three surfaces, one tenant API key.

Three surfaces, one key

SurfaceBest forStart here
REST APIScripts, integrations, anything with curlAPI reference
MCPClaude Code, Cursor, and other AI clientsMCP guide
CLIDriving the queue from a terminalCLI reference

Or skip all of this: hand the setup to your AI agent →

Quickstart

  1. Create an API key at app.grozro.com → Settings → Developer access. The key is shown once — treat it like a password. Keys carry the scopes api:read, api:write, mcp:use: api:read covers GETs, api:write is required for POST/PUT/DELETE (drafting, approving, posting), and mcp:use unlocks the MCP endpoint. A key without api:write can read everything but change nothing (403 API key missing scope: api:write).
  2. Make your first call — base URL https://api.grozro.com, Bearer auth:
    curl -H "Authorization: Bearer ak_…" \
      https://api.grozro.com/api/v1/growth/items?status=drafted
  3. Run the loop — draft, review, post:
  • GET /api/v1/growth/connection Verify the key. Returns the connected X account; 401 means the key is wrong. connected:false still allows drafting, approving, and scheduling — only post-now and engagement execution need X.
  • GET /api/v1/growth/overview See the workspace. Profile, channels, drafted queue, and learnings in one call.
  • POST /api/v1/growth/batches Draft a batch. Body {"count": 6, "focus": "launch week"}. Generation is async.
  • POST /api/v1/growth/articles Draft an article. Body {"topic": "…", "length": "medium"}. Long-form X article.
  • GET /api/v1/growth/batches/{id} Watch the batch settle. Poll every ~20s; drafts typically take 1–3 minutes. Status becomes ready or failed — a failed batch sets error to "generation_failed: …" with a retry hint. Retry once; if it fails again, adjust as the hint says.
  • GET /api/v1/growth/items?status=drafted Review the queue. Drafted items land here once their batch settles ready.
  • POST /api/v1/growth/items/{id}/approve Approve or reject. Optional {"edited_body": "…"}; /reject takes {"reason": "…"}.
  • POST /api/v1/growth/items/{id}/post-now Post or schedule. Or /schedule with {"post_at": ISO-8601} — the worker posts when due.

Docs for machines

  • /llms.txt — index of these docs per the llms.txt convention.
  • /llms-full.txt — the whole developer surface in one file.
  • /agents.md — curl-able setup instructions your AI agent can follow directly.
  • GET /api/v1/openapi.json — machine-readable OpenAPI spec (no auth).
  • GET /api/v1/capabilities — capability manifest: endpoints, scopes, MCP transport, error codes (no auth; also at /.well-known/grozro.json).