Glisk
Browse Skills
Glisk/Agent API

Agent API

Let your AI agents discover, evaluate, and run skills from the Glisk catalog. The Agent API is a REST interface designed for programmatic access — separate from the human-facing UI.

Quick start

1. Register your agent

curl -X POST https://glisk.ai/api/agent/auth/register \
  -H "Content-Type: application/json" \
  -d '{"name": "My Agent", "email": "agent@example.com", "password": "secure-password-here"}'

2. Browse skills

curl https://glisk.ai/api/agent/skills \
  -H "X-API-Key: YOUR_KEY"

3. Run a skill

curl -X POST https://glisk.ai/api/agent/skills/cold-email-writer/run \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input": "We sell project management software for agencies...", "stream": false}'

Authentication

All endpoints (except registration) require an API key. Pass it via either header:

X-API-Key: sk-agent-...
# or
Authorization: Bearer sk-agent-...

Demo key for testing:

sk-agent-demo-key-glisk-2026

Rate limits

TierRuns per skillPrice
Free3$0
Pro (per skill)Unlimited$9.99 one-time
EnterpriseUnlimited (all)$29/month

When the limit is reached, the run endpoint returns 429 with upgrade information.

Endpoints

POST/api/agent/auth/register

Register a new agent and receive an API key

Request body

{
  "name": "My Sales Agent",
  "email": "agent@example.com",
  "password": "your-secure-password"
}

Response

{
  "object": "agent_registration",
  "profile_id": "uuid-...",
  "api_key": "sk-agent-abc123...",
  "key_prefix": "sk-agent-abc1234...",
  "name": "My Sales Agent",
  "tier": "FREE",
  "limits": {
    "runs_per_skill": 3
  },
  "warning": "Save this API key now — it will not be shown again."
}
GET/api/agent/skills(requires auth)

Browse and search the skill catalog. Filter by category, input type, or full-text search.

Query parameters

qSearch query (matches name, description, category)
categoryFilter by category: "Marketing", "Sales", "Legal", "Healthcare", "Education"
input_typeFilter by accepted input: "text", "document", "image", "audio", "video"
pagePage number (default: 1)
limitResults per page (default: 20, max: 50)

Response

{
  "object": "list",
  "data": [
    {
      "id": "cold-email-writer",
      "name": "Cold Email Writer",
      "description": "Turn your product description into 3 cold email variants...",
      "category": "Marketing",
      "accepted_input_types": ["text", "document"],
      "pricing": {
        "per_skill": { "amount": 9.99, "currency": "USD", "type": "one-time" },
        "subscription": { "amount": 29, "currency": "USD", "type": "monthly" }
      },
      "links": {
        "self": "/api/agent/skills/cold-email-writer",
        "run": "/api/agent/skills/cold-email-writer/run",
        "download": "/api/agent/skills/cold-email-writer/download"
      }
    }
  ],
  "pagination": { "page": 1, "limit": 20, "total": 6, "has_more": false },
  "categories": [...]
}
GET/api/agent/skills/:id(requires auth)

Get full details for a specific skill — input schema, examples, package contents, and your usage.

Response

{
  "object": "skill",
  "id": "contract-summarizer",
  "name": "Contract Summarizer",
  "input": {
    "label": "Paste your contract or agreement text",
    "accepted_types": ["text", "document"],
    "max_file_size": "10 MB"
  },
  "examples": [
    { "label": "SaaS Agreement", "content": "SOFTWARE AS A SERVICE..." }
  ],
  "package": {
    "files": ["SKILL.md", "references/contract-clause-library.md", ...],
    "structure": [...]
  },
  "usage": {
    "runs_used": 1,
    "runs_limit": 3,
    "runs_remaining": 2,
    "has_access": true
  }
}
POST/api/agent/skills/:id/run(requires auth)

Execute a skill with your input. Returns streaming SSE by default, or a complete JSON response with stream=false.

Request body

{
  "input": "Acme Corp makes AI-powered inventory management software...",
  "stream": true
}

Response

// Streaming (default):
data: {"type":"metadata","skill_id":"cold-email-writer","usage":{...}}
data: {"type":"text","text":"**EMAIL 1"}
data: {"type":"text","text":" — The Problem Opener**"}
...
data: [DONE]

// Non-streaming (stream: false):
{
  "object": "skill_run",
  "skill_id": "cold-email-writer",
  "output": "**EMAIL 1 — The Problem Opener**\n\nSubject: ...",
  "model": "claude-sonnet-4-20250514",
  "usage": { "runs_used": 2, "runs_limit": 3, "runs_remaining": 1 },
  "tokens": { "input": 156, "output": 892 }
}
GET/api/agent/skills/:id/download(requires auth)

Download the skill package — system prompt, input schema, examples, and file structure. Use format=markdown for a SKILL.md file.

Query parameters

format"json" (default) or "markdown" (returns SKILL.md file)

Response

{
  "object": "skill_package",
  "id": "contract-summarizer",
  "version": "1.0.0",
  "install": {
    "system_prompt": "You are Contract Summarizer...",
    "input_schema": {
      "type": "object",
      "properties": {
        "input": { "type": "string", "description": "..." }
      }
    },
    "accepted_input_types": ["text", "document"],
    "model_recommendation": "claude-sonnet-4-20250514",
    "max_tokens": 2048
  },
  "examples": [...],
  "files": [...]
}
GET/api/agent/usage(requires auth)

Check your API key usage across all skills.

Response

{
  "object": "usage",
  "agent": {
    "id": "ak_demo",
    "name": "Demo Agent",
    "tier": "free"
  },
  "skills": [
    {
      "skill_id": "cold-email-writer",
      "runs_used": 2,
      "runs_limit": 3,
      "runs_remaining": 1,
      "has_access": true
    }
  ],
  "totals": {
    "total_runs": 5,
    "skills_used": 3,
    "skills_available": 6
  }
}

Integration patterns

Discovery-first

Search the catalog, evaluate skill metadata and examples, then run with real content. Best for agents that need to find the right skill for a given task.

GET /api/agent/skills?q=email+marketing
GET /api/agent/skills/cold-email-writer
POST /api/agent/skills/cold-email-writer/run

Install-and-run

Download the skill package (system prompt + schema) and run it locally with your own LLM. The download endpoint gives you everything you need to replicate the skill.

GET /api/agent/skills/contract-summarizer/download
# Extract system_prompt, input_schema, model_recommendation
# Run with your own Anthropic/OpenAI key

Hosted execution

Let Glisk handle the LLM call. Send input, get output. Streaming or non-streaming. No model API key needed on your side.

POST /api/agent/skills/lesson-planner/run
{"input": "8th grade, water cycle, 50 min", "stream": false}