---
updatedAt: 2026-08-26T10:06:08.000Z
agentTools:
  projectIndex: https://docs.allegrow.co/llms.txt
---

# List Connected Domains

Returns your workspace's sending domains with their member mailboxes and current reputation.

The list is the union of two sources: domains derived from your active connected mailboxes, and domains with reputation history. A domain whose mailboxes were all disconnected still appears (with `mailboxCount: 0`) while its history remains, and a freshly connected domain appears with `currentReputation: null` until data accrues.

`currentReputation` is the latest daily value within the window (the number the in-app domain view shows). Member mailboxes are summarised as `mailboxCount` — the full member list is on the domain detail endpoint. Results are sorted by `domain` ascending and paginate with `limit`/`offset`.


Returns your workspace's sending domains, each with its member mailboxes and current reputation.

The list is a **union** of two sources:

* domains derived from your active connected mailboxes, and
* domains that have reputation history.

So a domain whose mailboxes were all disconnected still appears with `mailboxCount: 0` while its history remains, and a freshly connected domain appears with `currentReputation: null` until data accrues.

`currentReputation` is the latest daily value within the window (`startDate`/`endDate`, default last 90 days) — the same statistic as the mailbox detail's `currentReputation`, not the leaderboard-style range average. Member mailboxes are summarised as `mailboxCount`; the full member list and the day-by-day series are on [Get Connected Domain](/reference/get-connected-domain).

# OpenAPI definition

