{"openapi":"3.1.0","info":{"title":"Edge API","version":"1.0.0","description":"Edge finds the best expert skill for the task an agent is about to do, and loads it for that task. Every endpoint is free ($0). No key needed; an optional Edge key (Authorization: Bearer edge_...) links calls to the key's activity."},"servers":[{"url":"https://getedge.cc/api/v1"}],"security":[{},{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional Edge key (edge_...). A wrong key runs as anonymous."}},"schemas":{"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}},"Skill":{"type":"object","required":["source","skill","description","fit_score","recommended","security_state","installs","url"],"properties":{"source":{"type":"string","description":"Repository, owner/repo. Pass to use_skill."},"skill":{"type":"string","description":"Skill name. Pass to use_skill."},"description":{"type":["string","null"],"description":"What the skill does, from its SKILL.md."},"fit_score":{"type":["number","null"],"minimum":0,"maximum":1,"description":"Edge's fit check: estimated probability the skill helps this task. null when unjudged."},"recommended":{"type":"boolean","description":"true for the one skill Edge says to load first."},"security_state":{"type":"string","enum":["reviewed"],"description":"Only skills whose exact bundle passed Edge's automated checks are returned. Not a safety guarantee."},"installs":{"type":["integer","null"],"description":"Install count reported by the public catalog."},"url":{"type":"string","description":"The pinned SKILL.md source."}}}}},"paths":{"/find_skill":{"post":{"operationId":"find_skill","summary":"Find the best skill for a task","description":"Searches about 250,000 public agent skills, ranks them for this exact task and returns only security-reviewed ones. Takes 3 to 15 seconds. Keep request_id, source and skill for use_skill.","x-price":{"type":"PER_CALL","amount":{"value":0,"currency":"USD"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["query"],"additionalProperties":false,"properties":{"query":{"type":"string","minLength":3,"maxLength":500,"description":"The task in plain words.","examples":["write a postgres migration that adds an index without locking the table"]},"keywords":{"type":"string","description":"Optional: 2 to 8 words a skill for this would be named with.","examples":["postgres migration"]},"limit":{"type":"integer","minimum":1,"maximum":5,"default":5,"description":"Most skills to return."}}}}}},"responses":{"200":{"description":"Ranked skills","content":{"application/json":{"schema":{"type":"object","required":["request_id","skills","recommendation"],"properties":{"request_id":{"type":["string","null"],"description":"Pass to use_skill."},"skills":{"type":"array","items":{"$ref":"#/components/schemas/Skill"}},"recommendation":{"type":"object","required":["strength","source","skill","text"],"properties":{"strength":{"type":"string","enum":["pick","shortlist","none","routine"],"description":"pick: load the named skill first. shortlist: load one only if it clearly fits. none: nothing audited fits. routine: no specialist skill needed."},"source":{"type":["string","null"]},"skill":{"type":["string","null"]},"text":{"type":"string"}}}}}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/use_skill":{"post":{"operationId":"use_skill","summary":"Load a skill's instructions for this task","description":"Returns the full SKILL.md and its supporting files as text, for the agent to follow for this task. Nothing is installed. Only security-reviewed exact bundles load.","x-price":{"type":"PER_CALL","amount":{"value":0,"currency":"USD"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["skill"],"additionalProperties":false,"properties":{"source":{"type":"string","description":"Repository from find_skill, owner/repo.","examples":["impertio-studio/postgresql-claude-skill-package"]},"skill":{"type":"string","description":"Skill name from find_skill.","examples":["postgres-impl-zero-downtime-migrations"]},"request_id":{"type":"string","description":"request_id from find_skill."},"version":{"type":"string","description":"Optional: a scanned version to pin."}}}}}},"responses":{"200":{"description":"Loaded","content":{"application/json":{"schema":{"type":"object","required":["source","skill","security_state","instructions"],"properties":{"source":{"type":["string","null"]},"skill":{"type":"string"},"security_state":{"type":"string","enum":["reviewed"]},"request_id":{"type":["string","null"]},"instructions":{"type":"string","description":"The skill's SKILL.md and supporting files, to apply for this task."}}}}}},"400":{"description":"Invalid input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Blocked by Edge's security gate","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not loadable or not matched; the error says what to try","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Security review still running; retry after Retry-After seconds","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limited; see Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}}}