### GET /applications/{application} Source: https://cloud.laravel.com/docs/api/applications/get-application Retrieves details for a specific application, with options to include related resources like organization, environments, and default environment. ```APIDOC ## GET /applications/{application} ### Description Get a specific application. ### Method GET ### Endpoint /applications/{application} ### Parameters #### Path Parameters - **application** (string) - Required - The application identifier #### Query Parameters - **include** (string) - Optional - Available includes are `organization`, `environments`, `defaultEnvironment`. You can include multiple options by separating them with a comma. ### Request Example ```json { "example": "No request body for GET requests" } ``` ### Response #### Success Response (200) - **data** (object) - Contains the `ApplicationResource` details. - **included** (array) - Optional - An array of included resources such as `RepositoryResource`, `OrganizationResource`, `EnvironmentResource`, or `DeploymentResource`. #### Response Example ```json { "data": { "id": "1", "type": "applications", "attributes": { "name": "My Laravel App", "slug": "my-laravel-app", "region": { "id": "1", "name": "us-east-1" }, "slack_channel": null, "created_at": "2023-01-01T12:00:00Z", "repository": { "full_name": "user/repo", "default_branch": "main" } }, "relationships": { "repository": { "data": { "type": "repositories", "id": "1" } }, "organization": { "data": { "type": "organizations", "id": "1" } }, "environments": { "data": [ { "type": "environments", "id": "1" } ] }, "deployments": { "data": [ { "type": "deployments", "id": "1" } ] }, "defaultEnvironment": { "data": { "type": "environments", "id": "1" } } } }, "included": [ { "id": "1", "type": "repositories", "attributes": { "full_name": "user/repo", "default_branch": "main" } } ] } ``` #### Error Response (404) - **message** (string) - Error message indicating the model was not found. ``` -------------------------------- ### GET /instances/{instance}/background-processes Source: https://cloud.laravel.com/docs/api/background-processes/list-background-processes Retrieves a paginated list of all background processes associated with a specific instance. You can optionally include related resources like the instance itself. ```APIDOC ## GET /instances/{instance}/background-processes ### Description Get a list of all background processes for the given instance. ### Method GET ### Endpoint /instances/{instance}/background-processes ### Parameters #### Path Parameters - **instance** (string) - Required - The instance identifier #### Query Parameters - **include** (string) - Optional - Available includes are `instance`. You can include multiple options by separating them with a comma. ### Request Example ```json { "example": "No request body for GET requests" } ``` ### Response #### Success Response (200) - **data** (array) - Paginated set of `BackgroundProcessResource` objects. - **links** (object) - Contains pagination links (first, last, prev, next). - **meta** (object) - Contains pagination metadata (current_page, from, last_page, links, path, per_page, to, total). - **included** (array) - Optional array of included resources, such as `InstanceResource`. #### Response Example ```json { "data": [ { "id": "1", "type": "background_processes", "attributes": { "created_at": "2023-01-01T12:00:00.000000Z", "updated_at": "2023-01-01T12:00:00.000000Z" } } ], "links": { "first": "https://cloud.laravel.com/api/instances/1/background-processes?page=1", "last": "https://cloud.laravel.com/api/instances/1/background-processes?page=1", "prev": null, "next": null }, "meta": { "current_page": 1, "from": 1, "last_page": 1, "links": [], "path": "https://cloud.laravel.com/api/instances/1/background-processes", "per_page": 15, "to": 1, "total": 1 } } ``` #### Error Response (404) - **$ref**: '#/components/responses/ModelNotFoundException' ``` -------------------------------- ### GET /buckets/{filesystem}/keys Source: https://cloud.laravel.com/docs/api/bucket-keys/list-object-storage-keys Retrieves a paginated list of object storage keys for a specific bucket. You can optionally include related filesystem information. ```APIDOC ## GET /buckets/{filesystem}/keys ### Description Get a list of all keys for a specific object storage bucket. ### Method GET ### Endpoint /buckets/{filesystem}/keys ### Parameters #### Path Parameters - **filesystem** (string) - Required - The filesystem identifier #### Query Parameters - **include** (string) - Optional - Available includes are `filesystem`. You can include multiple options by separating them with a comma. ### Request Example ```json { "example": "No request body for GET request" } ``` ### Response #### Success Response (200) - **data** (array) - Paginated set of `FilesystemKeyResource` objects. - **links** (object) - Contains pagination links (first, last, prev, next). - **meta** (object) - Contains pagination metadata (current_page, from, last_page, links, path, per_page, to, total). - **included** (array) - Contains `FilesystemResource` objects if requested via the `include` parameter. #### Response Example ```json { "data": [ { "id": "key-id-1", "type": "filesystemKeys", "attributes": { "name": "path/to/your/file.jpg" } } ], "links": { "first": "https://cloud.laravel.com/api/buckets/your-filesystem/keys?page=1", "last": "https://cloud.laravel.com/api/buckets/your-filesystem/keys?page=5", "prev": null, "next": "https://cloud.laravel.com/api/buckets/your-filesystem/keys?page=2" }, "meta": { "current_page": 1, "from": 1, "last_page": 5, "links": [ { "url": null, "label": "« Previous", "active": false }, { "url": "https://cloud.laravel.com/api/buckets/your-filesystem/keys?page=1", "label": "1", "active": true }, { "url": "https://cloud.laravel.com/api/buckets/your-filesystem/keys?page=2", "label": "2", "active": false } ], "path": "https://cloud.laravel.com/api/buckets/your-filesystem/keys", "per_page": 15, "to": 15, "total": 70 }, "included": [ { "id": "filesystem-id", "type": "filesystems", "attributes": { "name": "S3 Bucket", "driver": "s3" } } ] } ``` #### Error Response (404) - **ModelNotFoundException**: Returned when the specified bucket or filesystem is not found. ``` -------------------------------- ### GET /bucket-keys/{filesystemKey} Source: https://cloud.laravel.com/docs/api/bucket-keys/get-object-storage-key Retrieves a specific object storage key. This endpoint allows you to fetch details about a particular bucket key, including its associated filesystem. ```APIDOC ## GET /bucket-keys/{filesystemKey} ### Description Get a specific object storage key. This endpoint allows you to fetch details about a particular bucket key, including its associated filesystem. ### Method GET ### Endpoint /bucket-keys/{filesystemKey} ### Parameters #### Path Parameters - **filesystemKey** (string) - Required - The filesystem key identifier #### Query Parameters - **include** (string) - Optional - Available includes are `filesystem`. You can include multiple options by separating them with a comma. ### Request Example ```json { "example": "Not applicable for GET request body" } ``` ### Response #### Success Response (200) - **data** (object) - Contains the `FilesystemKeyResource` object. - **included** (array) - Contains an array of `FilesystemResource` objects if the `include` parameter is used. #### Response Example ```json { "data": { "id": "example-key-id", "type": "filesystemKeys", "attributes": { "name": "my-key", "permission": "private", "access_key_id": "AKIAIOSFODNN7EXAMPLE", "access_key_secret": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "created_at": "2023-10-27T10:00:00Z" }, "relationships": { "filesystem": { "data": { "id": "example-filesystem-id", "type": "filesystems" } } } }, "included": [ { "id": "example-filesystem-id", "type": "filesystems", "attributes": { "name": "my-bucket", "type": "s3", "status": "active", "visibility": "private", "jurisdiction": "us-east-1", "endpoint": "s3.amazonaws.com", "url": "https://my-bucket.s3.amazonaws.com", "allowed_origins": [], "created_at": "2023-10-26T09:00:00Z" }, "relationships": { "keys": { "data": [ { "id": "example-key-id", "type": "filesystemKeys" } ] } } } ] } ``` #### Error Response (404) - **ModelNotFoundException** - Returned when the specified bucket key is not found. ``` -------------------------------- ### GET /background-processes/{backgroundProcess} Source: https://cloud.laravel.com/docs/api/background-processes/get-background-process Retrieves the details of a specific background process. This endpoint allows you to fetch information about a background process by its unique identifier. ```APIDOC ## GET /background-processes/{backgroundProcess} ### Description Get the details of a specific background process. ### Method GET ### Endpoint /background-processes/{backgroundProcess} ### Parameters #### Path Parameters - **backgroundProcess** (string) - Required - The background process identifier #### Query Parameters - **include** (string) - Optional - Available includes are `instance`. You can include multiple options by separating them with a comma. ### Request Example ```json { "example": "No request body for GET request" } ``` ### Response #### Success Response (200) - **data** (object) - Contains the `BackgroundProcessResource` details. - **included** (array) - Contains `InstanceResource` details if `include=instance` is used. #### Response Example ```json { "data": { "id": "123", "type": "background_processes", "attributes": { "type": "daemon", "processes": 1, "command": "php artisan queue:work", "config": {}, "strategy_type": "none", "strategy_threshold": null, "created_at": "2023-01-01T12:00:00Z" }, "relationships": { "instance": { "data": { "id": "456", "type": "instances" } } } }, "included": [ { "id": "456", "type": "instances", "attributes": { "name": "web-1", "type": "docker", "size": "s-2v", "scaling_type": "manual", "min_replicas": 1, "max_replicas": 1, "uses_scheduler": false, "scaling_cpu_threshold_percentage": null, "scaling_memory_threshold_percentage": null, "created_at": "2023-01-01T10:00:00Z" }, "relationships": { "environment": { "data": { "id": "789", "type": "environments" } } } } ] } ``` #### Error Response (404) - **message** (string) - "Model not found." ``` -------------------------------- ### Get Background Process Source: https://cloud.laravel.com/docs/api/background-processes/get-background-process Retrieves the details of a specific background process using its ID. ```APIDOC ## GET /websites/cloud_laravel_api/background_processes/{id} ### Description Get the details of a specific background process. ### Method GET ### Endpoint /websites/cloud_laravel_api/background_processes/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The unique identifier of the background process. ### Response #### Success Response (200) - **id** (integer) - The unique identifier of the background process. - **status** (string) - The current status of the background process (e.g., 'pending', 'running', 'completed', 'failed'). - **created_at** (string) - The timestamp when the background process was created. - **updated_at** (string) - The timestamp when the background process was last updated. #### Response Example ```json { "id": 123, "status": "completed", "created_at": "2023-10-27T10:00:00Z", "updated_at": "2023-10-27T10:05:00Z" } ``` ``` -------------------------------- ### POST /instances/{instance}/background-processes Source: https://cloud.laravel.com/docs/api/background-processes/create-background-process Creates a new background process for a specified instance. This endpoint allows for the configuration of various process types, including custom commands and worker processes with detailed settings. ```APIDOC ## POST /instances/{instance}/background-processes ### Description Create a new background process for an instance. This allows you to start custom commands or worker processes with specific configurations. ### Method POST ### Endpoint `/instances/{instance}/background-processes` ### Parameters #### Path Parameters - **instance** (string) - Required - The instance identifier #### Request Body - **type** (DaemonType) - Required - The type of background process to create (e.g., 'custom', 'worker'). - **processes** (integer) - Required - The number of processes to start (minimum: 1, maximum: 10). - **command** (string) - Optional - Custom command to run. Required when type is 'custom'. Not applicable for 'worker' type. - **config** (object) - Optional - Configuration settings for the background process. - **connection** (string) - Optional - The queue connection name. Only applicable for 'worker' type. - **queue** (string) - Optional - The queue name(s) to process. Only applicable for 'worker' type. - **tries** (integer) - Optional - Number of times a job should be attempted. Only applicable for 'worker' type. - **backoff** (integer) - Optional - Number of seconds to wait before retrying a failed job. Only applicable for 'worker' type. - **sleep** (integer) - Optional - Number of seconds to sleep when no jobs are available. Only applicable for 'worker' type. - **rest** (integer) - Optional - Number of seconds to rest between jobs. Only applicable for 'worker' type. - **timeout** (integer) - Optional - Number of seconds a job can run before timing out. Only applicable for 'worker' type. - **force** (boolean) - Optional - Force the worker to run even in maintenance mode. Only applicable for 'worker' type. ### Request Example ```json { "type": "custom", "processes": 2, "command": "php artisan queue:work", "config": { "connection": "redis", "queue": "default", "tries": 5 } } ``` ### Response #### Success Response (201) - **data** (BackgroundProcessResource) - The created background process resource. - **included** (array) - An array of included resources, typically the instance resource. #### Response Example ```json { "data": { "id": "123e4567-e89b-12d3-a456-426614174000", "type": "background_processes", "attributes": { "type": "custom", "processes": 2 } }, "included": [ { "id": "instance-abc", "type": "instances", "attributes": { "name": "My Laravel App" } } ] } ``` #### Error Responses - **404** - ModelNotFoundException: The specified instance was not found. - **422** - ValidationException: The request body failed validation. ``` -------------------------------- ### Instance Size and Scaling Source: https://cloud.laravel.com/docs/api/background-processes/list-background-processes This section describes the available instance sizes and scaling types for cloud resources. ```APIDOC ## Instance Size and Scaling ### Description Provides details on instance size configurations and scaling types. ### Instance Size - **dedicated.m-8vcpu-64gb** (string) - Represents a specific instance size with 8 vCPUs and 64GB of RAM. ### Instance Scaling Type - **InstanceScalingType** (string) - Enum: `none`, `custom`, `auto` - Describes the scaling behavior of an instance. ``` -------------------------------- ### Instance Resource Schema Source: https://cloud.laravel.com/docs/api/background-processes/get-background-process Defines the structure for an Instance Resource, including its ID, type, environment, and background processes. ```APIDOC ## Instance Resource Schema ### Description Defines the structure for an Instance Resource, including its ID, type, environment, and background processes. ### Schema ```json { "type": "object", "properties": { "id": { "type": "string", "description": "The unique identifier for the instance." }, "type": { "type": "string", "enum": [ "instances" ], "description": "The type of the resource, which is 'instances'." }, "environment": { "type": "object", "properties": { "data": { "anyOf": [ { "$ref": "#/components/schemas/EnvironmentResourceIdentifier" }, { "type": "null" } ] } }, "required": [ "data" ] }, "backgroundProcesses": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/BackgroundProcessResourceIdentifier" } } }, "required": [ "data" ] } }, "required": [ "id", "type" ], "title": "InstanceResource" } ``` ``` -------------------------------- ### List Background Processes Source: https://cloud.laravel.com/docs/api/background-processes/list-background-processes Retrieves a list of all background processes for a given instance. ```APIDOC ## GET /websites/cloud_laravel_api/background_processes ### Description Get a list of all background processes for the given instance. ### Method GET ### Endpoint /websites/cloud_laravel_api/background_processes ### Parameters #### Query Parameters - **instance_id** (string) - Required - The ID of the instance to retrieve background processes for. ### Response #### Success Response (200) - **processes** (array) - A list of background process objects. - **id** (string) - The ID of the background process. - **name** (string) - The name of the background process. - **status** (string) - The current status of the background process (e.g., 'running', 'completed', 'failed'). - **created_at** (string) - The timestamp when the process was created. #### Response Example ```json { "processes": [ { "id": "proc_123", "name": "Data Sync", "status": "running", "created_at": "2023-10-27T10:00:00Z" }, { "id": "proc_456", "name": "Report Generation", "status": "completed", "created_at": "2023-10-27T09:30:00Z" } ] } ``` ``` -------------------------------- ### POST /buckets/{filesystem}/keys Source: https://cloud.laravel.com/docs/api/bucket-keys/create-object-storage-key Creates a new key for a specified object storage bucket. This endpoint allows for the generation of credentials to access and manage object storage. ```APIDOC ## POST /buckets/{filesystem}/keys ### Description Create a new key for an object storage bucket. ### Method POST ### Endpoint /buckets/{filesystem}/keys ### Parameters #### Path Parameters - **filesystem** (string) - Required - The filesystem identifier #### Request Body - **name** (string) - Required - Minimum length 3, Maximum length 40 - **permission** (object) - Required - The permission for the key ### Request Example ```json { "name": "my-new-key", "permission": "read-write" } ``` ### Response #### Success Response (201) - **data** (object) - Contains the `FilesystemKeyResource` details. - **included** (array) - Contains `FilesystemResource` details. #### Response Example ```json { "data": { "id": "key_abc123", "type": "filesystemKeys", "attributes": { "name": "my-new-key", "permission": "read-write", "access_key_id": "AKIAIOSFODNN7EXAMPLE", "access_key_secret": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", "created_at": "2023-01-01T12:00:00Z" }, "relationships": { "filesystem": { "data": { "id": "fs_xyz789", "type": "filesystems" } } } }, "included": [ { "id": "fs_xyz789", "type": "filesystems", "attributes": { "name": "my-bucket", "type": "s3", "status": "active", "visibility": "private", "jurisdiction": "us-east-1", "endpoint": "s3.amazonaws.com", "url": "https://my-bucket.s3.amazonaws.com", "allowed_origins": null, "created_at": "2023-01-01T10:00:00Z" } } ] } ``` ``` -------------------------------- ### Navigation and Other Pages Source: https://cloud.laravel.com/docs/api/background-processes/list-background-processes Instructions on how to find additional documentation pages. ```APIDOC ## Navigation and Other Pages ### Description Instructions for accessing further documentation. ### Fetch LLMs TXT File To find navigation and other pages in this documentation, fetch the llms.txt file at: `https://cloud.laravel.com/docs/llms.txt` ``` -------------------------------- ### Deployment Status Events Source: https://cloud.laravel.com/docs/api/applications/create-application This section details the various events related to deployment statuses, including queued, running, succeeded, and failed. ```APIDOC ## Deployment Status Events ### Description This section details the various events related to deployment statuses, including queued, running, succeeded, and failed. ### Events - `deployment.queued` - `deployment.running` - `deployment.succeeded` - `deployment.failed` ``` -------------------------------- ### DeploymentResource Object Source: https://cloud.laravel.com/docs/api/applications/get-application Details the structure and properties of a DeploymentResource, representing a deployment instance for an environment. ```APIDOC ## DeploymentResource Object ### Description Represents a specific deployment of a project to an environment, including its status, commit details, and associated resources. ### Attributes - **status** (string) - The current status of the deployment (e.g., pending, running, completed, failed). - **branch_name** (string) - The name of the branch that was deployed. - **commit_hash** (string) - The Git commit hash for this deployment. - **commit_message** (string) - The commit message associated with this deployment. - **commit_author** (string | null) - The author of the commit. - **failure_reason** (string | null) - The reason for deployment failure, if applicable. - **php_major_version** (string) - The major PHP version used for this deployment (e.g., '8.2', '8.3'). - **build_command** (string | null) - The command executed for building the application. - **node_version** (string) - The Node.js version used for this deployment. - **uses_octane** (boolean) - Whether Octane was used during this deployment. - **uses_hibernation** (boolean) - Whether hibernation was used during this deployment. - **started_at** (string) - The timestamp when the deployment started (ISO 8601 format). - **finished_at** (string) - The timestamp when the deployment finished (ISO 8601 format). ### Relationships - **environment** (object) - Relationship to the EnvironmentResourceIdentifier. - **initiator** (object) - Relationship to the UserResourceIdentifier of the user who initiated the deployment. ### Links - **self** (object) - Link to the deployment resource. ``` -------------------------------- ### List Applications Source: https://cloud.laravel.com/docs/api/applications/list-applications Retrieves a list of all applications associated with the authenticated organization. ```APIDOC ## GET /websites/cloud_laravel_api/applications ### Description Get a list of all applications for the authenticated organization. ### Method GET ### Endpoint /websites/cloud_laravel_api/applications ### Parameters #### Query Parameters (No query parameters specified) #### Request Body (No request body specified) ### Request Example (No request example specified) ### Response #### Success Response (200) - **applications** (array) - A list of application objects. - **id** (integer) - The unique identifier of the application. - **name** (string) - The name of the application. - **created_at** (string) - The timestamp when the application was created. - **updated_at** (string) - The timestamp when the application was last updated. #### Response Example ```json { "applications": [ { "id": 1, "name": "My First App", "created_at": "2023-10-27T10:00:00Z", "updated_at": "2023-10-27T10:00:00Z" }, { "id": 2, "name": "Another App", "created_at": "2023-10-27T11:00:00Z", "updated_at": "2023-10-27T11:00:00Z" } ] } ``` ``` -------------------------------- ### Website and Deployment Management Source: https://cloud.laravel.com/docs/api/applications/update-application This section outlines potential API endpoints for managing websites and their deployments within the Cloud Laravel platform. It includes details on request parameters and expected responses. ```APIDOC ## GET /websites/cloud_laravel_api ### Description Retrieves a list of websites or specific website details. ### Method GET ### Endpoint /websites/cloud_laravel_api ### Parameters #### Query Parameters - **id** (string) - Optional - The ID of the website to retrieve. ### Response #### Success Response (200) - **data** (array) - An array of website objects or a single website object. - **id** (string) - The unique identifier of the website. - **name** (string) - The name of the website. - **domain** (string) - The domain associated with the website. #### Response Example ```json { "data": [ { "id": "website-123", "name": "My Awesome Site", "domain": "example.com" } ] } ``` ## POST /websites/cloud_laravel_api ### Description Creates a new website. ### Method POST ### Endpoint /websites/cloud_laravel_api ### Parameters #### Request Body - **name** (string) - Required - The name for the new website. - **domain** (string) - Required - The domain for the new website. ### Request Example ```json { "name": "New Project", "domain": "newproject.com" } ``` ### Response #### Success Response (201) - **id** (string) - The ID of the newly created website. - **name** (string) - The name of the new website. - **domain** (string) - The domain of the new website. #### Response Example ```json { "id": "website-456", "name": "New Project", "domain": "newproject.com" } ``` ## POST /websites/cloud_laravel_api/{website_id}/deployments ### Description Initiates a new deployment for a specified website. ### Method POST ### Endpoint /websites/cloud_laravel_api/{website_id}/deployments ### Parameters #### Path Parameters - **website_id** (string) - Required - The ID of the website to deploy. #### Request Body - **branch** (string) - Required - The Git branch to deploy. ### Request Example ```json { "branch": "main" } ``` ### Response #### Success Response (202) - **id** (string) - The ID of the new deployment. - **status** (DeploymentStatus) - The initial status of the deployment. #### Response Example ```json { "id": "deployment-789", "status": "pending" } ``` ``` -------------------------------- ### BackgroundProcessResource Source: https://cloud.laravel.com/docs/api/background-processes/create-background-process Represents a background process associated with an instance, including its command, configuration, strategy type, and creation timestamp. It also details relationships to its instance. ```APIDOC ## BackgroundProcessResource ### Description Represents a background process associated with an instance, including its command, configuration, strategy type, and creation timestamp. It also details relationships to its instance. ### Attributes - **id** (string) - The unique identifier for the background process. - **type** (string) - The type of the resource, typically 'background_processes'. - **attributes** (object) - **processes** (integer) - The number of processes for this background job. - **command** (string) - The command to execute for the background process. - **config** (array) - Configuration for the background process. - **item** ({}) - **strategy_type** (DaemonStrategyType) - The strategy type for managing the background process ('none', 'growth_rate', 'queue_size'). - **strategy_threshold** (integer | null) - The threshold value for the chosen strategy type. - **created_at** (string | null) - The timestamp when the background process was created (format: date-time). ### Relationships - **instance** (object) - **data** (InstanceResourceIdentifier | null) - Identifier for the associated instance. ### Resource Identifier - **id** (string) - The unique identifier for the background process. - **type** (string) - The type of the resource, typically 'background_processes'. ``` -------------------------------- ### List Applications Source: https://cloud.laravel.com/docs/api/applications/list-applications Retrieves a paginated list of all applications associated with the authenticated organization. Supports filtering and inclusion of related resources. ```APIDOC ## GET /applications ### Description Get a list of all applications for the authenticated organization. ### Method GET ### Endpoint /applications ### Parameters #### Query Parameters - **include** (string) - Optional - Available includes are `organization`, `environments`, `defaultEnvironment`. You can include multiple options by separating them with a comma. - **filter[name]** (string) - Optional - Filter applications by name. - **filter[region]** (string) - Optional - Filter applications by region. - **filter[slug]** (string) - Optional - Filter applications by slug. ### Response #### Success Response (200) - **data** (array) - An array of `ApplicationResource` objects. - **links** (object) - Pagination links (`first`, `last`, `prev`, `next`). - **meta** (object) - Pagination metadata (`current_page`, `from`, `last_page`, `links`, `path`, `per_page`, `to`, `total`). - **included** (array) - An array of included resources (e.g., `RepositoryResource`, `OrganizationResource`, `EnvironmentResource`, `DeploymentResource`). #### Response Example ```json { "data": [ { "type": "application", "id": "1", "attributes": { "name": "My App", "region": "us", "created_at": "2023-01-01T10:00:00Z" }, "relationships": {} } ], "links": { "first": "https://cloud.laravel.com/api/applications?page=1", "last": "https://cloud.laravel.com/api/applications?page=1", "prev": null, "next": null }, "meta": { "current_page": 1, "from": 1, "last_page": 1, "links": [], "path": "https://cloud.laravel.com/api/applications", "per_page": 15, "to": 1, "total": 1 }, "included": [] } ``` ``` -------------------------------- ### POST /applications Source: https://cloud.laravel.com/docs/api/applications/create-application Creates a new application within Laravel Cloud. This endpoint allows users to provision a new application by specifying repository details, a name, and the desired region. ```APIDOC ## POST /applications ### Description Create a new application. ### Method POST ### Endpoint /applications ### Parameters #### Request Body - **repository** (string) - Required - The repository associated with the application. - **name** (string) - Required - The name of the application. Must be between 3 and 40 characters and can contain letters, numbers, spaces, underscores, periods, and hyphens. - **region** (CloudRegion) - Required - The cloud region where the application will be deployed. ### Request Example ```json { "repository": "github.com/user/repo", "name": "My Awesome App", "region": "us-east-1" } ``` ### Response #### Success Response (201) - **data** (ApplicationResource) - The newly created application resource. - **included** (array) - Optional - Additional related resources such as RepositoryResource, OrganizationResource, EnvironmentResource, or DeploymentResource. #### Response Example ```json { "data": { "id": "app_123", "type": "applications", "attributes": { "name": "My Awesome App", "slug": "my-awesome-app", "region": "us-east-1", "slack_channel": null, "created_at": "2023-10-27T10:00:00Z", "repository": { "full_name": "user/repo", "default_branch": "main" } }, "relationships": { "repository": { "data": { "type": "repositories", "id": "repo_456" } }, "organization": { "data": { "type": "organizations", "id": "org_789" } }, "environments": { "data": [ { "type": "environments", "id": "env_abc" } ] }, "deployments": { "data": [ { "type": "deployments", "id": "dep_def" } ] } } }, "included": [ { "type": "repositories", "id": "repo_456", "attributes": { "full_name": "user/repo", "default_branch": "main" } } ] } ``` #### Error Response (401) - **message** (string) - Error overview. #### Error Response (422) - Reference to `ValidationException` schema for details on validation errors. ``` -------------------------------- ### Data Models and Security Schemes Source: https://cloud.laravel.com/docs/api/bucket-keys/get-object-storage-key This section details the various data models used within the API, such as FilesystemKeyPermission, FilesystemResourceIdentifier, and FilesystemType. It also outlines the security scheme, which uses HTTP Bearer Token authentication. ```APIDOC ## Data Models and Security Schemes ### Description This section details the various data models used within the API, such as FilesystemKeyPermission, FilesystemResourceIdentifier, and FilesystemType. It also outlines the security scheme, which uses HTTP Bearer Token authentication. ### Data Models #### FilesystemKeyPermission - **Type**: string - **Enum**: `read_write`, `read_only` #### FilesystemResourceIdentifier - **Type**: object - **Properties**: - **type** (string, enum: `filesystems`) - Required - **id** (string) - Required #### FilesystemType - **Type**: string - **Enum**: `cloudflare_r2` #### FilesystemStatus - **Type**: string - **Enum**: `creating`, `updating`, `available`, `deleting`, `deleted`, `unknown` #### FilesystemVisibility - **Type**: string - **Enum**: `private`, `public` #### FilesystemJurisdiction - **Type**: string - **Enum**: `default`, `eu` #### FilesystemKeyResourceIdentifier - **Type**: object - **Properties**: - **type** (string, enum: `filesystemKeys`) - Required - **id** (string) - Required ### Security Schemes #### http - **Type**: http - **Scheme**: bearer - **Bearer Format**: bearer - **Description**: The Bearer Token generated on the Cloud UI. ``` -------------------------------- ### Filesystem Key Resource Object Source: https://cloud.laravel.com/docs/api/bucket-keys/list-object-storage-keys Represents a key associated with a filesystem resource. It includes the key's name, permission level, access key ID, secret access key, and creation timestamp. It also links back to the parent filesystem resource. ```APIDOC ## Filesystem Key Resource Object ### Description Represents a key for accessing a filesystem resource. ### Object Structure ```json { "id": "string", "type": "string" (enum: "filesystemKeys"), "attributes": { "name": "string", "permission": "string" (enum: "read_write", "read_only"), "access_key_id": "string or null", "access_key_secret": "string or null", "created_at": "string or null" (format: date-time) }, "relationships": { "filesystem": { "data": { "type": "string" (enum: "filesystems"), "id": "string" } or null } } } ``` ``` -------------------------------- ### InstanceResource Source: https://cloud.laravel.com/docs/api/background-processes/create-background-process Represents a Cloud Laravel instance, including its attributes like name, type, size, scaling configuration, and creation timestamp. It also details relationships to its environment and background processes. ```APIDOC ## InstanceResource ### Description Represents a Cloud Laravel instance, including its attributes like name, type, size, scaling configuration, and creation timestamp. It also details relationships to its environment and background processes. ### Attributes - **id** (string) - The unique identifier for the instance. - **type** (string) - Must be 'instances'. - **attributes** (object) - **name** (string) - The name of the instance. - **type** (InstanceType) - The type of the instance (e.g., 'app', 'service', 'queue'). - **size** (InstanceSize) - The size of the instance (e.g., 'flex.c-1vcpu-256mb'). - **scaling_type** (InstanceScalingType) - The scaling type of the instance ('none', 'custom', 'auto'). - **min_replicas** (integer) - The minimum number of replicas for the instance. - **max_replicas** (integer) - The maximum number of replicas for the instance. - **uses_scheduler** (boolean) - Whether the instance uses a scheduler. - **scaling_cpu_threshold_percentage** (integer | null) - The CPU threshold percentage for scaling. - **scaling_memory_threshold_percentage** (integer | null) - The memory threshold percentage for scaling. - **created_at** (string | null) - The timestamp when the instance was created (format: date-time). ### Relationships - **environment** (object) - **data** (EnvironmentResourceIdentifier | null) - Identifier for the associated environment. - **backgroundProcesses** (object) - **data** (array) - List of identifiers for associated background processes. - **item** (BackgroundProcessResourceIdentifier) ### Resource Identifier - **type** (string) - Must be 'instances'. - **id** (string) - The unique identifier for the instance. ``` -------------------------------- ### Filesystem Key Permission Enum Source: https://cloud.laravel.com/docs/api/bucket-keys/update-object-storage-key Defines the allowed permission levels for a filesystem key. ```APIDOC ## Filesystem Key Permission Enum ### Description This enum defines the possible permission levels for a filesystem key. ### Values - `read_write` - `read_only` ``` -------------------------------- ### Filesystem Visibility Enum Source: https://cloud.laravel.com/docs/api/bucket-keys/update-object-storage-key Defines the visibility settings for a filesystem. ```APIDOC ## Filesystem Visibility Enum ### Description This enum defines the visibility settings for a filesystem. ### Values - `private` - `public` ``` -------------------------------- ### Deployment Resource Object Source: https://cloud.laravel.com/docs/api/applications/update-application Details about the structure of a Deployment Resource object, including its attributes and relationships. ```APIDOC ## Deployment Resource Object ### Description Represents a deployment within the Cloud Laravel project. It includes details about the deployment's status, commit information, and associated resources. ### Attributes - **id** (string) - The unique identifier for the deployment. - **type** (string) - The type of resource, which is 'deployments'. - **branch_name** (string) - The name of the branch that was deployed. - **commit_hash** (string) - The hash of the commit that was deployed. - **commit_message** (string) - The message associated with the commit. - **commit_author** (string) - The author of the commit. - **failure_reason** (string) - The reason for deployment failure, if applicable. - **php_major_version** (string) - The major version of PHP used for the deployment. - **build_command** (string) - The command used to build the deployment. - **node_version** (string) - The version of Node.js used for the deployment. - **uses_octane** (boolean) - Indicates if Octane was used for the deployment. - **uses_hibernation** (boolean) - Indicates if hibernation was used for the deployment. - **started_at** (string) - The timestamp when the deployment started (ISO 8601 format). - **finished_at** (string) - The timestamp when the deployment finished (ISO 8601 format). ### Relationships - **environment** (object | null) - Information about the environment the deployment is associated with. Contains a `data` field which can be an `EnvironmentResourceIdentifier` or null. - **initiator** (object | null) - Information about the user who initiated the deployment. Contains a `data` field which can be a `UserResourceIdentifier` or null. ### Links - **self** (object) - Contains a `Link` object with details about the self-referential link for the deployment. ### Required Fields - `id` - `type` - `links` ``` -------------------------------- ### LLM Documentation Source: https://cloud.laravel.com/docs/api/applications/get-application Fetches the documentation for Large Language Models (LLMs) available through the Cloud Laravel API. ```APIDOC ## GET /docs/llms.txt ### Description Fetches the documentation for Large Language Models (LLMs) available through the Cloud Laravel API. This includes information on navigation and other related pages. ### Method GET ### Endpoint /docs/llms.txt ### Parameters #### Query Parameters None ### Request Example None ### Response #### Success Response (200) - **content** (string) - The documentation content in text format. #### Response Example ```text [Content of llms.txt] ``` ```