```json
{
  "openapi": "3.0.3",
  "info": {
    "title": "Allegrow Workspace API",
    "description": "The Allegrow Workspace API provides read-only, programmatic access to your workspace's connected mailboxes, sender reputation, sending domains, Safety Net mailboxes, and users — the same data shown in the Allegrow app, ready to plug into your own dashboards and BI tooling.\n",
    "version": "1.0.0",
    "contact": {
      "name": "Allegrow Support",
      "email": "support@allegrow.co"
    }
  },
  "servers": [
    {
      "url": "https://api.allegrow.co",
      "description": "Production API"
    }
  ],
  "security": [
    {
      "ApiKeyAuth": []
    }
  ],
  "paths": {
    "/v1/connected-domains": {
      "get": {
        "summary": "List Connected Domains",
        "description": "Returns your workspace's sending domains with their member mailboxes and current reputation.\n\nThe list is the union of two sources: domains derived from your active connected mailboxes, and domains with reputation history. A domain whose mailboxes were all disconnected still appears (with `mailboxCount: 0`) while its history remains, and a freshly connected domain appears with `currentReputation: null` until data accrues.\n\n`currentReputation` is the latest daily value within the window (the number the in-app domain view shows). Member mailboxes are summarised as `mailboxCount` — the full member list is on the domain detail endpoint. Results are sorted by `domain` ascending and paginate with `limit`/`offset`.\n",
        "operationId": "listDomains",
        "tags": [
          "Connected Domains"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/StartDateParam"
          },
          {
            "$ref": "#/components/parameters/EndDateParam"
          },
          {
            "$ref": "#/components/parameters/LimitParam"
          },
          {
            "$ref": "#/components/parameters/OffsetParam"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated list of sending domains",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "domains",
                    "endDate",
                    "limit",
                    "offset",
                    "startDate",
                    "total"
                  ],
                  "properties": {
                    "domains": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Domain"
                      }
                    },
                    "endDate": {
                      "type": "string",
                      "format": "date",
                      "description": "Resolved end of the reporting window.",
                      "example": "2026-08-18"
                    },
                    "limit": {
                      "type": "integer",
                      "example": 50
                    },
                    "offset": {
                      "type": "integer",
                      "example": 0
                    },
                    "startDate": {
                      "type": "string",
                      "format": "date",
                      "description": "Resolved start of the reporting window.",
                      "example": "2026-05-21"
                    },
                    "total": {
                      "type": "integer",
                      "description": "Total number of domains across all pages.",
                      "example": 4
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid query parameter",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimpleError"
                },
                "example": {
                  "error": "startDate must be a valid YYYY-MM-DD date"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/MissingApiKeyError"
          },
          "403": {
            "$ref": "#/components/responses/InvalidApiKeyError"
          },
          "429": {
            "$ref": "#/components/responses/RateLimitError"
          },
          "503": {
            "description": "A dependent Allegrow service is temporarily unavailable. Retry after the number of seconds in the `Retry-After` header.",
            "headers": {
              "Retry-After": {
                "schema": {
                  "type": "integer"
                },
                "description": "Suggested seconds to wait before retrying."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimpleError"
                },
                "example": {
                  "error": "Service temporarily unavailable"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "x-api-key",
        "description": "Your Allegrow API key"
      }
    },
    "parameters": {
      "LimitParam": {
        "name": "limit",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 1,
          "maximum": 1000,
          "default": 50
        },
        "description": "Page size (1–1000). A single page can hold an entire workspace — for a full snapshot request limit=1000 rather than stitching offset pages, which are computed independently.",
        "example": 50
      },
      "OffsetParam": {
        "name": "offset",
        "in": "query",
        "required": false,
        "schema": {
          "type": "integer",
          "minimum": 0,
          "default": 0
        },
        "description": "Zero-based index of the first entry to return.",
        "example": 0
      },
      "StartDateParam": {
        "name": "startDate",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "format": "date"
        },
        "description": "Start of the reporting window (YYYY-MM-DD, inclusive). Defaults to 89 days before today, giving a 90-day window including today.",
        "example": "2026-05-21"
      },
      "EndDateParam": {
        "name": "endDate",
        "in": "query",
        "required": false,
        "schema": {
          "type": "string",
          "format": "date"
        },
        "description": "End of the reporting window (YYYY-MM-DD, inclusive). Defaults to today.",
        "example": "2026-08-18"
      }
    },
    "responses": {
      "MissingApiKeyError": {
        "description": "Unauthorized - API key missing from the request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            },
            "example": {
              "error": "Unauthorized",
              "message": "Unauthorized",
              "statusCode": 401
            }
          }
        }
      },
      "InvalidApiKeyError": {
        "description": "Forbidden - API key invalid or inactive",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            },
            "example": {
              "error": "Forbidden",
              "message": "Forbidden",
              "statusCode": 403
            }
          }
        }
      },
      "RateLimitError": {
        "description": "Rate limit exceeded. Requests count against the same per-second rate limit as validation API calls.",
        "headers": {
          "Retry-After": {
            "description": "Suggested seconds to wait before retrying",
            "schema": {
              "type": "integer"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            },
            "example": {
              "error": "Too Many Requests",
              "message": "Too Many Requests",
              "statusCode": 429
            }
          }
        }
      }
    },
    "schemas": {
      "Domain": {
        "type": "object",
        "required": [
          "currentReputation",
          "domain",
          "mailboxCount"
        ],
        "properties": {
          "currentReputation": {
            "type": "number",
            "nullable": true,
            "description": "Latest daily reputation (0–100) within the window. `null` when no reputation data exists yet.",
            "example": 95.1
          },
          "domain": {
            "type": "string",
            "example": "allegrow.co"
          },
          "mailboxCount": {
            "type": "integer",
            "description": "Number of active connected mailboxes on this domain. `0` when the domain only has historical reputation data. The member list is on the domain detail endpoint.",
            "example": 12
          }
        }
      },
      "Error": {
        "type": "object",
        "required": [
          "message",
          "error",
          "statusCode"
        ],
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message"
          },
          "error": {
            "type": "string",
            "description": "Error type"
          },
          "statusCode": {
            "type": "integer",
            "description": "HTTP status code"
          }
        }
      },
      "SimpleError": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "string",
            "description": "Error message"
          }
        }
      }
    }
  }
}
```