Freestyle · Capability

Freestyle Identity API — Git Permissions

Freestyle Identity API git permissions surface. 5 operations. Lead operation: List Repository Permissions for an Identity. Self-contained Naftiko capability for one Freestyle business surface.

Freestyle Identity API — Git Permissions is a Naftiko capability published by Freestyle, one of 30 capabilities the APIs.io network indexes for this provider. It bundles 5 operations across the GET, PUT, POST, and DELETE methods rooted at /v1/identity/v1/identities/{…}/permissions/git.

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

Tagged areas include Freestyle, Identity, and Git Permissions.

Run with Naftiko FreestyleIdentityGit Permissions

What You Can Do

GET
Handle list git permissions — List Repository Permissions for an Identity
/v1/identity/v1/identities/{identity}/permissions/git
GET
Handle describe git permission — Get the Git Permission of an Identity on a Repository
/v1/identity/v1/identities/{identity}/permissions/git/{repo}
PUT
Handle update git permission — Update a Git Repository Permission for an Identity
/v1/identity/v1/identities/{identity}/permissions/git/{repo}
POST
Handle grant git permission — Grant a Git Repository Permission to an Identity
/v1/identity/v1/identities/{identity}/permissions/git/{repo}
DELETE
Handle revoke git permission — Revoke Git Repository Permission From an Identity
/v1/identity/v1/identities/{identity}/permissions/git/{repo}

MCP Tools

freestyle-handle-list-git-permissions

List Repository Permissions for an Identity

read-only idempotent
freestyle-handle-describe-git-permission

Get the Git Permission of an Identity on a Repository

read-only idempotent
freestyle-handle-update-git-permission

Update a Git Repository Permission for an Identity

idempotent
freestyle-handle-grant-git-permission

Grant a Git Repository Permission to an Identity

freestyle-handle-revoke-git-permission

Revoke Git Repository Permission From an Identity

idempotent

Capability Spec

identity-git-permissions.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: "Freestyle Identity API \u2014 Git Permissions"
  description: 'Freestyle Identity API git permissions surface. 5 operations. Lead operation: List Repository Permissions
    for an Identity. Self-contained Naftiko capability for one Freestyle business surface.'
  tags:
  - Freestyle
  - Identity
  - Git Permissions
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    FREESTYLE_API_KEY: FREESTYLE_API_KEY
capability:
  consumes:
  - type: http
    namespace: identity-git-permissions
    baseUri: https://api.freestyle.sh
    description: Freestyle Identity API git permissions business capability.
    resources:
    - name: identity-v1-identities-permissions-git
      path: /identity/v1/identities/{identity}/permissions/git
      operations:
      - name: handle-list-git-permissions
        method: GET
        description: List Repository Permissions for an Identity
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: identity
          in: path
          type: string
          required: true
        - name: limit
          in: query
          type: string
          required: false
        - name: offset
          in: query
          type: string
          required: false
    - name: identity-v1-identities-permissions-git
      path: /identity/v1/identities/{identity}/permissions/git/{repo}
      operations:
      - name: handle-describe-git-permission
        method: GET
        description: Get the Git Permission of an Identity on a Repository
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: identity
          in: path
          type: string
          required: true
        - name: repo
          in: path
          type: string
          required: true
      - name: handle-update-git-permission
        method: PUT
        description: Update a Git Repository Permission for an Identity
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: identity
          in: path
          type: string
          required: true
        - name: repo
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: handle-grant-git-permission
        method: POST
        description: Grant a Git Repository Permission to an Identity
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: identity
          in: path
          type: string
          required: true
        - name: repo
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: handle-revoke-git-permission
        method: DELETE
        description: Revoke Git Repository Permission From an Identity
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: identity
          in: path
          type: string
          required: true
        - name: repo
          in: path
          type: string
          required: true
    authentication:
      type: apikey
      key: Authorization
      value: Bearer {{env.FREESTYLE_API_KEY}}
      placement: header
  exposes:
  - type: rest
    namespace: identity-git-permissions-rest
    port: 8080
    description: REST adapter for Freestyle Identity API git-permissions. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/identity/v1/identities/{identity}/permissions/git
      name: identity-v1-identities-permissions-git
      description: REST surface for identity-v1-identities-permissions-git.
      operations:
      - method: GET
        name: handle-list-git-permissions
        description: List Repository Permissions for an Identity
        call: identity-git-permissions.handle-list-git-permissions
        with:
          identity: rest.path.identity
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/identity/v1/identities/{identity}/permissions/git/{repo}
      name: identity-v1-identities-permissions-git
      description: REST surface for identity-v1-identities-permissions-git.
      operations:
      - method: GET
        name: handle-describe-git-permission
        description: Get the Git Permission of an Identity on a Repository
        call: identity-git-permissions.handle-describe-git-permission
        with:
          identity: rest.path.identity
          repo: rest.path.repo
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: handle-update-git-permission
        description: Update a Git Repository Permission for an Identity
        call: identity-git-permissions.handle-update-git-permission
        with:
          identity: rest.path.identity
          repo: rest.path.repo
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: handle-grant-git-permission
        description: Grant a Git Repository Permission to an Identity
        call: identity-git-permissions.handle-grant-git-permission
        with:
          identity: rest.path.identity
          repo: rest.path.repo
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: handle-revoke-git-permission
        description: Revoke Git Repository Permission From an Identity
        call: identity-git-permissions.handle-revoke-git-permission
        with:
          identity: rest.path.identity
          repo: rest.path.repo
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: identity-git-permissions-mcp
    port: 9090
    transport: http
    description: MCP adapter for Freestyle Identity API git-permissions. One tool per consumed operation.
    tools:
    - name: freestyle-handle-list-git-permissions
      description: List Repository Permissions for an Identity
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: identity-git-permissions.handle-list-git-permissions
      with:
        identity: tools.path.identity
      outputParameters:
      - type: object
        mapping: $.
    - name: freestyle-handle-describe-git-permission
      description: Get the Git Permission of an Identity on a Repository
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: identity-git-permissions.handle-describe-git-permission
      with:
        identity: tools.path.identity
        repo: tools.path.repo
      outputParameters:
      - type: object
        mapping: $.
    - name: freestyle-handle-update-git-permission
      description: Update a Git Repository Permission for an Identity
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: identity-git-permissions.handle-update-git-permission
      with:
        identity: tools.path.identity
        repo: tools.path.repo
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: freestyle-handle-grant-git-permission
      description: Grant a Git Repository Permission to an Identity
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: identity-git-permissions.handle-grant-git-permission
      with:
        identity: tools.path.identity
        repo: tools.path.repo
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: freestyle-handle-revoke-git-permission
      description: Revoke Git Repository Permission From an Identity
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: identity-git-permissions.handle-revoke-git-permission
      with:
        identity: tools.path.identity
        repo: tools.path.repo
      outputParameters:
      - type: object
        mapping: $.