Laravel Sites API

The Sites API from Laravel — 30 operation(s) for sites.

OpenAPI Specification

laravel-sites-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Laravel Cloud Applications Sites API
  version: 0.0.1
servers:
- url: https://cloud.laravel.com/api
security:
- http: []
tags:
- name: Sites
paths:
  /sites:
    get:
      operationId: sites.index
      description: 'Show all sites the current token has access to.


        Processing mode: <small><code>sync</code></small>'
      summary: List sites
      tags:
      - Sites
      parameters:
      - 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: include
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - server
            - serverCount
            - serverExists
            - tags
            - tagsCount
            - tagsExists
            - latestDeployment
            - latestDeploymentCount
            - latestDeploymentExists
            - securityRules
            - securityRulesCount
            - securityRulesExists
            - redirectRules
            - redirectRulesCount
            - redirectRulesExists
        explode: false
      responses:
        '200':
          description: Paginated set of `SiteResource`
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/SiteResource'
                  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:
                      anyOf:
                      - $ref: '#/components/schemas/ServerResource'
                      - $ref: '#/components/schemas/TagResource'
                      - $ref: '#/components/schemas/DeploymentResource'
                      - $ref: '#/components/schemas/SecurityRuleResource'
                      - $ref: '#/components/schemas/RedirectRuleResource'
                required:
                - data
                - links
                - meta
        '403':
          $ref: '#/components/responses/AuthorizationException'
      security:
      - oauth2:
        - server:view
      x-permissions:
      - server:view
      x-mint:
        metadata:
          noindex: true
      x-processingMode: sync
  /orgs/{organization}/sites:
    get:
      operationId: organizations.sites.index
      description: 'Show all sites for the organization.


        Processing mode: <small><code>sync</code></small>'
      summary: List sites for Organization
      tags:
      - Sites
      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[name]
        in: query
        schema:
          type: string
      - name: include
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - server
            - serverCount
            - serverExists
            - tags
            - tagsCount
            - tagsExists
            - latestDeployment
            - latestDeploymentCount
            - latestDeploymentExists
            - securityRules
            - securityRulesCount
            - securityRulesExists
            - redirectRules
            - redirectRulesCount
            - redirectRulesExists
        explode: false
      responses:
        '200':
          description: Paginated set of `SiteResource`
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/SiteResource'
                  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:
                      anyOf:
                      - $ref: '#/components/schemas/ServerResource'
                      - $ref: '#/components/schemas/TagResource'
                      - $ref: '#/components/schemas/DeploymentResource'
                      - $ref: '#/components/schemas/SecurityRuleResource'
                      - $ref: '#/components/schemas/RedirectRuleResource'
                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
  /orgs/{organization}/sites/{site}:
    get:
      operationId: organizations.sites.show
      description: 'Show the specified site.


        Processing mode: <small><code>sync</code></small>'
      summary: Get site
      tags:
      - Sites
      parameters:
      - name: organization
        in: path
        required: true
        description: The organization slug
        schema:
          type: string
      - name: site
        in: path
        required: true
        description: The site ID
        schema:
          type: integer
      responses:
        '200':
          description: '`SiteResource`'
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/SiteResource'
                  included:
                    type: array
                    items:
                      anyOf:
                      - $ref: '#/components/schemas/ServerResource'
                      - $ref: '#/components/schemas/TagResource'
                      - $ref: '#/components/schemas/DeploymentResource'
                      - $ref: '#/components/schemas/SecurityRuleResource'
                      - $ref: '#/components/schemas/RedirectRuleResource'
                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
  /orgs/{organization}/servers/{server}/sites:
    get:
      operationId: organizations.servers.sites.index
      description: 'List all sites associated with the server.


        Processing mode: <small><code>sync</code></small>'
      summary: List sites for server
      tags:
      - Sites
      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
        description: The name of the site.
        schema:
          type: string
          examples:
          - forge.laravel.com
      - name: sort
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - name
            - -name
            - created_at
            - -created_at
            - updated_at
            - -updated_at
        explode: false
      - name: include
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - server
            - serverCount
            - serverExists
            - tags
            - tagsCount
            - tagsExists
            - latestDeployment
            - latestDeploymentCount
            - latestDeploymentExists
            - securityRules
            - securityRulesCount
            - securityRulesExists
            - redirectRules
            - redirectRulesCount
            - redirectRulesExists
        explode: false
      responses:
        '200':
          description: Paginated set of `SiteResource`
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/SiteResource'
                  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:
                      anyOf:
                      - $ref: '#/components/schemas/ServerResource'
                      - $ref: '#/components/schemas/TagResource'
                      - $ref: '#/components/schemas/DeploymentResource'
                      - $ref: '#/components/schemas/SecurityRuleResource'
                      - $ref: '#/components/schemas/RedirectRuleResource'
                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.sites.store
      description: 'Add a new site to the server.


        Processing mode: <small><code>async</code></small>'
      summary: Create site
      tags:
      - Sites
      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/CreateSiteRequest'
      responses:
        '202':
          description: '`SiteResource`'
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/SiteResource'
                  included:
                    type: array
                    items:
                      anyOf:
                      - $ref: '#/components/schemas/ServerResource'
                      - $ref: '#/components/schemas/TagResource'
                      - $ref: '#/components/schemas/DeploymentResource'
                      - $ref: '#/components/schemas/SecurityRuleResource'
                      - $ref: '#/components/schemas/RedirectRuleResource'
                required:
                - data
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
      security:
      - oauth2:
        - site:create
      x-permissions:
      - site:create
      x-mint:
        metadata:
          noindex: true
      x-processingMode: async
  /orgs/{organization}/servers/{server}/sites/balancer:
    post:
      operationId: organizations.servers.sites.storeOnBalancer
      description: 'Add a new site to the load balancer.


        Processing mode: <small><code>async</code></small>'
      summary: Create site on a load balancer
      tags:
      - Sites
      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/CreateLoadBalancerSiteRequest'
      responses:
        '202':
          description: '`SiteResource`'
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/SiteResource'
                  included:
                    type: array
                    items:
                      anyOf:
                      - $ref: '#/components/schemas/ServerResource'
                      - $ref: '#/components/schemas/TagResource'
                      - $ref: '#/components/schemas/DeploymentResource'
                      - $ref: '#/components/schemas/SecurityRuleResource'
                      - $ref: '#/components/schemas/RedirectRuleResource'
                required:
                - data
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
      security:
      - oauth2:
        - site:create
      x-permissions:
      - site:create
      x-mint:
        metadata:
          noindex: true
      x-processingMode: async
  /orgs/{organization}/servers/{server}/sites/{site}:
    put:
      operationId: organizations.servers.sites.update
      description: 'Update a site on the server.


        Processing mode: <small><code>async</code></small>'
      summary: Update site
      tags:
      - Sites
      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: site
        in: path
        required: true
        description: The site ID
        schema:
          type: integer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSiteRequest'
      responses:
        '202':
          description: Accepted
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
      security:
      - oauth2:
        - site:create
      x-permissions:
      - site:create
      x-mint:
        metadata:
          noindex: true
      x-processingMode: async
    delete:
      operationId: organizations.servers.sites.destroy
      description: 'Remove a site from the server.


        Processing mode: <small><code>async</code></small>'
      summary: Delete site
      tags:
      - Sites
      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: site
        in: path
        required: true
        description: The site ID
        schema:
          type: integer
      responses:
        '202':
          description: Accepted
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
      security:
      - oauth2:
        - site:delete
      x-permissions:
      - site:delete
      x-mint:
        metadata:
          noindex: true
      x-processingMode: async
  /orgs/{organization}/servers/{server}/sites/{site}/certificates:
    get:
      operationId: organizations.servers.sites.certificates.index
      description: 'List all certificates for a given site, across all of its domains.


        Processing mode: <small><code>sync</code></small>'
      summary: List site certificates
      tags:
      - Sites
      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: site
        in: path
        required: true
        description: The site ID
        schema:
          type: integer
      responses:
        '200':
          description: Array of `CertificateResource`
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/CertificateResource'
                required:
                - data
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
      security:
      - oauth2:
        - site:meta
      x-permissions:
      - site:meta
      x-mint:
        metadata:
          noindex: true
      x-processingMode: sync
  /orgs/{organization}/servers/{server}/sites/{site}/domains:
    get:
      operationId: organizations.servers.sites.domains.index
      description: 'Show all domains for the site.


        Processing mode: <small><code>sync</code></small>'
      summary: List domains
      tags:
      - Sites
      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: site
        in: path
        required: true
        description: The site 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[status]
        in: query
        description: The status of the domain.
        schema:
          examples:
          - enabled
          $ref: '#/components/schemas/DomainRecordStatus'
      - name: filter[type]
        in: query
        description: The type of domain.
        schema:
          type: string
          enum:
          - primary
          - alias
          examples:
          - primary
      - name: sort
        in: query
        schema:
          type: array
          items:
            type: string
            enum:
            - name
            - -name
            - created_at
            - -created_at
        explode: false
      responses:
        '200':
          description: Paginated set of `DomainRecordResource`
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/DomainRecordResource'
                  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:
        - site:meta
      x-permissions:
      - site:meta
      x-mint:
        metadata:
          noindex: true
      x-processingMode: sync
    post:
      operationId: organizations.servers.sites.domains.store
      description: 'Add a new domain to the site


        Processing mode: <small><code>async</code></small>'
      summary: Create domain
      tags:
      - Sites
      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: site
        in: path
        required: true
        description: The site ID
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDomainRequest'
      responses:
        '202':
          description: '`DomainRecordResource`'
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/DomainRecordResource'
                required:
                - data
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
      security:
      - oauth2:
        - site:meta
      x-permissions:
      - site:meta
      x-mint:
        metadata:
          noindex: true
      x-processingMode: async
  /orgs/{organization}/servers/{server}/sites/{site}/domains/{domainRecord}:
    get:
      operationId: organizations.servers.sites.domains.show
      description: 'Show the specified domain for the site


        Processing mode: <small><code>sync</code></small>'
      summary: Get domain
      tags:
      - Sites
      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: site
        in: path
        required: true
        description: The site ID
        schema:
          type: integer
      - name: domainRecord
        in: path
        required: true
        description: The domain record ID
        schema:
          type: integer
      responses:
        '200':
          description: '`DomainRecordResource`'
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/DomainRecordResource'
                required:
                - data
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
      security:
      - oauth2:
        - site:meta
      x-permissions:
      - site:meta
      x-mint:
        metadata:
          noindex: true
      x-processingMode: sync
    patch:
      operationId: organizations.servers.sites.domains.update
      description: 'Update an existing domain for the site


        Processing mode: <small><code>async</code></small>'
      summary: Update domain
      tags:
      - Sites
      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: site
        in: path
        required: true
        description: The site ID
        schema:
          type: integer
      - name: domainRecord
        in: path
        required: true
        description: The domain record ID
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateDomainRequest'
      responses:
        '200':
          description: '`DomainRecordResource`'
          content:
            application/vnd.api+json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/DomainRecordResource'
                required:
                - data
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
      security:
      - oauth2:
        - site:meta
      x-permissions:
      - site:meta
      x-mint:
        metadata:
          noindex: true
      x-processingMode: async
    delete:
      operationId: organizations.servers.sites.domains.destroy
      description: 'Remove a domain from the site


        Processing mode: <small><code>async</code></small>'
      summary: Delete domain
      tags:
      - Sites
      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: site
        in: path
        required: true
        description: The site ID
        schema:
          type: integer
      - name: domainRecord
        in: path
        required: true
        description: The domain record ID
        schema:
          type: integer
      responses:
        '204':
          description: No content
        '404':
          $ref: '#/components/responses/ModelNotFoundException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
      security:
      - oauth2:
        - site:meta
      x-permissions:
      - site:meta
      x-mint:
        metadata:
          noindex: true
      x-processingMode: async
  /orgs/{organization}/servers/{server}/sites/{site}/domains/{domainRecord}/configurations:
    get:
      operationId: organization

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