Laravel SSH Keys API

The SSH Keys API from Laravel — 3 operation(s) for ssh keys.

Business capability
Identity & Access Management BC-620.20

Operations 6

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /orgs/{organization}/servers/{server}/ssh-keys List SSH keys authorized on a server · List server SSH keys #
Ask an LLM
“Which SSH keys can log in to my server?”
“Can I list a server's SSH keys for one specific user?”
Tell an agent
List SSH keys on server {server} in {organization}.
Show SSH keys on server {server} for user {user}.
POST /orgs/{organization}/servers/{server}/ssh-keys Add an SSH key to a server · Create server SSH key #
Ask an LLM
“How do I give a teammate SSH access to a server?”
“Can I add an SSH key for a user other than forge?”
Tell an agent
Add SSH key {name} with public key {key} to server {server} in {organization}.
Authorize public key {key} named {name} for user {user} on server {server}.
GET /orgs/{organization}/servers/{server}/ssh-keys/{key} Get an SSH key on a server · Get server SSH key #
Ask an LLM
“What are the details of one SSH key installed on a server?”
“Which user is a particular SSH key assigned to?”
Tell an agent
Show SSH key {key} on server {server} in {organization}.
Get authorized key {key} from server {server}.
DELETE /orgs/{organization}/servers/{server}/ssh-keys/{key} Remove an SSH key from a server · Delete server SSH key #
Ask an LLM
“How do I revoke someone's SSH access to a server?”
“Can I delete an authorized SSH key from a server?”
Tell an agent destructive · confirm first
Remove SSH key {key} from server {server} in {organization}.
Revoke authorized key {key} on server {server}.
GET /orgs/{organization}/servers/{server}/key Get a server's own public SSH key · Get server public SSH key #
Ask an LLM
“What is my server's public key so I can add it to my git host as a deploy key?”
“Where do I find the public SSH key a server uses?”
Tell an agent
Show the public key of server {server} in {organization}.
Get server {server}'s own public SSH key.
PUT /orgs/{organization}/servers/{server}/key Regenerate a server's SSH key pair · Update server public SSH key #
Ask an LLM
“How do I rotate a server's own SSH key pair?”
“Can I generate a fresh public key for a server before unarchiving it?”
Tell an agent destructive · confirm first
Regenerate the SSH key pair of server {server} in {organization}.
Rotate server {server}'s key pair and give me the new public key.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/laravel:laravel-ssh-keys-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

laravel-ssh-keys-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Forge SSH Keys API
  version: 0.0.1
  description: Laravel Forge - API Documentation
