Deployments

Deployments track software release events across your infrastructure. Each deployment records which code was shipped, to which environment, and its progression through status changes. Deployment monitor evaluations represent automated agent sessions that watch a deployment for anomalies after it lands.

DeploymentsService

Service: firetiger.deployments.v1.DeploymentsService

Resource name pattern: deployments/{deployment_id}

Access: Read-write

Resource types: Deployment, Deployment Status Event

Example flow

Create a deployment to record a release event, then list recent deployments.

1. Create a deployment

curl -X POST "https://api.ft-baseten-development.firetigerapi.com/firetiger.deployments.v1.DeploymentsService/CreateDeployment" \
  -u "$USERNAME:$PASSWORD" \
  -H "Content-Type: application/json" \
  -d '{
    "deployment_id": "github-12345",
    "deployment": {
      "source": "DEPLOYMENT_SOURCE_GITHUB",
      "labels": {
        "repository": "acme-corp/backend",
        "environment": "production"
      },
      "description": "Deploy main to production"
    }
  }'
{
  "deployment": {
    "name": "deployments/github-12345",
    "source": "DEPLOYMENT_SOURCE_GITHUB",
    "status": "DEPLOYMENT_STATUS_PENDING",
    "labels": {
      "repository": "acme-corp/backend",
      "environment": "production"
    },
    "description": "Deploy main to production",
    "createTime": "2025-03-01T10:00:00Z",
    "updateTime": "2025-03-01T10:00:00Z"
  }
}

2. List recent production deployments

curl -X POST "https://api.ft-baseten-development.firetigerapi.com/firetiger.deployments.v1.DeploymentsService/ListDeployments" \
  -u "$USERNAME:$PASSWORD" \
  -H "Content-Type: application/json" \
  -d '{
    "filter": "labels.environment = \"production\"",
    "order_by": "create_time desc",
    "page_size": 5
  }'
{
  "deployments": [
    {
      "name": "deployments/github-12345",
      "source": "DEPLOYMENT_SOURCE_GITHUB",
      "status": "DEPLOYMENT_STATUS_SUCCESS",
      "labels": {
        "repository": "acme-corp/backend",
        "environment": "production"
      },
      "createTime": "2025-03-01T10:00:00Z",
      "updateTime": "2025-03-01T10:05:00Z"
    }
  ],
  "nextPageToken": ""
}

3. Get a specific deployment

curl -X POST "https://api.ft-baseten-development.firetigerapi.com/firetiger.deployments.v1.DeploymentsService/GetDeployment" \
  -u "$USERNAME:$PASSWORD" \
  -H "Content-Type: application/json" \
  -d '{"name": "deployments/github-12345"}'
{
  "deployment": {
    "name": "deployments/github-12345",
    "source": "DEPLOYMENT_SOURCE_GITHUB",
    "status": "DEPLOYMENT_STATUS_SUCCESS",
    "labels": {
      "repository": "acme-corp/backend",
      "environment": "production"
    },
    "createTime": "2025-03-01T10:00:00Z",
    "updateTime": "2025-03-01T10:05:00Z",
    "startTime": "2025-03-01T10:01:00Z",
    "completeTime": "2025-03-01T10:05:00Z",
    "externalId": "12345",
    "externalUrl": "https://github.com/acme-corp/backend/deployments/12345",
    "description": "Deploy main to production"
  }
}

Methods

Method Description
CreateDeployment Create a new deployment
GetDeployment Retrieve a deployment by name
ListDeployments List deployments with filtering and pagination
ListDeploymentStatusEvents List the status event changelog for a deployment

CreateDeployment

Create a new deployment to record a release event.

POST /firetiger.deployments.v1.DeploymentsService/CreateDeployment

Request body

Field Type Required Description
deployment_id string Yes ID for the new deployment (alphanumeric, hyphens, underscores)
deployment Deployment Yes The deployment to create

Example

curl -X POST "https://api.ft-baseten-development.firetigerapi.com/firetiger.deployments.v1.DeploymentsService/CreateDeployment" \
  -u "$USERNAME:$PASSWORD" \
  -H "Content-Type: application/json" \
  -d '{
    "deployment_id": "github-12345",
    "deployment": {
      "source": "DEPLOYMENT_SOURCE_GITHUB",
      "labels": {
        "repository": "acme-corp/backend",
        "environment": "production"
      },
      "description": "Deploy main to production"
    }
  }'

