Laravel Servers API

The Servers API from Laravel — 28 operation(s) for servers.

OpenAPI Specification

laravel-servers-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Laravel Cloud Applications Servers API
  version: 0.0.1
servers:
- url: https://cloud.laravel.com/api
security:
- http: []
tags:
- name: Servers
paths:
  /orgs/{organization}/servers:
    get:
      operationId: organizations.servers.index
      description: 'Show all servers for the organization.


        Processing mode: <small><code>sync</code></small>'
      summary: List servers
      tags:
      - Servers
      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[ip_address]
        in: query
        description: The IP address of the server.
        schema:
          type: string
          examples:
          - 192.168.1.1
      - name: filter[name]
        in: query
        description: The name of the server.
        schema:
          type: string
          examples:
          - production-web-01
      - name: filter[region]
        in: query
        description: The region where the server is located.
        schema:
          type: string
          examples:
          - nyc3
      - name: filter[size]
        in: query
        description: The size of the server.
        schema:
          type: string
          examples:
          - s-2vcpu-2gb
      - name: filter[provider]
        in: query
        description: The provider of the server.
        schema:
          type: string
          examples:
          - ocean2
      - name: filter[ubuntu_version]
        in: query
        description: The Ubuntu version of the server.
        schema:
          type: string
          examples:
          - 24.04
      - name: filter[php_version]
        in: query
        description: The PHP version of the server.
        schema:
          type: string
          examples:
          - php83
      - name: filter[database_type]
        in: query
        description: The database type of the server.
        schema:
          type: string
          examples:
          - mysql
      - name: sort
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - name
            - -name
            - provider
            - -provider
            - ubuntu_version
            - -ubuntu_version
            - region
            - -region
            - php_version
            - -php_version
            - created_at
            - -created_at
            - updated_at
            - -updated_at
        explode: false
      responses:
        '200':
          description: Paginated set of `ServerResource`
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ServerResource'
                  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
                  included:
                    type: array
                    items:
                      $ref: '#/components/schemas/TagResource'
                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.store
      description: 'Create a new server in the organization. Supports both standard cloud providers

        and custom VPS configurations.


        Processing mode: <small><code>async</code></small>'
      summary: Create server
      tags:
      - Servers
      parameters:
      - name: organization
        in: path
        required: true
        description: The organization slug
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/CreateServerRequest'
              - type: object
                properties:
                  add_key_to_source_control:
                    type: boolean
                    default: true
                  database:
                    type: string
                  laravel:
                    type: object
                    properties:
                      vpc_uuid:
                        type: string
                  hetzner:
                    type: object
                    properties:
                      enable_weekly_backups:
                        type: boolean
                        default: false
      responses:
        '202':
          description: '`ServerResource`'
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ServerResource'
                  included:
                    type: array
                    items:
                      $ref: '#/components/schemas/TagResource'
                required:
                - data
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
      security:
      - oauth2:
        - server:create
      x-permissions:
      - server:create
      x-mint:
        metadata:
          noindex: true
      x-processingMode: async
  /orgs/{organization}/servers/archives:
    get:
      operationId: organizations.servers.archives.index
      description: 'Get all archived servers for the organization.


        Processing mode: <small><code>sync</code></small>'
      summary: List archived servers
      tags:
      - Servers
      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: sort
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - created_at
            - -created_at
            - updated_at
            - -updated_at
        explode: false
      responses:
        '200':
          description: Paginated set of `ServerResource`
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ServerResource'
                  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
                  included:
                    type: array
                    items:
                      $ref: '#/components/schemas/TagResource'
                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.archives.store
      description: 'Archive a server.


        Processing mode: <small><code>async</code></small>'
      summary: Create an archived server
      tags:
      - Servers
      parameters:
      - name: organization
        in: path
        required: true
        description: The organization slug
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ArchiveRequest'
      responses:
        '202':
          description: ''
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
      security:
      - oauth2:
        - server:archive
      x-permissions:
      - server:archive
      x-mint:
        metadata:
          noindex: true
      x-processingMode: async
  /orgs/{organization}/servers/archives/{server}:
    delete:
      operationId: organizations.servers.archives.destroy
      description: 'Unarchive a server.

        Make sure you have regenerated the server key and added it to the server before unarchiving.


        Processing mode: <small><code>async</code></small>'
      summary: Delete archived server
      tags:
      - Servers
      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:
        '202':
          description: ''
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
      security:
      - oauth2:
        - server:archive
      x-permissions:
      - server:archive
      x-mint:
        metadata:
          noindex: true
      x-processingMode: async
  /orgs/{organization}/servers/{server}/background-processes/{backgroundProcess}/actions:
    post:
      operationId: organizations.servers.background-processes.actions.store
      description: 'Run an action on a server-level background process.


        Processing mode: <small><code>async</code></small>'
      summary: Perform an action on a server background process
      tags:
      - Servers
      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: backgroundProcess
        in: path
        required: true
        description: The background process ID
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BackgroundProcessActionRequest'
      responses:
        '202':
          description: ''
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
      security:
      - oauth2:
        - server:create-daemons
      x-permissions:
      - server:create-daemons
      x-mint:
        metadata:
          noindex: true
      x-processingMode: async
  /orgs/{organization}/servers/{server}/actions:
    post:
      operationId: organizations.servers.actions.store
      description: 'Run an action on a server, defined by the action type parameter.


        Processing mode: <small><code>async</code></small>'
      summary: Create server action
      tags:
      - Servers
      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/ServerActionRequest'
      responses:
        '202':
          description: ''
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
      security:
      - oauth2:
        - server:manage-services
      x-permissions:
      - server:manage-services
      x-mint:
        metadata:
          noindex: true
      x-processingMode: async
  /orgs/{organization}/servers/{server}/services/nginx/actions:
    post:
      operationId: organizations.servers.services.nginx.actions.store
      description: 'Run an action on the Nginx service.


        Processing mode: <small><code>async</code></small>'
      summary: Perform Nginx action
      tags:
      - Servers
      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/NginxServiceActionRequest'
      responses:
        '202':
          description: ''
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
      security:
      - oauth2:
        - server:manage-services
      x-permissions:
      - server:manage-services
      x-mint:
        metadata:
          noindex: true
      x-processingMode: async
  /orgs/{organization}/servers/{server}/services/postgres/actions:
    post:
      operationId: organizations.servers.services.postgres.actions.store
      description: 'Run an action on the Postgres service.


        Processing mode: <small><code>async</code></small>'
      summary: Perform Postgres action
      tags:
      - Servers
      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/PostgresServiceActionRequest'
      responses:
        '202':
          description: ''
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
      security:
      - oauth2:
        - server:manage-services
      x-permissions:
      - server:manage-services
      x-mint:
        metadata:
          noindex: true
      x-processingMode: async
  /orgs/{organization}/servers/{server}/services/redis/actions:
    post:
      operationId: organizations.servers.services.redis.actions.store
      description: 'Run an action on the Redis service.


        Processing mode: <small><code>async</code></small>'
      summary: Perform Redis action
      tags:
      - Servers
      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/RedisServiceActionRequest'
      responses:
        '202':
          description: ''
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
      security:
      - oauth2:
        - server:manage-services
      x-permissions:
      - server:manage-services
      x-mint:
        metadata:
          noindex: true
      x-processingMode: async
  /orgs/{organization}/servers/{server}/services/mysql/actions:
    post:
      operationId: organizations.servers.services.mysql.actions.store
      description: 'Run an action on the MySQL service.


        Processing mode: <small><code>async</code></small>'
      summary: Perform MySQL action
      tags:
      - Servers
      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/MysqlServiceActionRequest'
      responses:
        '202':
          description: ''
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
      security:
      - oauth2:
        - server:manage-services
      x-permissions:
      - server:manage-services
      x-mint:
        metadata:
          noindex: true
      x-processingMode: async
  /orgs/{organization}/servers/{server}/services/php/actions:
    post:
      operationId: organizations.servers.services.php.actions.store
      description: 'Run an action on a specific PHP version.


        Processing mode: <small><code>async</code></small>'
      summary: Perform PHP action
      tags:
      - Servers
      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/PhpServiceActionRequest'
      responses:
        '202':
          description: ''
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
      security:
      - oauth2:
        - server:manage-services
      x-permissions:
      - server:manage-services
      x-mint:
        metadata:
          noindex: true
      x-processingMode: async
  /orgs/{organization}/servers/{server}/services/supervisor/actions:
    post:
      operationId: organizations.servers.services.supervisor.actions.store
      description: 'Run an action on the Supervisor service.


        Processing mode: <small><code>async</code></small>'
      summary: Perform Supervisor action
      tags:
      - Servers
      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/SupervisorServiceActionRequest'
      responses:
        '202':
          description: ''
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
      security:
      - oauth2:
        - server:manage-services
      x-permissions:
      - server:manage-services
      x-mint:
        metadata:
          noindex: true
      x-processingMode: async
  /orgs/{organization}/servers/{server}:
    get:
      operationId: organizations.servers.show
      description: 'Show a specific server for the organization.


        Processing mode: <small><code>sync</code></small>'
      summary: Get server
      tags:
      - Servers
      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: '`ServerResource`'
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ServerResource'
                  included:
                    type: array
                    items:
                      $ref: '#/components/schemas/TagResource'
                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.update
      description: 'Update a server''s details such as name, IP address, timezone, and tags.


        Processing mode: <small><code>sync</code></small>'
      summary: Update server
      tags:
      - Servers
      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:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateServerRequest'
      responses:
        '200':
          description: '`ServerResource`'
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ServerResource'
                  included:
                    type: array
                    items:
                      $ref: '#/components/schemas/TagResource'
                required:
                - data
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
      security:
      - oauth2:
        - server:manage-meta
      x-permissions:
      - server:manage-meta
      x-mint:
        metadata:
          noindex: true
      x-processingMode: sync
    delete:
      operationId: organizations.servers.destroy
      description: 'Delete a server. If `preserve_at_provider` is set to `true`, the server

        will only be removed from Forge and will not be deleted from the server provider.


        Processing mode: <small><code>async</code></small>'
      summary: Delete server
      tags:
      - Servers
      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: preserve_at_provider
        in: query
        description: 'When set to `true`, the server will only be removed from Forge

          and will not be deleted from the server provider.'
        schema:
          type: boolean
        example: true
      responses:
        '202':
          description: ''
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
      security:
      - oauth2:
        - server:delete
      x-permissions:
      - server:delete
      x-mint:
        metadata:
          noindex: true
      x-processingMode: async
  /orgs/{organization}/servers/{server}/network:
    get:
      operationId: organizations.servers.network.show
      description: 'Show the servers in this server''s network.


        Processing mode: <small><code>sync</code></small>'
      summary: Get server network
      tags:
      - Servers
      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: Array of `ServerResource`
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ServerResource'
                  included:
                    type: array
                    items:
                      $ref: '#/components/schemas/TagResource'
                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.network.update
      description: 'Sync the server''s network with the given list of server IDs.


        Processing mode: <small><code>async</code></small>'
      summary: Update server network
      tags:
      - Servers
      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/UpdateServerNetworkRequest'
      responses:
        '202':
          description: ''
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
      security:
      - oauth2:
        - server:manage-network
      x-permissions:
      - server:manage-network
      x-mint:
        metadata:
          noindex: true
      x-processingMode: async
  /orgs/{organization}/servers/{server}/events:
    get:
      operationId: organizations.servers.events.index
      description: 'List all events associated with the server.


        Processing mode: <small><code>sync</code></small>'
      summary: List server events
      tags:
      - Servers
      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[initiated_by]
        in: query
        description: The user ID of the event initiator.
        schema:
          type: string
          examples:
          - 1
      - name: filter[ran_as]
        in: query
        description: The server user that the event was run as.
        schema:
          type: string
          examples:
          - forge
      - name: sort
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - created_at
            - -created_at
            - updated_at
            - -updated_at
        explode: false
      - name: include
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - initiator
            - initiatorCount
            - initiatorExists
        explode: false
      responses:
        '200':
          description: Paginated set of `EventResou

# --- truncated at 32 KB (99 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/laravel/refs/heads/main/openapi/laravel-servers-api-openapi.yml