servers:
- url: https://forge.laravel.com/api
security:
- http: []
- oauth2: []
tags:
- name: SSH Keys
paths:
  /orgs/{organization}/servers/{server}/ssh-keys:
    get:
      operationId: organizations.servers.ssh-keys.index
      description: 'List all SSH keys associated with the server.


        Processing mode: sync'
      summary: List server SSH keys
      tags:
      - SSH Keys
      parameters:
      - name: organization
        in: path
        required: true
        description: The organization slug
        schema:
          type: string
      - name: server
        in: path
        required: true
        description: The server ID
        schema:
          type: integer
      - name: page[size]
        in: query
        description: The number of results that will be returned per page.
        schema:
          type: integer
          default: 30
      - name: page[cursor]
        in: query
        description: The cursor to start the pagination from.
        schema:
          type: string
      - name: filter[name]
        in: query
        schema:
          type: string
      - name: filter[user]
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Paginated set of `KeyResource`
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/KeyResource'
                  links:
                    type: object
                    properties:
                      first:
                        type: string
                      last:
                        type: string
                      prev:
                        type: string
                      next:
                        type: string
                  meta:
                    type: object
                    properties:
                      path:
                        type:
                        - string
                        - 'null'
                        description: Base path for paginator generated URLs.
                      per_page:
                        type: integer
                        description: Number of items shown per page.
                        minimum: 0
                      next_cursor:
                        type:
                        - string
                        - 'null'
                        description: The "cursor" that points to the next set of items.
                      prev_cursor:
                        type:
                        - string
                        - 'null'
                        description: The "cursor" that points to the previous set of items.
                    required:
                    - path
                    - per_page
                    - next_cursor
                    - prev_cursor
                required:
                - data
                - links
                - meta
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
      security:
      - oauth2:
        - server:view
      x-permissions:
      - server:view
      x-mint:
        metadata:
          noindex: true
      x-processingMode: sync
    post:
      operationId: organizations.servers.ssh-keys.store
      description: 'Add a new SSH key to the server.


        Processing mode: async'
      summary: Create server SSH key
      tags:
      - SSH Keys
      parameters:
      - name: organization
        in: path
        required: true
        description: The organization slug
        schema:
          type: string
      - name: server
        in: path
        required: true
        description: The server ID
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSshKeyRequest'
      responses:
        '202':
          description: Adding SSH key to server accepted
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
      security:
      - oauth2:
        - server:create-keys
      x-permissions:
      - server:create-keys
      x-mint:
        metadata:
          noindex: true
      x-processingMode: async
  /orgs/{organization}/servers/{server}/ssh-keys/{key}:
    get:
      operationId: organizations.servers.ssh-keys.show
      description: 'Get a specific SSH key associated with the server.


        Processing mode: sync'
      summary: Get server SSH key
      tags:
      - SSH Keys
      parameters:
      - name: organization
        in: path
        required: true
        description: The organization slug
        schema:
          type: string
      - name: server
        in: path
        required: true
        description: The server ID
        schema:
          type: integer
      - name: key
        in: path
        required: true
        description: The key ID
        schema:
          type: integer
      responses:
        '200':
          description: '`KeyResource`'
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/KeyResource'
                required:
                - data
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
      security:
      - oauth2:
        - server:view
      x-permissions:
      - server:view
      x-mint:
        metadata:
          noindex: true
      x-processingMode: sync
    delete:
      operationId: organizations.servers.ssh-keys.destroy
      description: 'Remove an SSH key from the server.


        Processing mode: async'
      summary: Delete server SSH key
      tags:
      - SSH Keys
      parameters:
      - name: organization
        in: path
        required: true
        description: The organization slug
        schema:
          type: string
      - name: server
        in: path
        required: true
        description: The server ID
        schema:
          type: integer
      - name: key
        in: path
        required: true
        description: The key ID
        schema:
          type: integer
      responses:
        '202':
          description: Removal of SSH key from server accepted
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
      security:
      - oauth2:
        - server:delete-keys
      x-permissions:
      - server:delete-keys
      x-mint:
        metadata:
          noindex: true
      x-processingMode: async
  /orgs/{organization}/servers/{server}/key:
    get:
      operationId: organizations.servers.key.show
      description: 'Get the public SSH key for the server.


        Processing mode: sync'
      summary: Get server public SSH key
      tags:
      - SSH Keys
      parameters:
      - name: organization
        in: path
        required: true
        description: The organization slug
        schema:
          type: string
      - name: server
        in: path
        required: true
        description: The server ID
        schema:
          type: integer
      responses:
        '200':
          description: '`ServerKeyResource`'
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ServerKeyResource'
                required:
                - data
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
      security:
      - oauth2:
        - server:view
      x-permissions:
      - server:view
      x-mint:
        metadata:
          noindex: true
      x-processingMode: sync
    put:
      operationId: organizations.servers.key.update
      description: 'Regenerate the SSH key pair for the server and return the new public key.


        Processing mode: sync'
      summary: Update server public SSH key
      tags:
      - SSH Keys
      parameters:
      - name: organization
        in: path
        required: true
        description: The organization slug
        schema:
          type: string
      - name: server
        in: path
        required: true
        description: The server ID
        schema:
          type: integer
      responses:
        '200':
          description: '`ServerKeyResource`'
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ServerKeyResource'
                required:
                - data
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
      security:
      - oauth2:
        - server:delete
      x-permissions:
      - server:delete
      x-mint:
        metadata:
          noindex: true
      x-processingMode: sync
