---
title: "Apply to a job"
method: POST
path: "/v1/recipes/jobs/apply"
tags: ["Recipes"]
---

# Apply to a job

`POST /v1/recipes/jobs/apply`

## Request

- Base URL: `https://api.skyvern.com`
- URL: `https://api.skyvern.com/v1/recipes/jobs/apply`
- Auth: API key in header `x-api-key`

Start a workflow run that applies to a job with a résumé and optional credentials.

## Request body

- object
  - `job_url` string, uri, required
  - `custom_prompt` string, required
  - `resume_url` string, uri, required
  - `other_information` unknown
  - `terminate_criterion` string, nullable: Condition that stops Apply. Omit to use the recipe default; null or empty text disables it.
  - `error_code_mapping` object, nullable: Error codes and descriptions. Omit for the recipe default; null or {} disables mapping. A supplied mapping replaces the default independently of terminate_criterion.
  - `username` string, nullable
  - `password` string, nullable
  - `persist_credentials` boolean, nullable
  - `2fa_identifier` string, nullable

## Response `200`

Successfully started job application

- JobRecipeRunResponse
  - `workflow_run_id` string, required

## Other responses

- `400`: Invalid multipart structure
- `402`: Insufficient credits or required billing state
- `403`: Unauthorized or insufficient organization permission
- `413`: Résumé file exceeds the upload limit
- `422`: Invalid apply request
- `429`: Workflow submission rate limit exceeded
- `500`: Upload or workflow launch failed
- `502`: Credential service failed

## Changes

- **2026-10-20** `89fc67079375`: 4 warning
  - removed the request property `proxy_location` (media type: application/json)
  - removed the request property `proxy_location` (media type: multipart/form-data)
  - removed the request property `webhook_url` (media type: application/json)
  - removed the request property `webhook_url` (media type: multipart/form-data)
- **2026-10-19** `7b0a0c6ac6c7`: 4 info
  - added the new optional request property `proxy_location` (media type: application/json)
  - added the new optional request property `proxy_location` (media type: multipart/form-data)
  - added the new optional request property `webhook_url` (media type: application/json)
  - added the new optional request property `webhook_url` (media type: multipart/form-data)
- …earlier changes not shown

[Operation history](https://skmtc.dev/skyvern-ai/apis/skyvern-api/changes/v1/recipes/jobs/apply/post.md)

---

[API](https://skmtc.dev/skyvern-ai/apis/skyvern-api.md) - [All operations](https://skmtc.dev/skyvern-ai/apis/skyvern-api/llms.txt) - [OpenAPI document](https://skmtc.dev/skyvern-ai/apis/skyvern-api/revisions/22eb83913dde?raw)
