# Get Skill

<Heading
  as={"h1"}
  className={"openapi__heading"}
  children={"Get Skill"}
>
</Heading>

<MethodEndpoint
  method={"get"}
  path={"/api/v2/skills/{skill_id}"}
  context={"endpoint"}
>
  
</MethodEndpoint>

Get Skill

<Heading
  id={"request"}
  as={"h2"}
  className={"openapi-tabs__heading"}
  children={"Request"}
>
</Heading>

<ParamsDetails
  parameters={[{"in":"path","name":"skill_id","required":true,"schema":{"title":"Skill Id","type":"string"}},{"description":"Git commit sha to view a specific version.","in":"query","name":"ref","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Git commit sha to view a specific version.","title":"Ref"}},{"description":"Which connected repo the skill lives in (e.g. DEEPSET for the shared repo, ORG for the organization's own repo). Defaults to the organization's own repo, then the shared repo.","in":"query","name":"source","required":false,"schema":{"anyOf":[{"description":"Provenance of a skill, for the catalog to badge (e.g. \"Built by deepset\").","enum":["DEEPSET","ORG","WORKSPACE"],"title":"SkillSource","type":"string"},{"type":"null"}],"description":"Which connected repo the skill lives in (e.g. DEEPSET for the shared repo, ORG for the organization's own repo). Defaults to the organization's own repo, then the shared repo.","title":"Source"}},{"description":"Id of the exact repo the skill lives in (from the catalog entry's 'source_id'). Preferred over 'source' when the organization has more than one repo — it names the repo unambiguously.","in":"query","name":"source_id","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Id of the exact repo the skill lives in (from the catalog entry's 'source_id'). Preferred over 'source' when the organization has more than one repo — it names the repo unambiguously.","title":"Source Id"}}]}
>
  
</ParamsDetails>

<RequestSchema
  title={"Body"}
  body={undefined}
>
  
</RequestSchema>

<StatusCodes
  id={undefined}
  label={undefined}
  responses={{"200":{"content":{"application/json":{"schema":{"description":"Skill detail returned on get/create/update: metadata + a download URL for the zip archive.","properties":{"archive_url":{"description":"Time-limited URL to download the skill's contents as a zip archive (content-addressed by tree sha).","title":"Archive URL","type":"string"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Short description of the skill from the manifest, shown in the catalog.","title":"Description"},"editable":{"description":"Whether the organization may modify this skill. False for the shared deepset repo (read-only for orgs); the UI should not offer edit/upload/delete when False.","title":"Editable","type":"boolean"},"id":{"description":"Skill id / folder name in kebab-case (e.g. 'web-research').","title":"Skill ID","type":"string"},"name":{"description":"Human-readable skill name from the manifest; falls back to the id if unset.","title":"Name","type":"string"},"path":{"description":"Path of the skill folder within the repository.","title":"Path","type":"string"},"security":{"anyOf":[{"description":"Automated security-scan verdict for a skill version.","properties":{"files":{"description":"The files behind this verdict, worst severity first — a summary of 'issues' for badging and filtering. Empty when the scanner located no files, and for versions scanned before findings were recorded.","items":{"description":"One file the security scan flagged.","properties":{"path":{"description":"Path of the flagged file, relative to the skill folder.","title":"Path","type":"string"},"severity":{"description":"Worst severity found in this file: LOW | MEDIUM | HIGH | CRITICAL.","title":"Severity","type":"string"}},"required":["path","severity"],"title":"SkillScanFile","type":"object"},"title":"Files","type":"array"},"issues":{"description":"The scanner's individual findings, passed through as reported: typically a rule id, severity, location, the matched snippet, and an explanation. This is the scanner's own schema rather than ours, so treat the keys as advisory and render defensively — it can change when the scanner is upgraded. Empty for versions scanned before findings were recorded.","items":{"additionalProperties":true,"type":"object"},"title":"Issues","type":"array"},"recommendation":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"e.g. SAFE | CAUTION | DO_NOT_INSTALL.","title":"Recommendation"},"score":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Numeric risk score (0-100).","title":"Score"},"severity":{"description":"Overall severity: LOW | MEDIUM | HIGH | CRITICAL.","title":"Severity","type":"string"}},"required":["severity"],"title":"SkillScanSummary","type":"object"},{"type":"null"}],"description":"Automated security-scan verdict for this version (severity, score, recommendation). Present on create/update responses; null when scanning is disabled or unavailable.","title":"Security scan"},"security_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Risk score (0-100, higher is riskier) from the security scan of this skill's current version. Recorded on every create/update, so it always describes the version identified by 'sha'. Null when the version has never been scanned — scanning is disabled, was unavailable at write time, or the skill was changed outside the platform (e.g. pushed straight to a connected repository).","title":"Security score"},"sha":{"description":"Git tree sha of the skill folder (identifies the current version).","title":"SHA","type":"string"},"source":{"description":"Provenance of a skill, for the catalog to badge (e.g. \"Built by deepset\").","enum":["DEEPSET","ORG","WORKSPACE"],"title":"SkillSource","type":"string"},"source_id":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Identifier of the specific connected repo this skill lives in. None for the shared deepset repo. Carried on the durable skill reference so a run resolves the exact repo.","title":"Source Id"},"workspace":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Workspace id this skill is scoped to, when source is WORKSPACE. None for org-wide and deepset skills.","title":"Workspace"}},"required":["id","name","source","editable","path","sha","archive_url"],"title":"SkillDetail","type":"object"}}},"description":"Returns the skill's metadata and a download URL for its archive."},"404":{"description":"The requested skill was not found. The requested skill repository was not found for this organization. It may have been disconnected — reload the skill catalog and retry."},"422":{"content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"ctx":{"title":"Context","type":"object"},"input":{"title":"Input"},"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"title":"Location","type":"array"},"msg":{"title":"Message","type":"string"},"type":{"title":"Error Type","type":"string"}},"required":["loc","msg","type"],"title":"ValidationError","type":"object"},"title":"Detail","type":"array"}},"title":"HTTPValidationError","type":"object"}}},"description":"Validation Error"}}}
>
  
</StatusCodes>
