> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corsair.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Findymail API reference

> API reference for the Findymail plugin in Corsair: every `findymail.api.*` operation with its input and output types, taken from the plugin's Zod schemas.

> [!NOTE]
>
> **New to Corsair?** See [API access](https://docs.corsair.dev/concepts/api.md), [authentication](https://docs.corsair.dev/concepts/auth.md), and [error handling](https://docs.corsair.dev/concepts/error-handling).

## Contacts

### list

`contacts.list`

Get contacts saved

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.contacts.list({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `draw` | `number` | Yes | — |
| `recordsTotal` | `number` | Yes | — |
| `recordsFiltered` | `number` | Yes | — |
| `data` | `object[]` | Yes | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   id?: number | null,
>   name?: string | null,
>   email?: string | null,
>   linkedin_url?: string | null,
>   company?: string | null,
>   job_title?: string | null
> }[]
> ```

***

## Excluded Domains

### add

`excludedDomains.add`

Add excluded domains

**Risk:** `write`

```ts theme={null}
await corsair.findymail.api.excludedDomains.add({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `domains` | `string[]` | Yes | — |
| `list_id` | `number` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `success` | `boolean \| null` | No | — |
| `total` | `number \| null` | No | — |
| `processed_immediately` | `number \| null` | No | — |
| `queued` | `number \| null` | No | — |
| `list_id` | `number \| null` | No | — |

***

### list

`excludedDomains.list`

Get excluded domains

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.excludedDomains.list({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `string` | No | — |
| `list_id` | `number` | No | — |
| `per_page` | `number` | No | — |
| `page` | `number` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `data` | `object[] \| null` | No | — |
| `current_page` | `number \| null` | No | — |
| `per_page` | `number \| null` | No | — |
| `total` | `number \| null` | No | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   id?: number | null,
>   domain?: string | null,
>   excluded_domain_list_id?: number | null
> }[] | null
> ```

***

### remove

`excludedDomains.remove`

Remove excluded domains

**Risk:** `destructive`

```ts theme={null}
await corsair.findymail.api.excludedDomains.remove({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `ids` | `number[]` | Yes | — |

**Output:** `object`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   success?: boolean | null,
>   deleted_count?: number | null
> } | {
>   success?: boolean | null,
>   deleted_count?: number | null
> }
> ```

***

## Exclusion Lists

### create

`exclusionLists.create`

Create a new exclusion list

**Risk:** `write`

```ts theme={null}
await corsair.findymail.api.exclusionLists.create({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `name` | `string` | Yes | — |
| `is_shared` | `boolean` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number \| null` | No | — |
| `name` | `string \| null` | No | — |
| `is_shared` | `boolean \| null` | No | — |
| `is_owner` | `boolean \| null` | No | — |

***

### delete

`exclusionLists.delete`

Delete an exclusion list

**Risk:** `destructive`

```ts theme={null}
await corsair.findymail.api.exclusionLists.delete({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `excludedDomainList_id` | `number` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `success` | `boolean \| null` | No | — |

***

### get

`exclusionLists.get`

Get exclusion list details

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.exclusionLists.get({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `excludedDomainList_id` | `number` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number \| null` | No | — |
| `name` | `string \| null` | No | — |
| `is_shared` | `boolean \| null` | No | — |
| `is_owner` | `boolean \| null` | No | — |
| `user_id` | `number \| null` | No | — |
| `owner_name` | `string \| null` | No | — |

***

### list

`exclusionLists.list`

Get all exclusion lists

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.exclusionLists.list({});
```

**Input:** *empty object*

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `lists` | `object[] \| null` | No | — |

> [accordion] lists full type
>
> ```ts theme={null}
> {
>   id?: number | null,
>   name?: string | null,
>   is_shared?: boolean | null,
>   is_owner?: boolean | null,
>   user_id?: number | null,
>   owner_name?: string | null
> }[] | null
> ```

***

### update

`exclusionLists.update`

Update an exclusion list

**Risk:** `write`

```ts theme={null}
await corsair.findymail.api.exclusionLists.update({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `excludedDomainList_id` | `number` | Yes | — |
| `name` | `string` | Yes | — |
| `is_shared` | `boolean` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `success` | `boolean \| null` | No | — |
| `list` | `object \| null` | No | — |

> [accordion] list full type
>
> ```ts theme={null}
> {
>   id?: number | null,
>   name?: string | null,
>   is_shared?: boolean | null,
>   is_owner?: boolean | null
> } | null
> ```

***

## Intellimatch

### lookalikes

`intellimatch.lookalikes`

Search lookalike companies

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.intellimatch.lookalikes({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `seed` | `string` | Yes | — |
| `same_country` | `boolean` | No | — |
| `same_size` | `boolean` | No | — |
| `limit` | `number` | No | — |
| `exclusion_list_ids` | `number[]` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `companies` | `object[] \| null` | No | — |
| `total` | `number \| null` | No | — |
| `credits_used` | `number \| null` | No | — |
| `message` | `string \| null` | No | — |

> [accordion] companies full type
>
> ```ts theme={null}
> {
>   domain?: string | null,
>   name?: string | null,
>   linkedin_url?: string | null,
>   company_size?: string | null,
>   country?: string | null
> }[] | null
> ```

***

### results

`intellimatch.results`

Get results

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.intellimatch.results({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `hash` | `string` | Yes | — |
| `page` | `number` | No | — |
| `per_page` | `number` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `data` | `object[] \| null` | No | — |
| `meta` | `object \| null` | No | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   id?: number | null,
>   name?: string | null,
>   domain?: string | null,
>   description?: string | null,
>   employee_count_range?: string | null,
>   industries?: string[] | null,
>   country?: string | null,
>   match_score?: number | null,
>   contact_name?: string | null,
>   contact_email?: string | null,
>   contact_job_title?: string | null,
>   contact_phone?: string | null,
>   contact_linkedin_url?: string | null
> }[] | null
> ```

> [accordion] meta full type
>
> ```ts theme={null}
> {
>   current_page?: number | null,
>   per_page?: number | null,
>   total?: number | null,
>   last_page?: number | null,
>   from?: number | null,
>   to?: number | null
> } | null
> ```

***

### search

`intellimatch.search`

Search leads

**Risk:** `destructive`

```ts theme={null}
await corsair.findymail.api.intellimatch.search({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `query` | `string` | Yes | — |
| `limit` | `number` | No | — |
| `config` | `object` | No | — |

> [accordion] config full type
>
> ```ts theme={null}
> {
>   find_contact?: boolean,
>   find_email?: boolean,
>   find_phone?: boolean,
>   target_job_titles?: string[] | string[][],
>   lead_list_id?: number,
>   mode?: string,
>   require_email?: boolean,
>   add_to_exclusion_list?: boolean,
>   exclusion_list_id?: number,
>   exclusion_filter_list_ids?: number[]
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `hash` | `string \| null` | No | — |

***

### status

`intellimatch.status`

Get export status

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.intellimatch.status({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `hash` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `status` | `string \| null` | No | — |
| `progress` | `number \| null` | No | — |
| `total_jobs` | `number \| null` | No | — |
| `processed_jobs` | `number \| null` | No | — |
| `pending_jobs` | `number \| null` | No | — |
| `failed_jobs` | `number \| null` | No | — |

***

## Lists

### create

`lists.create`

Create a new list

**Risk:** `write`

```ts theme={null}
await corsair.findymail.api.lists.create({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `name` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `list` | `object \| null` | No | — |

> [accordion] list full type
>
> ```ts theme={null}
> {
>   id?: number | null,
>   name?: string | null,
>   created_at?: string | null,
>   updated_at?: string | null,
>   shared_with_team?: boolean | null,
>   is_owner?: boolean | null
> } | null
> ```

***

### delete

`lists.delete`

Delete a given list

**Risk:** `destructive`

```ts theme={null}
await corsair.findymail.api.lists.delete({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number` | Yes | — |

**Output:** *empty object*

***

### list

`lists.list`

Get the list of contact lists

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.lists.list({});
```

**Input:** *empty object*

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `lists` | `object[] \| null` | No | — |

> [accordion] lists full type
>
> ```ts theme={null}
> {
>   id?: number | null,
>   name?: string | null,
>   created_at?: string | null,
>   updated_at?: string | null,
>   shared_with_team?: boolean | null,
>   is_owner?: boolean | null
> }[] | null
> ```

***

### replace

`lists.replace`

Update a contact list

**Risk:** `write`

```ts theme={null}
await corsair.findymail.api.lists.replace({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number` | Yes | — |
| `name` | `string` | Yes | — |
| `isShared` | `boolean` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number \| null` | No | — |
| `name` | `string \| null` | No | — |
| `created_at` | `string \| null` | No | — |
| `updated_at` | `string \| null` | No | — |
| `shared_with_team` | `boolean \| null` | No | — |
| `is_owner` | `boolean \| null` | No | — |

***

### update

`lists.update`

Update a contact list (PATCH)

**Risk:** `write`

```ts theme={null}
await corsair.findymail.api.lists.update({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number` | Yes | — |
| `name` | `string` | Yes | — |
| `isShared` | `boolean` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number \| null` | No | — |
| `name` | `string \| null` | No | — |
| `created_at` | `string \| null` | No | — |
| `updated_at` | `string \| null` | No | — |
| `shared_with_team` | `boolean \| null` | No | — |
| `is_owner` | `boolean \| null` | No | — |

***

## Monitors

### create

`monitors.create`

Create a monitor

**Risk:** `destructive`

```ts theme={null}
await corsair.findymail.api.monitors.create({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `name` | `string` | Yes | — |
| `signal_type` | `string` | Yes | — |
| `keywords` | `string[]` | No | — |
| `webhook_url` | `string` | No | — |
| `post_url` | `string` | No | — |
| `profile_url` | `string` | No | — |
| `engagement_types` | `string[]` | No | — |
| `enrichment_level` | `string` | No | — |
| `lead_list_id` | `number` | No | — |
| `ai_relevance_prompt` | `string` | No | — |
| `max_matches` | `number \| null` | No | — |
| `target_companies` | `string[]` | No | — |
| `is_shared` | `boolean` | No | — |
| `icp_filters` | `object` | No | — |
| `job_offer_title_keywords` | `string[]` | No | — |

> [accordion] icp\_filters full type
>
> ```ts theme={null}
> {
>   industries?: string[],
>   employee_count_ranges?: string[],
>   countries?: string[],
>   job_title_keywords?: string[],
>   seniority_levels?: number[]
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number \| null` | No | — |
| `name` | `string \| null` | No | — |
| `signal_type` | `string \| null` | No | — |
| `signal_type_label` | `string \| null` | No | — |
| `signal_level` | `string \| null` | No | — |
| `status` | `string \| null` | No | — |
| `keywords` | `string[] \| null` | No | — |
| `icp_filters` | `object \| string \| null` | No | — |
| `webhook_url` | `string \| null` | No | — |
| `webhook_paused_at` | `string \| null` | No | — |
| `post_url` | `string \| null` | No | — |
| `profile_url` | `string \| null` | No | — |
| `engagement_types` | `string[] \| string \| null` | No | — |
| `enrichment_level` | `string \| null` | No | — |
| `lead_list_id` | `number \| string \| null` | No | — |
| `ai_relevance_prompt` | `string \| null` | No | — |
| `target_companies` | `string[] \| string \| null` | No | — |
| `max_matches` | `number \| null` | No | — |
| `match_count` | `number \| null` | No | — |
| `is_shared` | `boolean \| null` | No | — |
| `is_owner` | `boolean \| null` | No | — |
| `is_team_owner` | `boolean \| null` | No | — |
| `uses_current_users_monitor_cap` | `boolean \| null` | No | — |
| `user_id` | `number \| null` | No | — |
| `owner_name` | `string \| null` | No | — |
| `created_at` | `string \| null` | No | — |

> [accordion] icp\_filters full type
>
> ```ts theme={null}
> {
>   industries?: string[] | null,
>   employee_count_ranges?: string[] | null,
>   countries?: string[] | null,
>   job_title_keywords?: string[] | null,
>   seniority_levels?: number[] | null
> } | string | null
> ```

***

### delete

`monitors.delete`

Delete a monitor

**Risk:** `destructive`

```ts theme={null}
await corsair.findymail.api.monitors.delete({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number` | Yes | — |

**Output:** `void`

***

### list

`monitors.list`

List monitors

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.monitors.list({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `ownership` | `string` | No | — |

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   id?: number | null,
>   name?: string | null,
>   signal_type?: string | null,
>   signal_type_label?: string | null,
>   signal_level?: string | null,
>   status?: string | null,
>   keywords?: string[] | null,
>   icp_filters?: {
>     industries?: string[] | null,
>     employee_count_ranges?: string[] | null,
>     countries?: string[] | null,
>     job_title_keywords?: string[] | null,
>     seniority_levels?: number[] | null
>   } | string | null,
>   webhook_url?: string | null,
>   webhook_paused_at?: string | null,
>   post_url?: string | null,
>   profile_url?: string | null,
>   engagement_types?: string[] | string | null,
>   enrichment_level?: string | null,
>   lead_list_id?: number | string | null,
>   ai_relevance_prompt?: string | null,
>   target_companies?: string[] | string | null,
>   max_matches?: number | null,
>   match_count?: number | null,
>   is_shared?: boolean | null,
>   is_owner?: boolean | null,
>   is_team_owner?: boolean | null,
>   uses_current_users_monitor_cap?: boolean | null,
>   user_id?: number | null,
>   owner_name?: string | null,
>   created_at?: string | null
> }[]
> ```

***

### update

`monitors.update`

Update a monitor

**Risk:** `write`

```ts theme={null}
await corsair.findymail.api.monitors.update({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number` | Yes | — |
| `name` | `string` | Yes | — |
| `keywords` | `string[]` | No | — |
| `webhook_url` | `string` | No | — |
| `engagement_types` | `string[]` | No | — |
| `enrichment_level` | `string` | No | — |
| `lead_list_id` | `number` | No | — |
| `ai_relevance_prompt` | `string` | No | — |
| `max_matches` | `number \| null` | No | — |
| `target_companies` | `string[]` | No | — |
| `is_shared` | `boolean` | No | — |
| `icp_filters` | `object` | No | — |
| `job_offer_title_keywords` | `string[]` | No | — |

> [accordion] icp\_filters full type
>
> ```ts theme={null}
> {
>   industries?: string[],
>   employee_count_ranges?: string[],
>   countries?: string[],
>   job_title_keywords?: string[],
>   seniority_levels?: number[]
> }
> ```

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number \| null` | No | — |
| `name` | `string \| null` | No | — |
| `signal_type` | `string \| null` | No | — |
| `signal_type_label` | `string \| null` | No | — |
| `signal_level` | `string \| null` | No | — |
| `status` | `string \| null` | No | — |
| `keywords` | `string[] \| null` | No | — |
| `icp_filters` | `object \| string \| null` | No | — |
| `webhook_url` | `string \| null` | No | — |
| `webhook_paused_at` | `string \| null` | No | — |
| `post_url` | `string \| null` | No | — |
| `profile_url` | `string \| null` | No | — |
| `engagement_types` | `string[] \| string \| null` | No | — |
| `enrichment_level` | `string \| null` | No | — |
| `lead_list_id` | `number \| string \| null` | No | — |
| `ai_relevance_prompt` | `string \| null` | No | — |
| `target_companies` | `string[] \| string \| null` | No | — |
| `max_matches` | `number \| null` | No | — |
| `match_count` | `number \| null` | No | — |
| `is_shared` | `boolean \| null` | No | — |
| `is_owner` | `boolean \| null` | No | — |
| `is_team_owner` | `boolean \| null` | No | — |
| `user_id` | `number \| null` | No | — |
| `owner_name` | `string \| null` | No | — |
| `created_at` | `string \| null` | No | — |

> [accordion] icp\_filters full type
>
> ```ts theme={null}
> {
>   industries?: string[] | null,
>   employee_count_ranges?: string[] | null,
>   countries?: string[] | null,
>   job_title_keywords?: string[] | null,
>   seniority_levels?: number[] | null
> } | string | null
> ```

***

## Search

### businessProfile

`search.businessProfile`

Find from business profile

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.search.businessProfile({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `linkedin_url` | `string` | Yes | — |
| `webhook_url` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `contact` | `object \| null` | No | — |
| `payload` | `object \| null` | No | — |

> [accordion] contact full type
>
> ```ts theme={null}
> {
>   name?: string | null,
>   domain?: string | null,
>   email?: string | null
> } | null
> ```

> [accordion] payload full type
>
> ```ts theme={null}
> {
>   contact?: {
>     name?: string | null,
>     domain?: string | null,
>     email?: string | null
>   } | null
> } | null
> ```

***

### company

`search.company`

Get company information

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.search.company({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `linkedin_url` | `string` | No | — |
| `domain` | `string` | No | — |
| `name` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `name` | `string \| null` | No | — |
| `domain` | `string \| null` | No | — |
| `company_size` | `string \| null` | No | — |
| `industry` | `string \| null` | No | — |
| `linkedin_url` | `string \| null` | No | — |
| `description` | `string \| null` | No | — |

***

### employees

`search.employees`

Find employees

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.search.employees({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `website` | `string` | Yes | — |
| `job_titles` | `string[]` | Yes | — |
| `count` | `number` | No | — |

**Output:** `object[]`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   name?: string | null,
>   linkedinUrl?: string | null,
>   companyWebsite?: string | null,
>   companyName?: string | null,
>   jobTitle?: string | null
> }[]
> ```

***

### name

`search.name`

Find from name

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.search.name({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `name` | `string` | Yes | — |
| `domain` | `string` | Yes | — |
| `webhook_url` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `contact` | `object \| null` | No | — |
| `payload` | `object \| null` | No | — |

> [accordion] contact full type
>
> ```ts theme={null}
> {
>   name?: string | null,
>   domain?: string | null,
>   email?: string | null
> } | null
> ```

> [accordion] payload full type
>
> ```ts theme={null}
> {
>   contact?: {
>     name?: string | null,
>     domain?: string | null,
>     email?: string | null
>   } | null
> } | null
> ```

***

### phone

`search.phone`

Find phone

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.search.phone({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `linkedin_url` | `string` | Yes | — |

**Output:** `object`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   phone?: string | null,
>   line_type?: string | null
> } | {
>   phone?: string | null,
>   line_type?: string | null
> }
> ```

***

### reverseEmail

`search.reverseEmail`

Reverse email lookup

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.search.reverseEmail({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `email` | `string` | Yes | — |
| `with_profile` | `boolean` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `linkedin_url` | `string \| null` | No | — |
| `fullName` | `string \| null` | No | — |
| `username` | `string \| null` | No | — |
| `headline` | `string \| null` | No | — |
| `jobTitle` | `string \| null` | No | — |
| `summary` | `string \| null` | No | — |
| `city` | `string \| null` | No | — |
| `region` | `string \| null` | No | — |
| `country` | `string \| null` | No | — |
| `companyLinkedinUrl` | `string \| null` | No | — |
| `companyName` | `string \| null` | No | — |
| `companyWebsite` | `string \| null` | No | — |
| `isPremium` | `boolean \| null` | No | — |
| `isOpenProfile` | `boolean \| null` | No | — |
| `skills` | `any[] \| null` | No | — |
| `jobs` | `any[] \| null` | No | — |
| `educations` | `object[] \| null` | No | — |
| `certificates` | `object[] \| null` | No | — |

> [accordion] educations full type
>
> ```ts theme={null}
> {
>   school?: string | null,
>   degree?: string | null,
>   fieldOfStudy?: string | null,
>   startDate?: string | null,
>   endDate?: string | null
> }[] | null
> ```

> [accordion] certificates full type
>
> ```ts theme={null}
> {
>   name?: string | null,
>   issuingOrganization?: string | null,
>   issueDate?: string | null,
>   expirationDate?: string | null
> }[] | null
> ```

***

## Signals

### get

`signals.get`

Get a signal

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.signals.get({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `number \| null` | No | — |
| `type` | `string \| null` | No | — |
| `category` | `string \| null` | No | — |
| `payload` | `object \| null` | No | — |
| `detected_at` | `string \| null` | No | — |
| `expires_at` | `string \| null` | No | — |
| `contact` | `object \| null` | No | — |
| `company` | `object \| null` | No | — |
| `monitors` | `object[] \| null` | No | — |

> [accordion] payload full type
>
> ```ts theme={null}
> {
>   matched_keyword?: string | null,
>   snippet?: string | null
> } | null
> ```

> [accordion] contact full type
>
> ```ts theme={null}
> {
>   id?: number | null,
>   name?: string | null,
>   job_title?: string | null,
>   linkedin_url?: string | null
> } | null
> ```

> [accordion] company full type
>
> ```ts theme={null}
> {
>   id?: number | null,
>   name?: string | null,
>   domain?: string | null,
>   industry?: string | null,
>   employee_count_range?: string | null,
>   country?: string | null
> } | null
> ```

> [accordion] monitors full type
>
> ```ts theme={null}
> {
>   id?: number | null,
>   name?: string | null,
>   keywords?: string[] | null,
>   enrichment_level?: string | null
> }[] | null
> ```

***

### list

`signals.list`

List signals

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.signals.list({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `signal_type` | `string` | No | — |
| `monitor_id` | `number` | No | — |
| `date_from` | `string` | No | — |
| `date_to` | `string` | No | — |
| `relevance_scores` | `string` | No | — |
| `page` | `number` | No | — |
| `per_page` | `number` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `data` | `object[] \| null` | No | — |
| `meta` | `object \| null` | No | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   id?: number | null,
>   type?: string | null,
>   category?: string | null,
>   payload?: {
>     matched_keyword?: string | null,
>     snippet?: string | null
>   } | null,
>   detected_at?: string | null,
>   expires_at?: string | null,
>   contact?: {
>     id?: number | null,
>     name?: string | null,
>     job_title?: string | null,
>     linkedin_url?: string | null
>   } | null,
>   company?: {
>     id?: number | null,
>     name?: string | null,
>     domain?: string | null,
>     industry?: string | null,
>     employee_count_range?: string | null,
>     country?: string | null
>   } | null,
>   monitors?: {
>     id?: number | null,
>     name?: string | null,
>     keywords?: string[] | null,
>     enrichment_level?: string | null,
>     relevance_score?: number | null,
>     relevance_reasoning?: string | null
>   }[] | null
> }[] | null
> ```

> [accordion] meta full type
>
> ```ts theme={null}
> {
>   current_page?: number | null,
>   per_page?: number | null,
>   total?: number | null,
>   last_page?: number | null,
>   from?: number | null,
>   to?: number | null
> } | null
> ```

***

## Technologies

### lookup

`technologies.lookup`

Lookup technologies by domain

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.technologies.lookup({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `domain` | `string` | Yes | — |
| `technologies` | `string[]` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `domain` | `string \| null` | No | — |
| `technologies` | `object[] \| null` | No | — |

> [accordion] technologies full type
>
> ```ts theme={null}
> {
>   name?: string | null,
>   category?: string | null,
>   subcategory?: string | null,
>   last_detected_at?: string | null
> }[] | null
> ```

***

### search

`technologies.search`

Search technologies

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.technologies.search({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `q` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `data` | `object[] \| null` | No | — |

> [accordion] data full type
>
> ```ts theme={null}
> {
>   name?: string | null,
>   category?: string | null,
>   subcategory?: string | null
> }[] | null
> ```

***

## Usage

### credits

`usage.credits`

Get remaining credits

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.usage.credits({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `type` | `string` | No | — |

**Output:** `object`

> [accordion] Output full type
>
> ```ts theme={null}
> {
>   credits?: number | null,
>   email?: string | null,
>   has_capacity?: boolean | null,
>   verifier_credits?: number | null
> } | {
>   credits?: number | null,
>   email?: string | null,
>   has_capacity?: boolean | null,
>   verifier_credits?: number | null
> }
> ```

***

### summary

`usage.summary`

Get usage

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.usage.summary({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `from` | `string` | No | — |
| `to` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `from` | `string \| null` | No | — |
| `to` | `string \| null` | No | — |
| `total` | `object \| null` | No | — |
| `items` | `object[] \| null` | No | — |

> [accordion] total full type
>
> ```ts theme={null}
> {
>   finder?: number | null,
>   verifier?: number | null
> } | null
> ```

> [accordion] items full type
>
> ```ts theme={null}
> {
>   date?: string | null,
>   finder?: number | null,
>   verifier?: number | null
> }[] | null
> ```

***

### teamSummary

`usage.teamSummary`

Get team usage

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.usage.teamSummary({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `from` | `string` | No | — |
| `to` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `from` | `string \| null` | No | — |
| `to` | `string \| null` | No | — |
| `total` | `object \| null` | No | — |
| `members` | `object[] \| null` | No | — |

> [accordion] total full type
>
> ```ts theme={null}
> {
>   finder?: number | null,
>   verifier?: number | null
> } | null
> ```

> [accordion] members full type
>
> ```ts theme={null}
> {
>   name?: string | null,
>   finder?: number | null,
>   verifier?: number | null
> }[] | null
> ```

***

## Verification

### verify

`verification.verify`

Verify an email

**Risk:** `read`

```ts theme={null}
await corsair.findymail.api.verification.verify({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `email` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `email` | `string` | Yes | — |
| `verified` | `boolean` | Yes | — |
| `provider` | `string \| null` | No | — |

***


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.