Skip to main content
Projects are the top-level organizational unit in Varo Cloud. Every deployment, environment configuration, and integration belongs to a project. You can use the Projects API to programmatically create and manage projects across your organization, automate provisioning pipelines, and keep your infrastructure in sync with your internal tooling. Base URL: https://inference.varo.cloud/v1 All requests require an Authorization: Bearer YOUR_API_KEY header.

GET /projects

Returns a paginated list of all projects in your organization.
per_page
integer
default:"20"
Number of projects to return per page. Maximum value is 100.
cursor
string
Pagination cursor returned by a previous response. Pass this value to retrieve the next page of results.
curl -X GET "https://inference.varo.cloud/v1/projects?per_page=20" \
  -H "Authorization: Bearer YOUR_API_KEY"
{
  "data": [
    {
      "id": "proj_abc123",
      "name": "storefront-api",
      "region": "us-east-1",
      "description": "Customer-facing storefront API service",
      "status": "active",
      "created_at": "2024-01-10T08:00:00Z",
      "updated_at": "2024-01-14T12:30:00Z"
    },
    {
      "id": "proj_def456",
      "name": "internal-dashboard",
      "region": "eu-west-1",
      "description": "Internal analytics dashboard",
      "status": "archived",
      "created_at": "2023-11-05T09:15:00Z",
      "updated_at": "2024-01-02T17:00:00Z"
    }
  ],
  "meta": {
    "per_page": 20,
    "next_cursor": "cur_ghi789"
  }
}
data
array
Array of project objects matching the query.
meta.per_page
integer
The number of results returned per page.
meta.next_cursor
string
Cursor value to pass in your next request to retrieve the following page. null if there are no further pages.

POST /projects

Creates a new project in your organization.
name
string
required
A unique, human-readable name for the project. Must be between 3 and 64 characters.
region
string
required
The cloud region in which to create the project (e.g. us-east-1, eu-west-1, ap-southeast-2).
description
string
An optional plain-text description of the project’s purpose. Maximum 255 characters.
curl -X POST "https://inference.varo.cloud/v1/projects" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "payments-service",
    "region": "us-east-1",
    "description": "Handles all payment processing workflows"
  }'
{
  "id": "proj_jkl012",
  "name": "payments-service",
  "region": "us-east-1",
  "description": "Handles all payment processing workflows",
  "status": "active",
  "created_at": "2024-01-15T10:00:00Z",
  "updated_at": "2024-01-15T10:00:00Z"
}
id
string
The unique identifier for the newly created project.
status
string
Initial status of the project. Always active on creation.

GET /projects/

Retrieves a single project by its ID.
id
string
required
The unique identifier of the project to retrieve.
curl -X GET "https://inference.varo.cloud/v1/projects/proj_abc123" \
  -H "Authorization: Bearer YOUR_API_KEY"
{
  "id": "proj_abc123",
  "name": "storefront-api",
  "region": "us-east-1",
  "description": "Customer-facing storefront API service",
  "status": "active",
  "created_at": "2024-01-10T08:00:00Z",
  "updated_at": "2024-01-14T12:30:00Z"
}

PUT /projects/

Updates the name or description of an existing project.
id
string
required
The unique identifier of the project to update.
name
string
A new name for the project. Must be between 3 and 64 characters.
description
string
A new description for the project. Maximum 255 characters. Pass an empty string to clear the existing description.
curl -X PUT "https://inference.varo.cloud/v1/projects/proj_abc123" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "storefront-api-v2",
    "description": "Refactored storefront API with improved caching"
  }'
{
  "id": "proj_abc123",
  "name": "storefront-api-v2",
  "region": "us-east-1",
  "description": "Refactored storefront API with improved caching",
  "status": "active",
  "created_at": "2024-01-10T08:00:00Z",
  "updated_at": "2024-01-15T11:45:00Z"
}

DELETE /projects/

Permanently deletes a project and all of its associated resources.
id
string
required
The unique identifier of the project to delete.
Deleting a project permanently removes all deployments, environment variables, and configuration associated with it. This action cannot be undone. Ensure you have backed up any critical data before proceeding.
curl -X DELETE "https://inference.varo.cloud/v1/projects/proj_abc123" \
  -H "Authorization: Bearer YOUR_API_KEY"
A successful deletion returns 204 No Content with an empty response body.

Project Object

The following fields are present on every project object returned by the API.
id
string
Unique identifier for the project, prefixed with proj_.
name
string
The human-readable name of the project.
region
string
The cloud region where the project is hosted (e.g. us-east-1).
description
string
Optional description of the project. May be null if not set.
status
string
Current state of the project. One of active or archived.
created_at
string
ISO 8601 datetime string representing when the project was created.
updated_at
string
ISO 8601 datetime string representing when the project was last modified.