# Ashbyhq — Wrapped API

> **You are on:** `https://api.beta.paywithlocus.com/api` | [llms.txt](https://beta.paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search and filter job postings from Ashby-powered job boards by title, department, and experience level, then retrieve detailed information about specific positions.

**Category:** Jobs | **Website:** [www.ashbyhq.com/](https://www.ashbyhq.com/) | **Docs:** [parse.bot/marketplace/c7c24ce4-02a5-451b-8fe9-1f271dc16895/ashbyhq-com-api](https://parse.bot/marketplace/c7c24ce4-02a5-451b-8fe9-1f271dc16895/ashbyhq-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.beta.paywithlocus.com/api/wrapped/parse-ashbyhq-com-api-c7c24ce4/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### Get job details

Get full details for a specific job posting by ID, including HTML description and experience level analysis. Returns stale_input with kind 'input_not_found' if the job_id is not found on the specified organization's board or if the organization slug does not exist.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `job_id` | string | Yes | Job posting UUID (from search_jobs results) |
| `organization` | string | No | Organization slug on Ashby job board (e.g. 'ashby', 'openai') |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/parse-ashbyhq-com-api-c7c24ce4/get_job_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"job_id":"<string>","organization":"<string>"}'
```

### List departments

List all departments and teams on the job board with job counts. Returns stale_input with kind 'input_not_found' if the organization slug does not exist.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `organization` | string | No | Organization slug on Ashby job board (e.g. 'ashby', 'openai') |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/parse-ashbyhq-com-api-c7c24ce4/list_departments \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"organization":"<string>"}'
```

### Search jobs

Search job postings with optional filters for title keywords, department, and experience range. Extracts experience requirements from job descriptions. Returns all jobs when no filters are specified. Returns stale_input with kind 'input_not_found' if the organization slug does not exist.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `department` | string | No | Department name to filter by (partial match, case-insensitive) |
| `max_experience` | integer | No | Maximum years of experience to filter by (jobs without stated experience are included) |
| `min_experience` | integer | No | Minimum years of experience to filter by (jobs without stated experience are included) |
| `organization` | string | No | Organization slug on Ashby job board (e.g. 'ashby', 'openai') |
| `title_keywords` | string | No | Comma-separated title keywords to filter by (e.g. 'Engineer,Designer,Sales') |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/parse-ashbyhq-com-api-c7c24ce4/search_jobs \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"department":"<string>","max_experience":"<integer>","min_experience":"<integer>","organization":"<string>","title_keywords":"<string>"}'
```
