# ashby.jobs

**stable** **Advanced**

List open jobs on an Ashby job board.

`GET /v1/ashby/jobs`

## What you get

A list of Ashby results in Onekey's unified shape, in `data` (an array). An empty array is a normal, successful answer and is charged like any other; a source that reports "nothing found" as an error returns a free `404 not_found` instead.

## What it costs

- **Advanced · 5 credits** for a fresh fetch, charged only when it succeeds.
- **Free when served from cache (0.2 credit for a cached response over 100 KB).**
- **Free** if the request is invalid (never charged) or the source fails or reports not found (refunded).

## Parameters

| Name | Type | Required | Default | What it is | Constraints |
| --- | --- | --- | --- | --- | --- |
| `board` | string | yes | (required) | Ashby job board name, e.g. posthog | max 63 chars; must match `[A-Za-z0-9][A-Za-z0-9_-]{0,62}`; trimmed, lowercased |

## Request

```bash
curl "https://api.onekey.dev/v1/ashby/jobs?board=posthog" \
  -H "x-api-key: YOUR_API_KEY"
```

```python
import requests

res = requests.get(
    "https://api.onekey.dev/v1/ashby/jobs",
    params={"board": "posthog"},
    headers={"x-api-key": "YOUR_API_KEY"},
)
body = res.json()

if body["success"]:
    print(body["data"])
else:
    print(body["error"]["code"], body["error"]["message"])
```

```javascript
const params = new URLSearchParams({ board: "posthog" });
const res = await fetch(`https://api.onekey.dev/v1/ashby/jobs?${params}`, {
  headers: { "x-api-key": "YOUR_API_KEY" },
});
const body = await res.json();

