---
title: "Connecticut Principals Search"
method: POST
path: "/us/ct-sos/principals-search/v1"
tags: ["United States", "Connecticut Secretary of the State"]
---

# Connecticut Principals Search

`POST /us/ct-sos/principals-search/v1`

## Request

- Base URL: `https://api.croma.run`
- URL: `https://api.croma.run/us/ct-sos/principals-search/v1`
- Auth: HTTP bearer

Search the principals (officers, directors, members, managers) every Connecticut business reports by the person's name, to find every business a person is part of, with each business's name and status. By name, pages of up to 50. Served by Croma, brought up to date weekly.

**Dataset endpoint**: answers from the whole source in milliseconds and carries `as_of`.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `query` string: Palabras a buscar en los nombres (opcional).
  - `page` integer: 1-based page number for paginated results.
  - `per_page` integer: Resultados por página (1-50).

## Response `200`

Successful response

- CtPrincipalsSearchResponse
  - `data` CtPrincipalsSearchData, required
    - `as_of` string, nullable, required: How current the data in this response is.
    - `query` string, required
    - `total` number, required: Matches, counted up to 1000.
    - `total_is_exact` boolean, required: False when more than 1000 match: `total` is then 1000, and the pages go on.
    - `page` number, required
    - `per_page` number, required
    - `total_pages` number, required: Pages over `total`; there are more when `total_is_exact` is false.
    - `count` number, required
    - `principals` object[], required
      - `id` string, required: The business record's id and a code for the principal's row. The key.
      - `business_id` string, nullable, required: The id of the business record the principal belongs to; null on the few rows the register publishes without one.
      - `name` string, nullable, required: The principal's name as the register writes it.
      - `first_name` string, nullable, required
      - `middle_name` string, nullable, required
      - `last_name` string, nullable, required
      - `suffix` string, nullable, required
      - `designation` string, nullable, required: e.g. `Officer`, `Director`, or both; often empty.
      - `type` string, nullable, required
      - `business_address` object, nullable, required
        - `line_1` string, nullable, required
        - `line_2` string, nullable, required
        - `line_3` string, nullable, required
        - `city` string, nullable, required
        - `state` string, nullable, required
        - `zip` string, nullable, required
        - `country` string, nullable, required
        - `international` string, nullable, required
      - `business_name` string, nullable, required
      - `business_status` string, nullable, required

## Other responses

- `400`: Invalid request body
- `401`: Missing or invalid API key
- `429`: Rate limit exceeded
- `500`: Internal error
- `502`: Upstream source returned an error

---

[API](https://skmtc.dev/usecroma/apis/croma-marketplace-api.md) · [All operations](https://skmtc.dev/usecroma/apis/croma-marketplace-api/llms.txt) · [OpenAPI document](https://skmtc.dev/usecroma/apis/croma-marketplace-api/revisions/df016cdb29d7?raw)
