pydo.apps.list_deployments()

Generated on 4 Jun 2026 from pydo version v0.35.0

Usage

client.apps.list_deployments(
    app_id="4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf",
    page=1,
    per_page=20,
    deployment_types=None,
)
Returns JSONRaises HttpResponseError

Description

List all deployments of an app.

Parameters

app_id string required

The app ID

page integer optional

Which 'page' of paginated results to return.

Min: 1

Default: 1

per_page integer optional

Number of items returned per page

Min: 1

Max: 200

Default: 20

deployment_types array of strings optional

Optional. Filter deployments by deployment_type
- MANUAL: manual deployment
- DEPLOY_ON_PUSH: deployment triggered by a push to the app's repository
- MAINTENANCE: deployment for maintenance purposes
- MANUAL_ROLLBACK: manual revert to a previous deployment
- AUTO_ROLLBACK: automatic revert to a previous deployment
- UPDATE_DATABASE_TRUSTED_SOURCES: update database trusted sources
- AUTOSCALED: deployment that has been autoscaled

Request Sample

Show Request Sample
import os
from pydo import Client

client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN"))

get_resp = client.apps.list_deployments(app_id="4f6c71e2")

Pagination

This method returns paginated results. The response includes a links.pages object with URLs for navigating between pages. To retrieve the next page, parse the next URL and pass the page parameter:

from urllib.parse import urlparse, parse_qs

resp = client.apps.list_deployments(app_id="4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf", )
pages = resp.get("links", {}).get("pages", {})

while "next" in pages:
    parsed = urlparse(pages["next"])
    page = int(parse_qs(parsed.query)["page"][0])
    resp = client.apps.list_deployments(app_id="4f6c71e2-1e90-4762-9fee-6cc4a0a9f2cf", page=page)
    pages = resp.get("links", {}).get("pages", {})

Response Example

Show Response Example
{
  "deployments": [
    {
      "id": "b6bdf840-2854-4f87-a36c-5f231c617c84",
      "spec": {
        "name": "sample-golang",
        "disable_edge_cache": true,
        "disable_email_obfuscation": true,
        "enhanced_threat_control_enabled": true,
        "services": [
          {
            "name": "web",
            "github": {
              "repo": "digitalocean/sample-golang",
              "branch": "branch"
            },
            "run_command": "bin/sample-golang",
            "environment_slug": "go",
            "instance_size_slug": "apps-s-1vcpu-0.5gb",
            "instance_count": 2,
            "routes": [
              {
                "path": "/"
              }
            ]
          }
        ],
        "region": "ams"
      },
      "services": [
        {
          "name": "web",
          "source_commit_hash": "9a4df0b8e161e323bc3cdf1dc71878080fe144fa"
        }
      ],
      "phase_last_updated_at": "0001-01-01T00:00:00Z",
      "created_at": "2020-07-28T18:00:00Z",
      "updated_at": "2020-07-28T18:00:00Z",
      "cause": "commit 9a4df0b pushed to github/digitalocean/sample-golang",
      "progress": {
        "pending_steps": 6,
        "total_steps": 6,
        "steps": [
          {
            "name": "build",
            "status": "PENDING",
            "steps": [
              {
                "name": "initialize",
                "status": "PENDING"
              },
              {
                "name": "components",
                "status": "PENDING",
                "steps": [
                  {
                    "name": "web",
                    "status": "PENDING",
                    "component_name": "web",
                    "message_base": "Building service"
                  }
                ]
              }
            ]
          },
          {
            "name": "deploy",
            "status": "PENDING",
            "steps": [
              {
                "name": "initialize",
                "status": "PENDING"
              },
              {
                "name": "components",
                "status": "PENDING",
                "steps": [
                  {
                    "name": "web",
                    "status": "PENDING",
                    "steps": [
                      {
                        "name": "deploy",
                        "status": "PENDING",
                        "component_name": "web",
                        "message_base": "Deploying service"
                      },
                      {
                        "name": "wait",
                        "status": "PENDING",
                        "component_name": "web",
                        "message_base": "Waiting for service"
                      }
                    ],
                    "component_name": "web"
                  }
                ]
              },
              {
                "name": "finalize",
                "status": "PENDING"
              }
            ]
          }
        ]
      },
      "phase": "PENDING_BUILD",
      "tier_slug": "basic"
    }
  ],
  "links": {
    "pages": {}
  },
  "meta": {
    "total": 1
  }
}

More Information

See /v2/apps/{app_id}/deployments in the API reference for additional detail on responses, headers, parameters, and more.

We can't find any results for your search.

Try using different keywords or simplifying your search terms.