if (body.success) console.log(body.data);
else console.error(body.error.code, body.error.message);
```

## Recorded response

A real Ashby response, recorded and returned in Onekey's shape. Fields the platform does not provide are `null`.

```json
{
  "success": true,
  "data": [
    {
      "content": {
        "id": "0be1b52c-2401-4ae2-b7fc-5d018c1ff96f",
        "title": "Technical Customer Success Manager - EMEA",
        "url": "https://jobs.ashbyhq.com/posthog/0be1b52c-2401-4ae2-b7fc-5d018c1ff96f",
        "createdAt": "2026-09-18T08:41:19Z",
        "text": "ABOUT POSTHOG\n\nProduct development used to mean manually writing code, running analysis, diagnosing bugs, and rolling out changes using dozens of tools.\n\nPostHog makes products self-driving https://posthog.com/self-driving. It's the only platform that acts like a co-pilot for you (and your AI agents) to do it all – autonomously.\n\nWe started with open-source product analytics, launched out of Y Combinator's W20 cohort https://posthog.com/handbook/story. We've since shipped more than a dozen products https://posthog.com/products, including:\n\n - PostHog Desktop https://posthog.com/desktop, the only AI devtool that understands your product, not just your codebase.\n\n - A built-in data warehouse https://posthog.com/docs/data-warehouse, so users can query product and customer data together using custom SQL insights.\n\n - PostHog AI https://posthog.com/ai, an AI-powered analyst that answers product questions, helps users find useful session recordings, and writes custom SQL queries.\n\nWe are:\n\n 1. Product-led. More than 450,000 organizations have installed PostHog, mostly driven by word-of-mouth. We have intensely strong product-market fit.\n\n 2. Default alive https://paulgraham.com/aord.html. Revenue is growing incredibly quickly, and we're very efficient. We raise money to push ambition and grow faster, not to keep the lights on.\n\n 3. Well-funded. We've raised more than $180m from some of the world's top investors. We're set up for a long, ambitious journey.\n\nWe're focused on building an awesome product for end users, hiring exceptional teammates, shipping fast, and being as weird as possible https://posthog.com/deskhog. \n\n \n\n\nTHINGS WE CARE ABOUT\n\n - Transparency: Everyone can read about our roadmap, how we pay (or even let go of) people, our strategy, and how we work, in our public company handbook https://posthog.com/handbook. Internally, we share revenue, notes and slides from board meetings, and fundraising plans, so everyone has the context they need to make good decisions.\n\n - Autonomy: We don’t tell anyone what to do. Everyone chooses what to work on next based on what's going to have the biggest impact on our customers, and what they find interesting and motivating to work on. Engineers lead product teams https://posthog.com/handbook/wide-company and make product decisions https://posthog.com/handbook/which-products. Teams are flexible and easy to change when needed.\n\n - Shipping fast: Why not now? https://posthog.com/handbook/values#why-not-now We want to build a lot of products; we can't do that shipping at a normal pace. We've built the company around small teams – autonomous, highly-efficient groups of cracked engineers https://posthog.com/founders/cracked-manifesto who can outship much larger companies because they own their products end-to-end.\n\n - Time for building: Nothing gets shipped in a meeting. We're a natively remote company. We default to async communication – PRs > Issues > Slack. Tuesdays and Thursdays are meeting-free days https://posthog.com/handbook/company/culture#were-on-the-makers-schedule, and we prioritize heads down building time over perfect coordination. This will be the most productive job you've ever had.\n\n - Ambition: We want to solve big problems. We strongly believe that aiming for the best possible upside, and sometimes missing, is better than never trying. We're optimistic about what's possible and our ability to get there.\n\n - Being weird: Weird means redesigning an already world-class website for the 5th time. It means shipping literally every product that relates to customer data. It means building an objectively unnecessary developer toy https://posthog.com/deskhog with dubious shareholder value. Doing weird stuff is a competitive advantage. And it's fun.\n\n\nWHO WE’RE LOOKING FOR\n\n - A customer-obsessed person to take care of a large number of our larger customers. You’ll engage with them regularly to ensure their continued retention and growth.\n\n - You'll need to be incredibly helpful, technical enough to help our customers, and solve real problems without asking a sales engineer for help. \n\n - No going away and asking an expert by default. You will be the expert!\n\n - You’re great at building relationships with customers, understanding their priorities, and ensuring they are set up for success both today and in the long term.\n\n\n\n\nWHAT YOU’LL BE DOING\n\nYou’ll be the face of PostHog for anywhere from 25-40 paying customers in the $20k-$100k+ ARR range. Some of these customers will have come through our sales process and be well-known to us, while others will have self-served and never talked to us before! \n\nIt'll be your responsibility to ensure that both types of customers stay with us. That means taking care of the technical side (debugging, config advice), the commercial side (pricing questions, credit renewals), and the human side (multi-threading, managing escalations).\n\nDay to day, it looks like:\n\n - Building relationships with your users. You should know who the key people are at each company, and they should know you. \n\n - Owning their feedback and making sure it gets to the wider PostHog team.\n\n - Investigating technical issues. You're the first person to dig into customer issues, often solving them yourself rather than immediately passing to support.\n\n - Being super responsive to their Slack messages, support tickets, and emails.\n\n - Being their favorite ever Customer Success person to work with!\n\nMore broadly, you'll watch product usage and revenue data so customer health doesn't move into the red, and act early when it does. Your aim is to never be surprised when a customer tells us they are leaving. If you want to build automations to help you do your job here, go for it!\n\n\n\nRead this blog to find out more! https://posthog.com/blog/customer-success-at-posthog\n\n\n\nThis role comprises a base salary component, plus a bonus https://posthog.com/handbook/cs-and-onboarding/how-we-work#how-contractual-bonus-works---technical-csms for hitting/exceeding customer retention targets. The salary in our compensation calculator is the OTE (80/20). \n\n\n\n\nWHAT YOU WON’T BE DOING\n\n❌  Taking someone with you to every customer meeting. It’ll normally be you and the customer. Very occasionally, you might bring a product engineer with you, e.g. if they are one of our first customers paying for a new product. \n\n❌  Aggressively pursuing expansion opportunities. This role is primarily focused on retention. \n\n\n\n\nREQUIREMENTS\n\n - Technically capable. You don't need to be an engineer, but you should be comfortable working with code. You troubleshoot issues customers run into (and sometimes even raise PRs yourself to fix bugs) and advise on configuration best practices across all PostHog products. \n\n - You get how product teams work. You know the roles, how they collaborate, and how they ship features - so you can help them use PostHog to solve real problems. For example, why running experiments matters, how to use product analytics and session replay together to find drop-off points and test fixes, or when error tracking helps teams ship better.\n\n - Strong customer focus. You need to help our users and remove any blockers to them using PostHog effectively – not route them elsewhere and move on.\n\n - Able to work at scale. You'll have around 40 customers. You can't treat them all the same, and you won't try to.\n\n\nNICE TO HAVE\n\n - Experience working with similar technologies, i.e. developer tools more broadly, or specifically product analytics, session replay, feature flags, A/B testing, data warehouses, or data pipelines.\n\n - You’ve been in a Pre-sales or Technical Account Manager role before, bringing both technical expertise and commercial acumen.\n\nIf you have a disability, please let us know if there's any way we can make the interview process better for you - we're happy to accommodate! \n\n#LI-DNI"
      },
      "listing": {
        "applyUrl": "https://jobs.ashbyhq.com/posthog/0be1b52c-2401-4ae2-b7fc-5d018c1ff96f/application",
        "jobType": "FullTime",
        "remote": true
      },
      "entity": {
        "location": "Remote (EMEA)"
      },
      "ext": {
        "department": "Sales & Customer Success",
        "team": "Customer Success",
        "workplaceType": "Remote"
      }
    },
    {
      "content": {
        "id": "43dbf072-0fc1-48c9-8c1e-7416db7d4a14",
        "title": "ClickHouse Operations Engineer ",
        "url": "https://jobs.ashbyhq.com/posthog/43dbf072-0fc1-48c9-8c1e-7416db7d4a14",
        "createdAt": "2026-08-25T07:00:51Z",
        "text": "ABOUT POSTHOG\n\nProduct development used to mean manually writing code, running analysis, diagnosing bugs, and rolling out changes using dozens of tools.\n\nPostHog makes products self-driving https://posthog.com/self-driving. It's the only platform that acts like a co-pilot for you (and your AI agents) to do it all – autonomously.\n\nWe started with open-source product analytics, launched out of Y Combinator's W20 cohort https://posthog.com/handbook/story. We've since shipped more than a dozen products https://posthog.com/products, including:\n\n - PostHog Desktop https://posthog.com/desktop, the only AI devtool that understands your product, not just your codebase.\n\n - A built-in data warehouse https://posthog.com/docs/data-warehouse, so users can query product and customer data together using custom SQL insights.\n\n - PostHog AI https://posthog.com/ai, an AI-powered analyst that answers product questions, helps users find useful session recordings, and writes custom SQL queries.\n\nWe are:\n\n 1. Product-led. More than 450,000 organizations have installed PostHog, mostly driven by word-of-mouth. We have intensely strong product-market fit.\n\n 2. Default alive https://paulgraham.com/aord.html. Revenue is growing incredibly quickly, and we're very efficient. We raise money to push ambition and grow faster, not to keep the lights on.\n\n 3. Well-funded. We've raised more than $180m from some of the world's top investors. We're set up for a long, ambitious journey.\n\nWe're focused on building an awesome product for end users, hiring exceptional teammates, shipping fast, and being as weird as possible https://posthog.com/deskhog. \n\n \n\n\nTHINGS WE CARE ABOUT\n\n - Transparency: Everyone can read about our roadmap, how we pay (or even let go of) people, our strategy, and how we work, in our public company handbook https://posthog.com/handbook. Internally, we share revenue, notes and slides from board meetings, and fundraising plans, so everyone has the context they need to make good decisions.\n\n - Autonomy: We don’t tell anyone what to do. Everyone chooses what to work on next based on what's going to have the biggest impact on our customers, and what they find interesting and motivating to work on. Engineers lead product teams https://posthog.com/handbook/wide-company and make product decisions https://posthog.com/handbook/which-products. Teams are flexible and easy to change when needed.\n\n - Shipping fast: Why not now? https://posthog.com/handbook/values#why-not-now We want to build a lot of products; we can't do that shipping at a normal pace. We've built the company around small teams – autonomous, highly-efficient groups of cracked engineers https://posthog.com/founders/cracked-manifesto who can outship much larger companies because they own their products end-to-end.\n\n - Time for building: Nothing gets shipped in a meeting. We're a natively remote company. We default to async communication – PRs > Issues > Slack. Tuesdays and Thursdays are meeting-free days https://posthog.com/handbook/company/culture#were-on-the-makers-schedule, and we prioritize heads down building time over perfect coordination. This will be the most productive job you've ever had.\n\n - Ambition: We want to solve big problems. We strongly believe that aiming for the best possible upside, and sometimes missing, is better than never trying. We're optimistic about what's possible and our ability to get there.\n\n - Being weird: Weird means redesigning an already world-class website for the 5th time. It means shipping literally every product that relates to customer data. It means building an objectively unnecessary developer toy https://posthog.com/deskhog with dubious shareholder value. Doing weird stuff is a competitive advantage. And it's fun.\n\n\n\n\nWHAT YOU'LL BE DOING\n\nClickHouse is the core piece of infrastructure at PostHog https://posthog.com/docs/how-posthog-works/clickhouse. Every product and customer relies on it to ingest, store, and query data.\n\nWe need someone to automate, manage, and maintain ClickHouse as we grow towards capturing trillions of events per year and having one of the world’s largest clusters.\n\nThis includes ClickHouse operations and scaling infrastructure, as well as node and instance-level performance optimization. We want to ensure that we have the right hardware deployed at the right time for each workload on ClickHouse.\n\nYou'll build systems and automations for the provisioning and scaling of our large ClickHouse clusters, handling over 100 PB's of data. You'll have the ability to investigate and experiment using the latest hardware that cloud providers have to offer in order to find the optimal setup for our solution. And yes, You'll have a budget to do this.\n\nYou'll be using Terraform, Ansible, and Kubernetes to automate the dynamic provisioning of instances and work on a bleeding edge ClickHouse implementation, like open format backed tables, and not just maintenance.\nWe're also building a query optimizer for ClickHouse, which means you will work on query performance tooling.\n\n\n\n\nYOU’LL FIT RIGHT IN IF:\n\n - You bring OLAP Database Experience. This role is focussed on ClickHouse, but if you bring strong experience with other OLAP Databases, that's great. We're looking for people that went into the internals of ClickHouse and other OLAP Databases, not high level users.\n\n - You bring experience in automating Dynamic provisioning instances. Strong experience with utilizing Terraform, Ansible and K8s is important.\n\n - You bring experience with Scale and Complexity! We're building and operating high-scale complex data storage solutions, we need you to have experience with the challenges this brings.\n\n - You bring the Stack we need. We build using Python, Terraform, Ansible, Kubernetes, AWS, and Zookeeper (An alternative to Zookeeper is fine) \n\n - You’re ready to do the best work of your career. We have incredible distribution, a big financial cushion and an amazing team. There’s probably no better place to see how far you can go.\n\n\n\nIf this sounds like you, we should talk.\n\nWe are committed to ensuring a fair and accessible interview process. If you need any accommodations or adjustments, please let us know.\n\n\n"
      },
      "listing": {
        "applyUrl": "https://jobs.ashbyhq.com/posthog/43dbf072-0fc1-48c9-8c1e-7416db7d4a14/application",
        "jobType": "FullTime",
        "remote": true
      },
      "entity": {
        "location": "Remote"
      },
      "ext": {
        "department": "Engineering",
        "team": "ClickHouse",
        "workplaceType": "Remote"
      }
    }
  ],
  "metadata": {
    "platform": "ashby",
    "endpoint": "jobs",
    "cached": false,
    "stale": false,
    "age_s": 0,
    "fetched_at": "2026-01-01T12:00:00+00:00",
    "credits_charged": 5,
    "request_id": "7f3a9c2e5b1d4c8fa2e6d0b9c4f18e37"
  },
  "error": null
}
```

## Field mapping

How this endpoint's source fields become Onekey's [unified schema](https://onekey.dev/docs/schema.md). Fields the source lacks come back as `null`.

| Source path | Onekey field | Transform |
| --- | --- | --- |
| `id` | `content.id` | - |
| `title` | `content.title` | - |
| `jobUrl` | `content.url` | `safeUrl` |
| `publishedAt` | `content.createdAt` | `toIsoDate` |
| `descriptionPlain` | `content.text` | - |
| `applyUrl` | `listing.applyUrl` | `safeUrl` |
| `location` | `entity.location` | - |
| `department` | `ext.department` | - |
| `team` | `ext.team` | - |
| `employmentType` | `listing.jobType` | - |
| `isRemote` | `listing.remote` | `toBoolean` |
| `workplaceType` | `ext.workplaceType` | - |

## Caching and freshness

- Fresh for about 2 minutes. Repeat calls in that window are served from cache and are free.
- Between 2 minutes and 15 minutes the cached copy is still served instantly and marked `stale: true` while Onekey refreshes it in the background.
- If the source is down when a refresh is needed, the last copy can be served for up to 1 hour more (marked stale).
- A "not found" is remembered for 1 minute and is free.
- The cache is shared across all customers, which is what keeps repeat calls cheap.

## What can go wrong

| Status | Code | What to do |
| --- | --- | --- |
| 401 | `unauthorized` | Check the `x-api-key` header. |
| 402 | `insufficient_credits` | [Add credits](https://onekey.dev/pricing); your balance must cover the price. |
| 404 | `not_found` | Unknown endpoint path. |
| 422 | `invalid_params` | Fix the parameters using the table above. Free. |
| 429 | `rate_limited` | Wait `Retry-After` seconds, then retry. |
| 502 | `upstream_error` | The source failed. Refunded; retry with backoff. |

See [Errors](https://onekey.dev/docs/errors.md) for the full list and retry guidance.

Status: stable (verified against the live source).
