Laravel Storage Providers API
The Storage Providers API from Laravel — 2 operation(s) for storage providers.
The Storage Providers API from Laravel — 2 operation(s) for storage providers.
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-storage-providers-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 Storage Providers API
version: 0.0.1
description: Laravel Forge - API Documentation
servers:
- url: https://forge.laravel.com/api
security:
- http: []
- oauth2: []
tags:
- name: Storage Providers
paths:
/orgs/{organization}/storage-providers:
get:
operationId: organizations.storage-providers.index
description: 'Show all storage providers for the organization.
Processing mode: sync'
summary: List storage providers
tags:
- Storage Providers
parameters:
- name: organization
in: path
required: true
description: The organization slug
schema:
type: string
- 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[provider]
in: query
description: The storage provider type.
schema:
type: string
examples:
- s3
- name: sort
in: query
schema:
type: array
items:
type: string
enum:
- name
- -name
- provider
- -provider
- created_at
- -created_at
- updated_at
- -updated_at
explode: false
responses:
'200':
description: Paginated set of `StorageProviderResource`
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/StorageProviderResource'
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:
- storage:manage
x-permissions:
- storage:manage
x-mint:
metadata:
noindex: true
x-processingMode: sync
post:
operationId: organizations.storage-providers.store
description: 'Create a new storage provider for the organization.
Processing mode: sync'
summary: Create storage provider
tags:
- Storage Providers
parameters:
- name: organization
in: path
required: true
description: The organization slug
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateStorageConfigurationRequest'
responses:
'201':
description: '`StorageProviderResource`'
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/StorageProviderResource'
required:
- data
'404':
$ref: '#/components/responses/ModelNotFoundException'
'403':
$ref: '#/components/responses/AuthorizationException'
'422':
$ref: '#/components/responses/ValidationException'
security:
- oauth2:
- storage:manage
x-permissions:
- storage:manage
x-mint:
metadata:
noindex: true
x-processingMode: sync
/orgs/{organization}/storage-providers/{storageConfiguration}:
get:
operationId: organizations.storage-providers.show
description: 'Show a specific storage provider for the organization.
Processing mode: sync'
summary: Get storage provider
tags:
- Storage Providers
parameters:
- name: organization
in: path
required: true
description: The organization slug
schema:
type: string
- name: storageConfiguration
in: path
required: true
description: The storage configuration ID
schema:
type: integer
responses:
'200':
description: '`StorageProviderResource`'
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/StorageProviderResource'
required:
- data
'404':
$ref: '#/components/responses/ModelNotFoundException'
'403':
$ref: '#/components/responses/AuthorizationException'
security:
- oauth2:
- storage:manage
x-permissions:
- storage:manage
x-mint:
metadata:
noindex: true
x-processingMode: sync
put:
operationId: organizations.storage-providers.update
description: 'Update a storage provider for the organization.
Processing mode: async'
summary: Update storage provider
tags:
- Storage Providers
parameters:
- name: organization
in: path
required: true
description: The organization slug
schema:
type: string
- name: storageConfiguration
in: path
required: true
description: The storage configuration ID
schema:
type: integer
requestBody:
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/UpdateStorageConfigurationRequest'
- type: object
properties:
assume_role:
type: boolean
default: false
responses:
'202':
description: '`StorageProviderResource`'
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/StorageProviderResource'
required:
- data
'404':
$ref: '#/components/responses/ModelNotFoundException'
'403':
$ref: '#/components/responses/AuthorizationException'
'422':
$ref: '#/components/responses/ValidationException'
security:
- oauth2:
- storage:manage
x-permissions:
- storage:manage
x-mint:
metadata:
noindex: true
x-processingMode: async
delete:
operationId: organizations.storage-providers.destroy
description: 'Delete a storage provider from the organization.
Processing mode: sync'
summary: Delete storage provider
tags:
- Storage Providers
parameters:
- name: organization
in: path
required: true
description: The organization slug
schema:
type: string
- name: storageConfiguration
in: path
required: true
description: The storage configuration ID
schema:
type: integer
responses:
'204':
description: No content
'409':
description: ''
content:
application/json:
schema:
type: object
properties:
message:
type: string
const: This storage provider is currently in use by one or more backup configurations and cannot be deleted.
required:
- message
'404':
$ref: '#/components/responses/ModelNotFoundException'
'403':
$ref: '#/components/responses/AuthorizationException'
security:
- oauth2:
- storage:manage
x-permissions:
- storage:manage
x-mint:
metadata:
noindex: true
x-processingMode: sync
components:
schemas:
BackupProvider:
type: string
enum:
- s3
- spaces
- hetzner
- ovh
- scaleway
- custom
title: BackupProvider
StorageProviderResource:
type: object
properties:
id:
type: string
type:
type: string
enum:
- storageProviders
attributes:
type: object
properties:
name:
type: string
provider:
$ref: '#/components/schemas/BackupProvider'
provider_name:
type: string
enum:
- Amazon S3
- DigitalOcean Spaces
- Hetzner
- OVH
- Scaleway
- Custom (S3 Compatible)
region:
type:
- string
- 'null'
bucket:
type:
- string
- 'null'
directory:
type:
- string
- 'null'
endpoint:
type:
- string
- 'null'
assume_role:
type:
- boolean
- 'null'
in_use:
type: boolean
created_at:
type:
- string
- 'null'
format: date-time
updated_at:
type:
- string
- 'null'
format: date-time
required:
- name
- provider
- provider_name
- region
- bucket
- directory
- endpoint
- assume_role
- in_use
- created_at
- updated_at
links:
type: object
properties:
self:
$ref: '#/components/schemas/Link'
required:
- self
required:
- id
- type
- links
title: StorageProviderResource
UpdateStorageConfigurationRequest:
type: object
properties:
name:
type: string
maxLength: 255
provider:
$ref: '#/components/schemas/BackupProvider'
region:
type: string
bucket:
type:
- string
- 'null'
endpoint:
type: string
format: uri
access_key:
type:
- string
- 'null'
secret_key:
type:
- string
- 'null'
use_ec2_assumed_role:
type: boolean
directory:
type:
- string
- 'null'
required:
- name
- provider
title: UpdateStorageConfigurationRequest
CreateStorageConfigurationRequest:
type: object
properties:
name:
type: string
maxLength: 255
provider:
$ref: '#/components/schemas/BackupProvider'
region:
type: string
bucket:
type:
- string
- 'null'
directory:
type:
- string
- 'null'
endpoint:
type: string
format: uri
access_key:
type:
- string
- 'null'
secret_key:
type:
- string
- 'null'
assume_role:
type: boolean
required:
- name
- provider
title: CreateStorageConfigurationRequest
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