---
title: "GET /api/v1/organizations/{organization_id}/pages/nodes"
method: GET
path: "/api/v1/organizations/{organization_id}/pages/nodes"
tags: ["organizations"]
---

# GET /api/v1/organizations/{organization_id}/pages/nodes

`GET /api/v1/organizations/{organization_id}/pages/nodes`

## Request

- Base URL: `https://composal.com` (the document declares no server; this is the origin it was published from)
- URL: `https://composal.com/api/v1/organizations/{organization_id}/pages/nodes`
- Auth: HTTP bearer

## Path parameters

- `organization_id` string, required

## Response `200`

Organization nodes page contract

- object
  - `organization` OrganizationSummary, required
    - `id` string, required
    - `slug` string, required
    - `name` string, required
    - `timezone` string, required: Default IANA timezone for organization-local schedules such as nightly dreaming.
    - `logo_url` string, nullable, required
    - `role` string, nullable, required
    - `personal` boolean, required
    - `member_count` integer, required
    - `pending_invitation_count` integer, required
    - `repository_count` integer, required
    - `source_ui_enabled` boolean: Organization-scoped Source workspace rollout; missing values mean disabled.
    - `source_control_providers` string[]: Connected source control providers for this organization. Missing values mean no providers are known.
    - `activated_products` string[], required: Products this organization has activated (PRD 144). Activation is what makes a product's surfaces visible; it is neither permission nor entitlement.
    - `can_activate_products` boolean, required: Whether the current user may activate a product for this organization: the organization-admin rule the activation endpoint enforces.
    - `sandbox_region` 'us-was-1' | 'us-pdx-1' | 'eu-lon-1' | 'eu-fra-1' | 'auto', required
    - `github_prs_authored_by_change_author` boolean, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `created_at_label` string, nullable, required
    - `updated_at_label` string, nullable, required
  - `github_runner_egress` GithubRunnerEgress, required
    - `status` 'not_requested' | 'pending' | 'active' | 'unavailable', required
    - `ipv4` string, nullable, required
    - `cidr` string, nullable, required
    - `requested_at_label` string, nullable, required
    - `can_request` boolean, required
  - `github_runner_private_links` GithubRunnerPrivateLink[]
    - `name` string, required
    - `region` string, required
    - `endpoint_id` string, required
    - `service_name` string, required
    - `hostname` string, required
    - `ports` integer[], required
    - `setup_status` 'pending_allowlist' | 'pending_validation' | 'enabled', required
  - `github_runner_pools` GithubRunnerPool[], required
    - `id` string, required
    - `organization_id` string, required
    - `github_app_installation_id` string, required
    - `github_repository_id` string, required
    - `repository_full_name` string, required
    - `label` string, required
    - `enabled` boolean, required
    - `max_concurrency` integer, required
    - `timeout_seconds` integer, required
    - `provider` 'modal' | 'boxmad', required
    - `runtime_kind` 'vm' | 'sandbox', required
    - `github_runner_image` GithubRunnerImage, required
      - `id` string, required
      - `name` string, required
      - `image_reference` string, required: Immutable linux/amd64 Ubuntu 24.04 image, registry/repository@sha256:digest, with Node 22+
      - `registry_secret_name` string, nullable, required: Name of an organization CI secret containing REGISTRY_USERNAME and REGISTRY_PASSWORD JSON fields
      - `status` 'pending' | 'building' | 'ready' | 'failed', required
      - `modal_image_id` string, nullable, required
      - `last_error` string, nullable, required
      - `created_at` string, required
      - `updated_at` string, required
    - `cpu_millicores` integer, required
    - `memory_mb` integer, required
    - `last_error` string, nullable, required
    - `last_polled_at` string, nullable, required
    - `invocations` GithubRunnerInvocation[], required
      - `id` string, required
      - `github_job_id` integer, required
      - `github_run_id` integer, required
      - `assigned_job_id` integer, nullable, required
      - `assigned_run_id` integer, nullable, required
      - `status` string, required
      - `conclusion` string, nullable, required
      - `github_runner_id` integer, nullable, required
      - `provider` 'modal' | 'boxmad', required
      - `sandbox_id` string, nullable, required
      - `modal_sandbox_id` string, nullable, required
      - `image_version` string, nullable, required
      - `job_url` string, nullable, required
      - `attempts` integer, required
      - `last_error` string, nullable, required
      - `spawned_at` string, nullable, required
      - `finished_at` string, nullable, required
      - `cleaned_up_at` string, nullable, required
      - `created_at` string, required
  - `github_installations` GithubAppInstallation[], required
    - `id` string, required
    - `organization_id` string, required
    - `installation_id` string, required
    - `account_login` string, required
    - `account_id` string, nullable, required
    - `account_avatar_url` string, uri, nullable, required
    - `manage_access_url` string, uri, required
    - `status` 'active' | 'suspended', required
    - `permissions` object, required
    - `permission_entries` object[], required: GitHub's permission hash as a display-ready list, sorted by name.
      - `key` string, required
      - `name` string, required
      - `access` string, required
    - `installed_at` string, date-time, nullable, required
    - `installed_at_label` string, nullable, required
    - `suspended_at` string, date-time, nullable, required
    - `suspended_at_label` string, nullable, required
    - `created_at` string, date-time, required
    - `created_at_label` string, nullable, required
    - `updated_at` string, date-time, required
    - `updated_at_label` string, nullable, required
  - `pool_catalogs` object[], required
    - `pool` CiRunnerPoolCatalog, required
      - `id` string, required
      - `organization_id` string, required
      - `network_space_id` string, nullable, required
      - `slug` string, required
      - `name` string, required
      - `status` string, required
      - `runner_kind` string, required
      - `isolation_mode` string, required
      - `description` string, nullable, required
      - `max_concurrency` integer, required
      - `labels_csv` string, nullable, required
      - `node_capabilities_csv` string, nullable, required
      - `elastic_provider_kind` string, nullable, required
      - `elastic_config_json` string, nullable, required
      - `bazel_enabled` boolean, required
      - `bazel_properties_json` string, nullable, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `runners` object[], required
        - `id` string, required
        - `organization_id` string, required
        - `ci_runner_pool_id` string, required
        - `network_peer_id` string, nullable, required
        - `slug` string, required
        - `name` string, required
        - `status` string, required
        - `kind` string, required
        - `os` string, nullable, required
        - `architecture` string, nullable, required
        - `version` string, nullable, required
        - `labels_csv` string, nullable, required
        - `node_capabilities_csv` string, nullable, required
        - `node_certificate_fingerprint_sha256` string, nullable, required
        - `node_certificate_serial` string, nullable, required
        - `node_certificate_expires_at` string, date-time, nullable, required
        - `bazel_enabled` boolean, required
        - `bazel_properties_json` string, nullable, required
        - `last_seen_at` string, date-time, nullable, required
        - `online_at` string, date-time, nullable, required
        - `offline_at` string, date-time, nullable, required
        - `cordoned_at` string, date-time, nullable, required
        - `revoked_at` string, date-time, nullable, required
        - `health_state` string, required
        - `schedulable` boolean, required
        - `heartbeat_age_seconds` integer, nullable, required
        - `created_at` string, date-time, required
        - `updated_at` string, date-time, required
        - `node_certificate_expires_at_label` string, nullable, required
        - `last_seen_at_label` string, nullable, required
        - `online_at_label` string, nullable, required
        - `offline_at_label` string, nullable, required
        - `cordoned_at_label` string, nullable, required
        - `revoked_at_label` string, nullable, required
        - `created_at_label` string, nullable, required
        - `updated_at_label` string, nullable, required
      - `runner_count_label` string, required
      - `modal_capacity` object, required
        - `queued_jobs` integer, required
        - `active_or_pending_leases` integer, required
        - `inflight_modal_invocations` integer, required
        - `failed_modal_invocations` integer, required
        - `deficit` integer, required
      - `modal_runner_invocations` object[], required
        - `id` string, required
        - `organization_id` string, required
        - `ci_runner_pool_id` string, required
        - `ci_runner_id` string, nullable, required
        - `ci_runner_lease_id` string, nullable, required
        - `ci_pipeline_run_id` string, nullable, required
        - `ci_job_id` string, nullable, required
        - `status` string, required
        - `modal_app_name` string, required
        - `modal_function_name` string, required
        - `modal_environment_name` string, nullable, required
        - `modal_call_id` string, nullable, required
        - `modal_sandbox_id` string, nullable, required
        - `runtime_kind` 'modal_function' | 'modal_vm_sandbox', required
        - `image_version` string, required
        - `failure_kind` 'provider' | 'bootstrap' | 'job' | 'transport', nullable, required
        - `runner_slug` string, required
        - `resource_class` string, required
        - `cpu_millicores` integer, required
        - `memory_mb` integer, required
        - `ephemeral_disk_mb` integer, required
        - `retry_count` integer, required
        - `last_error` string, nullable, required
        - `spawned_at` string, date-time, nullable, required
        - `claimed_at` string, date-time, nullable, required
        - `finished_at` string, date-time, nullable, required
        - `created_at` string, date-time, required
        - `updated_at` string, date-time, required
        - `spawned_at_label` string, nullable, required
        - `claimed_at_label` string, nullable, required
        - `finished_at_label` string, nullable, required
        - `created_at_label` string, nullable, required
        - `updated_at_label` string, nullable, required
    - `enrollment_tokens` CiNodeEnrollmentToken[], required
      - `id` string, required
      - `organization_id` string, required
      - `ci_runner_pool_id` string, required
      - `creator_user_id` string, nullable, required
      - `name` string, required
      - `description` string, nullable, required
      - `status` string, required
      - `kind` string, required
      - `capabilities_csv` string, nullable, required
      - `token_hint` string, required
      - `usage_count` integer, required
      - `expires_at` string, date-time, nullable, required
      - `last_used_at` string, date-time, nullable, required
      - `revoked_at` string, date-time, nullable, required
      - `raw_token` string, nullable, required
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
      - `expires_at_label` string, nullable, required
      - `last_used_at_label` string, nullable, required
      - `created_at_label` string, nullable, required
      - `updated_at_label` string, nullable, required
      - `usage_count_label` string, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `422`: Unprocessable entity
- `502`: Bad gateway

---

[API](https://skmtc.dev/composal/apis/vex-api.md) - [All operations](https://skmtc.dev/composal/apis/vex-api/llms.txt) - [OpenAPI document](https://skmtc.dev/composal/apis/vex-api/revisions/74298a24e040?raw)
