Socket · Capability

Socket Repos Repos

Socket repos repos business capability. Self-contained Naftiko capability covering one Socket business surface.

Socket Repos Repos is a Naftiko capability published by Socket, one of 21 capabilities the APIs.io network indexes for this provider. It bundles 5 operations across the GET, POST, and DELETE methods rooted at /v1/orgs/{…}/repos.

The capability includes 2 read-only operations and 3 state-changing operations. Lead operation: List repositories. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include Socket, Supply Chain Security, Repos, and Repos.

Run with Naftiko SocketSupply Chain SecurityReposRepos

What You Can Do

GET
Get orgs org slug repos — List repositories
/v1/orgs/{org_slug}/repos
POST
Post orgs org slug repos — Create repository
/v1/orgs/{org_slug}/repos
GET
Get orgs org slug repos repo slug — Get repository
/v1/orgs/{org_slug}/repos/{repo_slug}
POST
Post orgs org slug repos repo slug — Update repository
/v1/orgs/{org_slug}/repos/{repo_slug}
DELETE
Delete orgs org slug repos repo slug — Delete repository
/v1/orgs/{org_slug}/repos/{repo_slug}

MCP Tools

socket-get-orgs-org-slug-repos

List repositories

read-only idempotent
socket-post-orgs-org-slug-repos

Create repository

socket-get-orgs-org-slug-repos-repo-slug

Get repository

read-only idempotent
socket-post-orgs-org-slug-repos-repo-slug

Update repository

socket-delete-orgs-org-slug-repos-repo-slug

Delete repository

idempotent

Capability Spec