components:
  schemas:
    KeyResource:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          enum:
          - keys
        attributes:
          type: object
          properties:
            name:
              type: string
            user:
              type: string
            status:
              type: string
            created_by:
              type:
              - integer
              - 'null'
              description: The user that created the key.
            created_at:
              type: string
              format: date-time
              description: The date the key was created.
            updated_at:
              type: string
              format: date-time
              description: The date the key was last updated.
          required:
          - name
          - user
          - status
          - created_by
          - created_at
          - updated_at
        links:
          type: object
          properties:
            self:
              $ref: '#/components/schemas/Link'
          required:
          - self
      required:
      - id
      - type
      - links
      title: KeyResource
    ServerKeyResource:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          enum:
          - serverKeys
        attributes:
          type: object
          properties:
            public_key:
              type: string
            fingerprint:
              type: string
          required:
          - public_key
          - fingerprint
        links:
          type: object
          properties:
            self:
              $ref: '#/components/schemas/Link'
          required:
          - self
      required:
      - id
      - type
      - links
      title: ServerKeyResource
    Link:
      type: object
      properties:
        href:
          type: string
          format: uri
        rel:
          type: string
        describedby:
          type: string
        title:
          type: string
        type:
          type: string
        hreflang:
          anyOf:
          - type: string
          - type: array
            items:
              type: string
        meta:
          type: object
      required:
      - href
      title: Link
    CreateSshKeyRequest:
      type: object
      properties:
        name:
          type: string
          description: The name of the SSH key.
          examples:
          - oliver-macbook
        key:
          type: string
          description: The public SSH key.
          examples:
          - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5A... user@example.com
        user:
          type:
          - string
          - 'null'
          description: The user associated with the SSH key.
          default: forge
          examples:
          - username
      required:
      - name
      - key
      title: CreateSshKeyRequest
  responses:
    ValidationException:
      description: Validation error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Errors overview.
              errors:
                type: object
                description: A detailed description of each field that failed validation.
                additionalProperties:
                  type: array
                  items:
                    type: string
            required:
            - message
            - errors
    AuthorizationException:
      description: Authorization error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
            - message
    ModelNotFoundException:
      description: Not found
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
            - message
  securitySchemes:
    http:
      type: http
      scheme: bearer
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://forge.laravel.com/oauth/authorize
          tokenUrl: https://forge.laravel.com/oauth/token
          scopes:
            organization:view: Allow members to view the organization
            organization:manage: Allow members to manage the organization
            organization:delete: Allow members to delete the organization
            server:view: Allow members to view servers
            server:create: Allow members to create servers
            server:delete: Allow members to delete servers
            server:archive: Allow members to archive servers
            server:transfer: Allow members to transfer servers to another Forge account
            server:manage-meta: Allow members to change server settings such as name and IP address
            server:manage-packages: Allow members to configure and remove server and site package authentication
            server:manage-php: Allow members to install and change PHP installations
            server:manage-logs: Allow members to clear server and site logs
            server:manage-network: Allow members to change the server‘s firewall
            server:manage-nginx-templates: Allow members to manage Nginx templates
            server:manage-services: Allow members to start, stop and restart services
            server:manage-password: Allow members to reset the sudo password
            server:create-keys: Allow members to add SSH keys to servers
            server:delete-keys: Allow members to remove SSH keys from servers
            server:create-monitors: Allow members to create server monitors
            server:delete-monitors: Allow members to delete server monitors
            server:create-databases: Allow members to create databases and database users
            server:delete-databases: Allow members to delete databases and database users
            server:create-backups: Allow members to create database backup configurations
            server:delete-backups: Allow members to delete database backup configurations
            server:create-daemons: Allow members to create daemons
            server:delete-daemons: Allow members to delete daemons
            server:create-schedulers: Allow members to create scheduled jobs
            server:delete-schedulers: Allow members to delete scheduled jobs
            server:web-terminal: Allow members to start web terminal sessions
            site:create: Allow members to create sites
            site:delete: Allow members to delete sites
            site:meta: Allow members to update site meta data such as domain name and aliases
            site:manage-commands: Allow members to run arbitrary commands from the site‘s root directory
            site:manage-deploys: Allow members to deploy the site and update the deployment script
            site:manage-nginx: Allow members to manage the site‘s Nginx configuration file
            site:manage-project: Allow members to install Git repositories, phpMyAdmin and WordPress applications
            site:manage-environment: Allow members to update the site‘s environment file
            site:manage-notifications: Allow members to configure deployment notifications
            site:manage-queues: Allow members to configure queue workers
            site:manage-redirects: Allow members to configure URL redirects
            site:manage-security: Allow members to configure HTTP Basic Authentication
            site:manage-ssl: Allow members to configure SSL and Let‘s Encrypt certificates
            site:manage-integrations: Allow members to manage site integrations
            site:manage-heartbeats: Allow members to manage heartbeats
            credential:view: Allow members to view credentials
            credential:manage: Allow members to manage credentials
            team:view: Allow members to view teams
            team:create: Allow members to create teams
            team:delete: Allow members to delete teams and team members
            recipe:view: Allow members to view recipes
            recipe:manage: Allow members to manage recipes
            billing:manage: Allow members to manage the organization's subscription
            storage:manage: Allow members to manage the organization's storage providers.
            integrations:manage: Allow members to manage the organization's integrations
            user:view: Allow members to view user details
            resources:view: Allow members to view resources
            resources:create-databases: Allow members to create managed database & cache clusters
            resources:delete-databases: Allow members to delete managed database & cache clusters
            resources:manage-databases: Allow members to manage managed database & cache clusters settings
            resources:create-buckets: Allow members to create object storage buckets
            resources:delete-buckets: Allow members to delete object storage buckets
            resources:manage-buckets: Allow members to manage object storage buckets and their access keys