---
title: "Create an email alert requested by the user, up to five per account. Requires Access and confirmed email. Omitted filters match All; query defaults to empty and enabled defaults to true. Preserves the account’s global pause state."
method: POST
path: "/me/alerts"
---

# Create an email alert requested by the user, up to five per account. Requires Access and confirmed email. Omitted filters match All; query defaults to empty and enabled defaults to true. Preserves the account’s global pause state.

`POST /me/alerts`

## Request

- Base URL: `https://api.hiddenjobs.dev/v1`
- URL: `https://api.hiddenjobs.dev/v1/me/alerts`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://api.hiddenjobs.dev/v1/oauth/authorize`, token URL `https://api.hiddenjobs.dev/v1/oauth/token`, scopes: `email`)

## Request body

- object
  - `name` string, required
  - `query` string
  - `frequency` 'daily' | 'weekly', required
  - `enabled` boolean
  - `category` string[]: Match any selected value within this filter. All removes the filter; different filters combine with AND.
  - `employmentType` string[]: Match any selected value within this filter. All removes the filter; different filters combine with AND.
  - `jobType` string[]: Match any selected value within this filter. All removes the filter; different filters combine with AND.
  - `remoteLocation` string[]: Match any selected value within this filter. All removes the filter; different filters combine with AND.
  - `expectedVersion` integer, required: Last config.version from get_job_alerts; use 0 before the first alert. Reread after a conflict.

## Response `200`

Operation result

- object
  - `data` object, required
    - `config` JobAlertConfig, required
      - `frequency` 'daily' | 'weekly', required
      - `enabled` boolean, required
      - `alerts` JobAlert[], required
        - `name` string, required
        - `frequency` 'daily' | 'weekly', required
        - `enabled` boolean, required
        - `category` string[], required: Match any selected value within this filter. All removes the filter; different filters combine with AND.
        - `employmentType` string[], required: Match any selected value within this filter. All removes the filter; different filters combine with AND.
        - `jobType` string[], required: Match any selected value within this filter. All removes the filter; different filters combine with AND.
        - `remoteLocation` string[], required: Match any selected value within this filter. All removes the filter; different filters combine with AND.
        - `id` string, uuid, required
        - `q` string, required
        - `since` string
        - `next_due_at` string
      - `version` integer, required
      - `next_due_at` string

## Other responses

- `400`: Invalid arguments
- `401`: Invalid credentials
- `402`: Active Access required. Includes a free-trial account link; eligibility and renewal terms apply.
- `403`: Permission denied
- `404`: Record not found
- `409`: Revision, idempotency or state conflict
- `413`: Size or quota limit
- `429`: Request limit
- `503`: Temporarily unavailable

---

[API](https://skmtc.dev/hiddenjobs/apis/hidden-jobs-api.md) · [All operations](https://skmtc.dev/hiddenjobs/apis/hidden-jobs-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hiddenjobs/apis/hidden-jobs-api/revisions/c1d57d8e4720?raw)
