Skip to main content
POST
/
skills
cURL
curl -X POST 'https://api.gumloop.com/api/v1/skills' \
  -H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
  -F 'team_id=YOUR_TEAM_ID' \
  -F 'files=@./lead-enrichment.skill;type=application/zip'
{
  "skill": {
    "id": "skill_x7y8z9",
    "name": "Lead enrichment",
    "description": "Enriches inbound leads with firmographics.",
    "team_id": "team_4f8c92ab",
    "created_at": "2026-05-19T09:00:00Z",
    "updated_at": "2026-05-19T09:00:00Z",
    "metadata": {},
    "usage_count": 0,
    "view_count": 0,
    "last_used_at": null,
    "version_id": "sv_a1b2c3d4",
    "major_version": 1,
    "is_deployed": false,
    "version_created_at": "2026-05-19T09:00:00Z",
    "creator": {
      "id": "user_2b9d71f0",
      "first_name": "Ada",
      "last_name": "Lovelace",
      "email": "ada@example.com",
      "profile_picture": null
    }
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.gumloop.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

A personal API key or an OAuth 2.0 access token. Personal API keys also require the x-auth-key header with your user ID.

Body

multipart/form-data
files
file[]
required

One or more file parts. Accepts a single .md file (stored as SKILL.md), a .zip / .skill archive containing SKILL.md at its root, or loose files that together include a SKILL.md. Total upload must not exceed 10 MB.

team_id
string

Team that should own the skill. When omitted, the skill is owned by the authenticated user.

Response

Skill created.

skill
object