repos-repos.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Socket Repos Repos
  description: Socket repos repos business capability. Self-contained Naftiko capability covering one Socket business surface.
  tags:
  - Socket
  - Supply Chain Security
  - Repos
  - Repos
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    SOCKET_API_KEY: SOCKET_API_KEY
capability:
  consumes:
  - type: http
    namespace: repos-repos
    baseUri: https://api.socket.dev/v0
    description: Socket repos repos business capability. Self-contained, no shared references.
    resources:
    - name: orgs-org-slug-repos
      path: /orgs/{org_slug}/repos
      operations:
      - name: get-orgs-org-slug-repos
        method: GET
        description: List repositories
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_slug
          in: path
          type: string
          description: The slug of the organization
          required: true
        - name: sort
          in: query
          type: string
          description: ''
          required: false
        - name: direction
          in: query
          type: string
          description: ''
          required: false
        - name: per_page
          in: query
          type: integer
          description: ''
          required: false
        - name: page
          in: query
          type: integer
          description: ''
          required: false
        - name: include_archived
          in: query
          type: boolean
          description: Include archived repositories in the results
          required: false
        - name: workspace
          in: query
          type: string
          description: Filter repositories by workspace. When provided (including empty string), only repos in that workspace are returned.
          required: false
      - name: post-orgs-org-slug-repos
        method: POST
        description: Create repository
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_slug
          in: path
          type: string
          description: The slug of the organization
          required: true
        - name: on_duplicate
          in: query
          type: string
          description: Set to "redirect" to receive a 302 redirect to the existing repo instead of a 409 error when a duplicate slug is detected.
          required: false
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: orgs-org-slug-repos-repo-slug
      path: /orgs/{org_slug}/repos/{repo_slug}
      operations:
      - name: get-orgs-org-slug-repos-repo-slug
        method: GET
        description: Get repository
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_slug
          in: path
          type: string
          description: The slug of the organization
          required: true
        - name: repo_slug
          in: path
          type: string
          description: The slug of the repository
          required: true
        - name: workspace
          in: query
          type: string
          description: The workspace of the repository
          required: false
      - name: post-orgs-org-slug-repos-repo-slug
        method: POST
        description: Update repository
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_slug
          in: path
          type: string
          description: The slug of the organization
          required: true
        - name: repo_slug
          in: path
          type: string
          description: The slug of the repository
          required: true
        - name: workspace
          in: query
          type: string
          description: The workspace of the repository
          required: false
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: delete-orgs-org-slug-repos-repo-slug
        method: DELETE
        description: Delete repository
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: org_slug
          in: path
          type: string
          description: The slug of the organization
          required: true
        - name: repo_slug
          in: path
          type: string
          description: The slug of the repository
          required: true
        - name: workspace
          in: query
          type: string
          description: The workspace of the repository
          required: false
    authentication:
      type: basic
      username: '{{env.SOCKET_API_KEY}}'
      password: ''
      description: Socket authenticates via HTTP Basic with the API key as the username and empty password.
  exposes:
  - type: rest
    namespace: repos-repos-rest
    port: 8080
    description: REST adapter for Socket repos repos.
    resources:
    - path: /v1/orgs/{org_slug}/repos
      name: orgs-org-slug-repos
      description: REST surface for orgs-org-slug-repos.
      operations:
      - method: GET
        name: get-orgs-org-slug-repos
        description: List repositories
        call: repos-repos.get-orgs-org-slug-repos
        with:
          org_slug: rest.path.org_slug
          sort: rest.query.sort
          direction: rest.query.direction
          per_page: rest.query.per_page
          page: rest.query.page
          include_archived: rest.query.include_archived
          workspace: rest.query.workspace
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: post-orgs-org-slug-repos
        description: Create repository
        call: repos-repos.post-orgs-org-slug-repos
        with:
          org_slug: rest.path.org_slug
          on_duplicate: rest.query.on_duplicate
          body: rest.body.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org_slug}/repos/{repo_slug}
      name: orgs-org-slug-repos-repo-slug
      description: REST surface for orgs-org-slug-repos-repo-slug.
      operations:
      - method: GET
        name: get-orgs-org-slug-repos-repo-slug
        description: Get repository
        call: repos-repos.get-orgs-org-slug-repos-repo-slug
        with:
          org_slug: rest.path.org_slug
          repo_slug: rest.path.repo_slug
          workspace: rest.query.workspace
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: post-orgs-org-slug-repos-repo-slug
        description: Update repository
        call: repos-repos.post-orgs-org-slug-repos-repo-slug
        with:
          org_slug: rest.path.org_slug
          repo_slug: rest.path.repo_slug
          workspace: rest.query.workspace
          body: rest.body.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: delete-orgs-org-slug-repos-repo-slug
        description: Delete repository
        call: repos-repos.delete-orgs-org-slug-repos-repo-slug
        with:
          org_slug: rest.path.org_slug
          repo_slug: rest.path.repo_slug
          workspace: rest.query.workspace
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: repos-repos-mcp
    port: 9090
    transport: http
    description: MCP adapter for Socket repos repos.
    tools:
    - name: socket-get-orgs-org-slug-repos
      description: List repositories
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: repos-repos.get-orgs-org-slug-repos
      with:
        org_slug: tools.org_slug
        sort: tools.sort
        direction: tools.direction
        per_page: tools.per_page
        page: tools.page
        include_archived: tools.include_archived
        workspace: tools.workspace
      outputParameters:
      - type: object
        mapping: $.
    - name: socket-post-orgs-org-slug-repos
      description: Create repository
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: repos-repos.post-orgs-org-slug-repos
      with:
        org_slug: tools.org_slug
        on_duplicate: tools.on_duplicate
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: socket-get-orgs-org-slug-repos-repo-slug
      description: Get repository
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: repos-repos.get-orgs-org-slug-repos-repo-slug
      with:
        org_slug: tools.org_slug
        repo_slug: tools.repo_slug
        workspace: tools.workspace
      outputParameters:
      - type: object
        mapping: $.
    - name: socket-post-orgs-org-slug-repos-repo-slug
      description: Update repository
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: repos-repos.post-orgs-org-slug-repos-repo-slug
      with:
        org_slug: tools.org_slug
        repo_slug: tools.repo_slug
        workspace: tools.workspace
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: socket-delete-orgs-org-slug-repos-repo-slug
      description: Delete repository
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: repos-repos.delete-orgs-org-slug-repos-repo-slug
      with:
        org_slug: tools.org_slug
        repo_slug: tools.repo_slug
        workspace: tools.workspace
      outputParameters:
      - type: object
        mapping: $.