Skip to content

Quick Start

This guide walks you through your first API calls — from verifying your key to updating content in a content engine.

  • A GEN account at gen.pro
  • An API key (create one here)
  • Active GEN credits on your account
  • At least one agent with a content engine

Set your API key as an environment variable to follow along:

Terminal window
export GEN_API_KEY="gen_pat_your_key_here"
  1. Verify your API key

    Confirm your key is working by hitting the /v1/me endpoint:

    Terminal window
    curl -s https://api.gen.pro/v1/me \
    -H "X-API-Key: $GEN_API_KEY" | jq
    {
    "id": "user_abc123",
    "email": "you@example.com",
    "name": "Your Name"
    }

    If you get a 401 response, double-check your key.

  2. List your workspaces

    Workspaces organize your agents and content. List them to orient yourself:

    Terminal window
    curl -s https://api.gen.pro/v1/workspaces \
    -H "X-API-Key: $GEN_API_KEY" | jq
    {
    "workspaces": [
    {
    "id": "ws_abc123",
    "name": "My Workspace",
    "agents_count": 3
    }
    ]
    }
  3. Find your agent

    Every content operation is scoped to an agent. List your agents to find the one you want to work with:

    Terminal window
    curl -s https://api.gen.pro/v1/agents \
    -H "X-API-Key: $GEN_API_KEY" | jq
    {
    "agents": [
    {
    "id": "agent_xyz789",
    "name": "Alex",
    "niche": "Tech Reviews"
    }
    ]
    }

    Save the agent ID — you will need it for all content engine requests:

    Terminal window
    export AGENT_ID="agent_xyz789"
  4. Get a content engine

    Fetch one of the agent’s content engines to see its structure — rows, columns, and cells:

    Terminal window
    curl -s "https://api.gen.pro/v1/autocontentengine/{sheet_id}?agent_id=$AGENT_ID" \
    -H "X-API-Key: $GEN_API_KEY" | jq
    {
    "id": "sheet_001",
    "name": "Week 12 Content",
    "columns": [
    { "id": "col_script", "name": "Script", "position": 0 },
    { "id": "col_voice", "name": "Voiceover", "position": 1 },
    { "id": "col_broll", "name": "B-Roll", "position": 2 }
    ],
    "rows": [
    {
    "id": "row_001",
    "position": 0,
    "cells": [
    {
    "id": "cell_abc",
    "column_id": "col_script",
    "value": "Top 5 phones of 2026..."
    }
    ]
    }
    ]
    }
  5. Update a cell

    Now modify a cell value — for example, updating a script:

    Terminal window
    curl -s -X PATCH \
    "https://api.gen.pro/v1/autocontentengine/{sheet_id}/cells/{cell_id}?agent_id=$AGENT_ID" \
    -H "X-API-Key: $GEN_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
    "value": "The top 5 phones of 2026 will surprise you. Number one..."
    }' | jq
    {
    "id": "cell_abc",
    "column_id": "col_script",
    "value": "The top 5 phones of 2026 will surprise you. Number one...",
    "updated_at": "2026-03-09T12:00:00Z"
    }

    The cell is updated immediately. If you open the content engine in the GEN web app, you will see the new value.

You have the basics down. Here is where to go from here: