Laravel SSH Keys API
The SSH Keys API from Laravel — 3 operation(s) for ssh keys.
The SSH Keys API from Laravel — 3 operation(s) for ssh keys.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/laravel-ssh-keys-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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:
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
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
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
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
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