Response

{
  "deployment": {
    "name": "deployments/github-12345",
    "source": "DEPLOYMENT_SOURCE_GITHUB",
    "status": "DEPLOYMENT_STATUS_PENDING",
    "labels": {
      "repository": "acme-corp/backend",
      "environment": "production"
    },
    "description": "Deploy main to production",
    "createTime": "2025-03-01T10:00:00Z",
    "updateTime": "2025-03-01T10:00:00Z"
  }
}

GetDeployment

Retrieve a deployment by name.

POST /firetiger.deployments.v1.DeploymentsService/GetDeployment

Request body

Field Type Required Description
name string Yes Resource name of the deployment (deployments/{id})

Example

curl -X POST "https://api.ft-baseten-development.firetigerapi.com/firetiger.deployments.v1.DeploymentsService/GetDeployment" \
  -u "$USERNAME:$PASSWORD" \
  -H "Content-Type: application/json" \
  -d '{"name": "deployments/github-12345"}'

Response

{
  "deployment": {
    "name": "deployments/github-12345",
    "source": "DEPLOYMENT_SOURCE_GITHUB",
    "status": "DEPLOYMENT_STATUS_SUCCESS",
    "labels": {
      "repository": "acme-corp/backend",
      "environment": "production",
      "ref": "main",
      "sha": "abc123def456"
    },
    "createTime": "2025-03-01T10:00:00Z",
    "updateTime": "2025-03-01T10:05:00Z",
    "startTime": "2025-03-01T10:01:00Z",
    "completeTime": "2025-03-01T10:05:00Z",
    "externalId": "12345",
    "externalUrl": "https://github.com/acme-corp/backend/deployments/12345",
    "description": "Deploy main to production"
  }
}

ListDeployments

List deployments with optional filtering and pagination.

POST /firetiger.deployments.v1.DeploymentsService/ListDeployments

Request body

Field Type Required Description
filter string No Filter expression
order_by string No Field to sort by (e.g. create_time desc)
page_size integer No Maximum results per page
page_token string No Token for the next page of results
show_deleted boolean No Include soft-deleted deployments

Filter examples

  • labels.environment = "production" – deployments to production
  • labels.repository = "acme-corp/backend" – deployments from a specific repository
  • status = "DEPLOYMENT_STATUS_SUCCESS" – successful deployments
  • create_time >= "2025-01-01T00:00:00Z" – deployments after a given date

Example

curl -X POST "https://api.ft-baseten-development.firetigerapi.com/firetiger.deployments.v1.DeploymentsService/ListDeployments" \
  -u "$USERNAME:$PASSWORD" \
  -H "Content-Type: application/json" \
  -d '{
    "filter": "labels.environment = \"production\"",
    "order_by": "create_time desc",
    "page_size": 10
  }'

Response

{
  "deployments": [
    {
      "name": "deployments/github-12345",
      "source": "DEPLOYMENT_SOURCE_GITHUB",
      "status": "DEPLOYMENT_STATUS_SUCCESS",
      "labels": {
        "repository": "acme-corp/backend",
        "environment": "production"
      },
      "createTime": "2025-03-01T10:00:00Z",
      "updateTime": "2025-03-01T10:05:00Z"
    }
  ],
  "nextPageToken": ""
}

ListDeploymentStatusEvents

List the status event changelog for a deployment, showing how its status changed over time.

POST /firetiger.deployments.v1.DeploymentsService/ListDeploymentStatusEvents

Request body

Field Type Required Description
parent string Yes Parent deployment resource name (deployments/{id})
filter string No Filter expression
order_by string No Field to sort by (e.g. event_time desc)
page_size integer No Maximum results per page
page_token string No Token for the next page of results

Example

curl -X POST "https://api.ft-baseten-development.firetigerapi.com/firetiger.deployments.v1.DeploymentsService/ListDeploymentStatusEvents" \
  -u "$USERNAME:$PASSWORD" \
  -H "Content-Type: application/json" \
  -d '{"parent": "deployments/github-12345", "page_size": 25}'

Response

{
  "statusEvents": [
    {
      "name": "deployments/github-12345/status-events/evt-001",
      "deployment": "deployments/github-12345",
      "status": "DEPLOYMENT_STATUS_IN_PROGRESS",
      "description": "Deployment started",
      "eventTime": "2025-03-01T10:01:00Z",
      "createTime": "2025-03-01T10:01:00Z"
    },
    {
      "name": "deployments/github-12345/status-events/evt-002",
      "deployment": "deployments/github-12345",
      "status": "DEPLOYMENT_STATUS_SUCCESS",
      "description": "Deployment completed successfully",
      "eventTime": "2025-03-01T10:05:00Z",
      "createTime": "2025-03-01T10:05:00Z"
    }
  ],
  "nextPageToken": ""
}

DeploymentMonitorEvaluationService

Service: firetiger.deploy_monitor.v1.DeploymentMonitorEvaluationService

Resource name pattern: deployment-monitor-evaluations/{evaluation_id}

Access: Read-write

Resource type: Deployment Monitor Evaluation

Deployment monitor evaluations represent automated agent sessions that watch a deployment for anomalies. When a deployment lands, the deploy-monitor agent starts a monitoring session, observes system behavior over a window of time, and produces a summary with an overall outcome.

Methods

Method Description
GetDeploymentMonitorEvaluation Retrieve a deployment monitor evaluation by name
ListDeploymentMonitorEvaluations List evaluations with filtering and pagination

GetDeploymentMonitorEvaluation

Retrieve a deployment monitor evaluation by name.

POST /firetiger.deploy_monitor.v1.DeploymentMonitorEvaluationService/GetDeploymentMonitorEvaluation

Request body

Field Type Required Description
name string Yes Resource name of the evaluation (deployment-monitor-evaluations/{id})

Example

curl -X POST "https://api.ft-baseten-development.firetigerapi.com/firetiger.deploy_monitor.v1.DeploymentMonitorEvaluationService/GetDeploymentMonitorEvaluation" \
  -u "$USERNAME:$PASSWORD" \
  -H "Content-Type: application/json" \
  -d '{"name": "deployment-monitor-evaluations/eval-abc123"}'

Response

{
  "evaluation": {
    "name": "deployment-monitor-evaluations/eval-abc123",
    "createTime": "2025-03-01T10:05:00Z",
    "updateTime": "2025-03-01T10:35:00Z",
    "sessionName": "agents/deploy-monitor/sessions/sess-xyz789",
    "status": "DEPLOYMENT_MONITOR_EVALUATION_STATUS_COMPLETED",
    "githubRunId": "9876543210",
    "environment": "production",
    "repository": "acme-corp/backend",
    "headSha": "abc123def456",
    "baseSha": "789012ghi345",
    "prNumber": 42,
    "deploymentTime": "2025-03-01T10:00:00Z",
    "summary": "Deployment completed with no anomalies detected. All key metrics remained within expected ranges during the 30-minute monitoring window.",
    "overallStatus": "successful"
  }
}

ListDeploymentMonitorEvaluations

List deployment monitor evaluations with optional filtering and pagination.

POST /firetiger.deploy_monitor.v1.DeploymentMonitorEvaluationService/ListDeploymentMonitorEvaluations

Request body

Field Type Required Description
page_size integer No Maximum results per page
page_token string No Token for the next page of results
filter string No Filter expression
order_by string No Field to sort by (default: create_time desc)
show_deleted boolean No Include soft-deleted evaluations

Example

curl -X POST "https://api.ft-baseten-development.firetigerapi.com/firetiger.deploy_monitor.v1.DeploymentMonitorEvaluationService/ListDeploymentMonitorEvaluations" \
  -u "$USERNAME:$PASSWORD" \
  -H "Content-Type: application/json" \
  -d '{
    "filter": "environment = \"production\"",
    "order_by": "create_time desc",
    "page_size": 10
  }'

Response

{
  "evaluations": [
    {
      "name": "deployment-monitor-evaluations/eval-abc123",
      "createTime": "2025-03-01T10:05:00Z",
      "updateTime": "2025-03-01T10:35:00Z",
      "status": "DEPLOYMENT_MONITOR_EVALUATION_STATUS_COMPLETED",
      "environment": "production",
      "repository": "acme-corp/backend",
      "headSha": "abc123def456",
      "overallStatus": "successful"
    }
  ],
  "nextPageToken": ""
}

This site uses Just the Docs, a documentation theme for Jekyll.