Job search, application materials, and application tracking for AI assistants.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Adds a recruiter or referrer contact to the account using the supplied contact details.
Contact name
Company
Job title
LinkedIn URL
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Tool list last changed Oct 23, 2026.
Adds a recruiter or referrer contact to the account using the supplied contact details.
| Argument | Type | Description |
|---|---|---|
| name* | string | Contact name |
| string | ||
| title | string | Job title |
| company* | string | Company |
| linkedinUrl | string | LinkedIn URL |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name",
"company"
],
"properties": {
"name": {
"type": "string",
"description": "Contact name"
},
"email": {
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"description": "Email"
},
"title": {
"type": "string",
"description": "Job title"
},
"company": {
"type": "string",
"description": "Company"
},
"linkedinUrl": {
"type": "string",
"format": "uri",
"description": "LinkedIn URL"
}
}
}Adds a job to the account's private pipeline using title, company and optional description, URL, contact email and application method. For eligible accounts, a new job can also create and queue its application materials, using pack allowance. No application is submitted.
| Argument | Type | Description |
|---|---|---|
| url | string | |
| title* | string | Job title |
| company* | string | Company name |
| description | string | |
| contactEmail | string | |
| applicationMethod | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"title",
"company"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"title": {
"type": "string",
"description": "Job title"
},
"company": {
"type": "string",
"description": "Company name"
},
"description": {
"type": "string"
},
"contactEmail": {
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"applicationMethod": {
"enum": [
"email",
"web",
"api",
"unknown"
],
"type": "string"
}
}
}Submits one application to an employer under the account holder's name using the saved materials at expectedRevision. Submission requires existing materials and plan allowance and cannot be recalled. A confirmation hold returns the destination, material summary and a token bound to identical arguments; the reviewed revision is enforced.
| Argument | Type | Description |
|---|---|---|
| applicationId* | string | |
| expectedRevision* | integer | The materials revision the person reviewed. A mismatch fences the send. |
| confirmationToken | string | Echo the token from a previous `held` result to carry out the act it described, and only after the person has seen that result's summary and agreed to it. Send identical arguments: the token is bound to the exact call it was issued for, so a changed argument is held again with a fresh token and a fresh summary. It lasts two minutes and is spent once. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"applicationId",
"expectedRevision"
],
"properties": {
"applicationId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "The materials revision the person reviewed. A mismatch fences the send."
},
"confirmationToken": {
"type": "string",
"description": "Echo the token from a previous `held` result to carry out the act it described, and only after the person has seen that result's summary and agreed to it. Send identical arguments: the token is bound to the exact call it was issued for, so a changed argument is held again with a fresh token and a fresh summary. It lasts two minutes and is spent once."
}
}
}Returns indexed listings filtered by title or company keywords, function, seniority, work setting, location, pay, benefits, industry, AI role, internship and posting or discovery age. Anonymous browsing is supported. A page holds 25 listings by default and limit accepts up to 100, which the API clamps to 25 without a key or when the account's plan caps it there; the next page is the previous nextCursor. An unsorted cursor walk is stable and uncapped; sorted walks stop at 1,000. nextCursor requires identical filters and sort; null ends the walk. addedAfter supports overlapping discovery windows because listings can become servable after first discovery. Each listing's url is its Dreamwork page; sourceUrl is the employer's direct posting. Pay filters use whole annual US dollars and match posted bands reaching the bound, rather than guaranteed pay.
| Argument | Type | Description |
|---|---|---|
| sort | string | Order. Omit it to walk every match in a stable, unranked order; any sort stops the walk at 1,000. |
| bonus | boolean | Only postings offering a bonus. |
| limit | integer | Page size, 25 when omitted. Without a key, or when the account's plan caps it, the API returns at most 25. |
| aiRole | boolean | AI-focused roles only. |
| cursor | string | `nextCursor` from the previous page. Send the same filters and sort, or it is refused. |
| equity |
Stops a queued or in-progress application when submission can still be prevented. Already submitted applications cannot be recalled; the receipt reports that boundary.
| Argument | Type | Description |
|---|---|---|
| applicationId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"applicationId"
],
"properties": {
"applicationId": {
"type": "string"
}
}
}Promotes a stored hypothesis after the person confirms it, then deletes the hypothesis. A stated refusal becomes a matching deal-breaker; other confirmations become work-vault notes that do not filter matches. The receipt identifies which record changed.
| Argument | Type | Description |
|---|---|---|
| hypothesisId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"hypothesisId"
],
"properties": {
"hypothesisId": {
"type": "string"
}
}
}Hides one role, every listing with the same employer and title in any location, from the account's match feed, job alerts and Autopilot until the account restores or saves it. The receipt offers undo for one minute; restore_match reverses it at any time and list_dismissed_matches lists dismissed listings. The supplied reason is not stored. It does not hide other roles from the same company and does not move or remove an existing pipeline card.
| Argument | Type | Description |
|---|---|---|
| jobId* | string | Listing id from the feed or `list_matches`. |
| reason | string | The person's own words for why this role is wrong. Accepted but not stored, and it does not change later matches. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"jobId"
],
"properties": {
"jobId": {
"type": "string",
"description": "Listing id from the feed or `list_matches`."
},
"reason": {
"type": "string",
"maxLength": 200,
"description": "The person's own words for why this role is wrong. Accepted but not stored, and it does not change later matches."
}
}
}Revises one employer-question answer identified by questionId; other answers and documents remain unchanged. This edits application prose rather than the account's factual screening, work-authorization, compensation or availability settings.
| Argument | Type | Description |
|---|---|---|
| questionId* | string | |
| instruction* | string | |
| applicationId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"applicationId",
"questionId",
"instruction"
],
"properties": {
"questionId": {
"type": "string"
},
"instruction": {
"type": "string",
"maxLength": 600,
"minLength": 1
},
"applicationId": {
"type": "string"
}
}
}Revises an existing application's cover letter using the supplied instruction. scope can identify a paragraph or selected passage. Without scope, the targeted passage is located from the instruction; a whole-letter instruction revises the whole letter. Existing materials are required.
| Argument | Type | Description |
|---|---|---|
| scope | any | |
| instruction* | string | What to change, in the person's words. |
| applicationId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"applicationId",
"instruction"
],
"properties": {
"scope": {
"oneOf": [
{
"type": "object",
"required": [
"kind",
"index"
],
"properties": {
"kind": {
"type": "string",
"const": "paragraph"
},
"index": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Blank-line-separated paragraph index in the cover letter."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"text"
],
"properties": {
"kind": {
"type": "string",
"const": "selection"
},
"text": {
"type": "string",
"maxLength": 600,
"minLength": 1,
"description": "Exact substring of the asset, which must occur exactly once."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Resume block id from the HTML block map."
},
"kind": {
"type": "string",
"const": "section"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"questionId"
],
"properties": {
"kind": {
"type": "string",
"const": "answer"
},
"questionId": {
"type": "string"
}
},
"additionalProperties": false
}
]
},
"instruction": {
"type": "string",
"maxLength": 600,
"minLength": 1,
"description": "What to change, in the person's words."
},
"applicationId": {
"type": "string"
}
}
}Revises one application's tailored resume using the supplied instruction, preserving its formatting and regenerating the PDF. scope identifies a section block or selected passage; otherwise the target is located from the instruction. The person's default uploaded resume is not modified; an active default variant is refused. Existing materials are required.
| Argument | Type | Description |
|---|---|---|
| scope | any | |
| instruction* | string | |
| applicationId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"applicationId",
"instruction"
],
"properties": {
"scope": {
"oneOf": [
{
"type": "object",
"required": [
"kind",
"index"
],
"properties": {
"kind": {
"type": "string",
"const": "paragraph"
},
"index": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "Blank-line-separated paragraph index in the cover letter."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"text"
],
"properties": {
"kind": {
"type": "string",
"const": "selection"
},
"text": {
"type": "string",
"maxLength": 600,
"minLength": 1,
"description": "Exact substring of the asset, which must occur exactly once."
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"id"
],
"properties": {
"id": {
"type": "string",
"description": "Resume block id from the HTML block map."
},
"kind": {
"type": "string",
"const": "section"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"questionId"
],
"properties": {
"kind": {
"type": "string",
"const": "answer"
},
"questionId": {
"type": "string"
}
},
"additionalProperties": false
}
]
},
"instruction": {
"type": "string",
"maxLength": 600,
"minLength": 1
},
"applicationId": {
"type": "string"
}
}
}Deletes the specified unconfirmed career hypothesis from the account's stored hypotheses. Existing confirmed career facts and stated preferences are unaffected.
| Argument | Type | Description |
|---|---|---|
| hypothesisId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"hypothesisId"
],
"properties": {
"hypothesisId": {
"type": "string"
}
}
}Changes alignment, bold, italic or underline formatting of a tailored resume without changing its words. line identifies a passage and section identifies a heading; selected text can supply the target when neither is given. No writing model or allowance is used. The receipt includes undo.
| Argument | Type | Description |
|---|---|---|
| bold | boolean | `false` removes the mark. |
| line | string | A few words that identify one non-blank line of the tailored resume, matched case-insensitively. |
| text | string | A phrase within the targeted lines. When given, the marks apply to it alone; otherwise to the whole of each line. |
| align | string | |
| italic | boolean | `false` removes the mark. |
| section | string | A heading as it appears on the resume, such as SUMMARY or EXPERIENCE; the section's lines under it are styled together. The heading line itself is not — to style it, name it as a `line`. |
| underline | boolean | `false` removes the mark. |
| applicationId* | string |
Generates a personalized outreach-email draft for the specified contact and job. No email is sent by this call.
| Argument | Type | Description |
|---|---|---|
| jobId* | string | Job ID |
| contactId* | string | Contact ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"contactId",
"jobId"
],
"properties": {
"jobId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Job ID"
},
"contactId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Contact ID"
}
}
}Queues a tailored resume, cover letter and employer-question answers for one saved role. assets optionally selects a subset; omission requests all three. Each request spends one pack allowance, regardless of subset, and generation settles asynchronously. Existing materials can be overwritten by generation.
| Argument | Type | Description |
|---|---|---|
| jobId* | string | Listing or private-job id, for a role not yet prepared. |
| assets | array | Subset to generate. Omit for all three. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"jobId"
],
"properties": {
"jobId": {
"type": "string",
"description": "Listing or private-job id, for a role not yet prepared."
},
"assets": {
"type": "array",
"items": {
"enum": [
"resume",
"coverLetter",
"answers"
],
"type": "string"
},
"maxItems": 3,
"minItems": 1,
"description": "Subset to generate. Omit for all three."
}
}
}Generates a tailored resume for the specified account-owned application and returns its result. This does not submit an application.
| Argument | Type | Description |
|---|---|---|
| applicationId* | string | Application ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"applicationId"
],
"properties": {
"applicationId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Application ID"
}
}
}Returns version-specific resume PDF and DOCX, cover-letter PDF and combined-pack PDF download links for one application, plus source, inclusion, lock state and revision. Links open without login for about ten minutes. Null links indicate missing or excluded documents. packPageUrl requires sign-in. There is no cover-letter DOCX.
| Argument | Type | Description |
|---|---|---|
| applicationId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"applicationId"
],
"properties": {
"applicationId": {
"type": "string"
}
}
}Returns one account-owned application's resume and cover-letter materials plus draft employer-question answers with IDs, labels, current text and input type. Materials include default and tailored resume contents, selected variant, inclusion, lock state and optimistic revision for submission. Rendered resume PDFs are not included (pdfBase64 is null); get_application_documents returns download links for the files this application will send.
| Argument | Type | Description |
|---|---|---|
| applicationId* | string | Application ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"applicationId"
],
"properties": {
"applicationId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Application ID"
}
}
}Returns readiness for one-off submission and Autopilot, plan entitlement and missing onboarding answers. Missing items include question, answerShape, choices, current value, available suggestion and webUrl. A null answerShape means the step requires the person's action in the web app. This read sends nothing.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Returns an application's event timeline and separate submitted, employerConfirmed and replied facts. An application id or pipeline matchId resolves the application. Coverage names the mail this read inspected, normally only mail sent to the account's Dreamwork application address; employer mail sent anywhere else is not visible here and stays unknown. personalInboxConnected false is the normal state, not a setup step. The board column alone is not submission evidence. submittedAnswers contains captured employer-form values and cover-letter delivery for the proven submitted attempt, or null when submission, the attempt or a capture is unproven or unavailable.
| Argument | Type | Description |
|---|---|---|
| applicationId* | string | Application id. A pipeline card's `matchId` is accepted and resolved to the application behind it. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"applicationId"
],
"properties": {
"applicationId": {
"type": "string",
"description": "Application id. A pipeline card's `matchId` is accepted and resolved to the application behind it."
}
}
}Returns the saved minimum Matches score, the default-versus-tailored resume choice, and whether Autopilot skips roles whose posted pay tops out below the person's minimum salary, with that minimum. Reading settings starts no applications.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Returns Autopilot state (on or off, matching the product switch, or unavailable when the plan does not include it), daily and monthly sent counts and plan limits, match-score floor, eligible and in-flight counts and nextRunAt, which is null unless the state is on. dailyLimit is today's allowance and usualDailyLimit is the plan's usual daily limit. On the first day Autopilot sends in a monthly window, dailyLimit is a larger first-day allowance; after that day it equals usualDailyLimit. That first day is the first day it sends in the window, not the first day of the calendar month. unavailableReason explains plan restrictions. No last-run timestamp is provided.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Returns resume-derived professional facts, document-vault metadata, person-stated preferences, writing preferences and unconfirmed hypotheses as separate fields. Resume text and document bodies are excluded.
| Argument | Type | Description |
|---|---|---|
| include | array | Narrow the read. Omit for all four. A section you leave out comes back empty rather than absent, so do not read an omitted section as "they have none". |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"include": {
"type": "array",
"items": {
"enum": [
"facts",
"vault",
"stated",
"hypotheses"
],
"type": "string"
},
"description": "Narrow the read. Omit for all four. A section you leave out comes back empty rather than absent, so do not read an omitted section as \"they have none\"."
}
}
}Returns job-alert settings and cadence, Autopilot result-email mode, product-update consent and the all-optional-emails-off state. jobAlertEligibility separately reports delivery restrictions such as bounce or unsubscribe. Account, security, billing and essential employer mail are outside these settings.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Returns tailored resumes generated for the specified account-owned application. Rendered PDFs are not included (pdfBase64 is null).
| Argument | Type | Description |
|---|---|---|
| applicationId* | string | Application ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"applicationId"
],
"properties": {
"applicationId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Application ID"
}
}
}Returns recruiter conversations ordered by newest activity, including role, message kind, unread state and whether the employer wrote last. unanswered means the employer wrote last; needsReply means that message asks for a response. A threadId returns its messages. Reading does not mark mail read. limit and nextOffset support pagination; mail bodies are third-party content. A page holds 20 threads by default and limit accepts up to 50; for the next page, send the previous nextOffset as offset, and null means the end.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| offset | integer | Threads to skip; the previous result's `nextOffset`. |
| threadId | string | Read one thread in full instead of listing. |
| unreadOnly | boolean | Only threads holding mail the person has not been shown. |
| unansweredOnly | boolean | Only threads whose last employer mail needs a reply. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0,
"description": "Threads to skip; the previous result's `nextOffset`."
},
"threadId": {
"type": "string",
"description": "Read one thread in full instead of listing."
},
"unreadOnly": {
"type": "boolean",
"description": "Only threads holding mail the person has not been shown."
},
"unansweredOnly": {
"type": "boolean",
"description": "Only threads whose last employer mail needs a reply."
}
}
}Returns one saved or corpus role by id with full description, company, location and remote terms, salary, posted date, match score, saved state, board column, application id, material readiness and work-eligibility verdict. url is the Dreamwork listing page; sourceUrl is the employer's direct posting. eligible is true for an unrestricted role or a confirmed allowed country, false for a high-confidence restriction excluding confirmed countries, and null when eligibility is unknown. Only false blocks applying or Autopilot: null means eligibility is not yet known, so proceed with applying — the application itself surfaces any real restriction. whyItMatches may be empty when no matcher explanation is stored.
| Argument | Type | Description |
|---|---|---|
| jobId* | string | Listing id or private-job id from the feed or envelope. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"jobId"
],
"properties": {
"jobId": {
"type": "string",
"description": "Listing id or private-job id from the feed or envelope."
}
}
}Returns full details of a platform job listing identified by id. No login is required. url is the Dreamwork listing page; sourceUrl is the employer's direct posting.
| Argument | Type | Description |
|---|---|---|
| id* | string | Listing ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Listing ID"
}
}
}Returns CURRENT worldwide hiring-market context from Dreamwork's live job corpus, refreshed twice daily: companies tracked, open roles, roles added in the last 7 days, growing vs contracting companies, week-over-week movement, plus global layoff pressure by industry and company. All figures are worldwide; for country- or function-scoped company lists use get_top_hiring_companies. Use it as fresh evidence that postdates your training data when advising on job-search strategy, industry outlook, or where opportunity is moving. No login required.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Returns material preparation state for the specified application, board-card or listing ids: queued, generating, ready, partial, failed, stale, not_started or not_found. Includes requested and completed assets, edit and lock state, material revision and review-page URL. Reading starts no generation and changes no materials.
| Argument | Type | Description |
|---|---|---|
| applicationIds* | array | Application ids from a receipt or a result; a card or listing id on the board also resolves. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"applicationIds"
],
"properties": {
"applicationIds": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"minItems": 1,
"description": "Application ids from a receipt or a result; a card or listing id on the board also resolves."
}
}
}Returns saved and applied roles as board cards with column, application id and last-updated time. total and counts cover all matching records; complete identifies whether cards are truncated by limit. limit defaults to 50 cards and accepts up to 100; there is no next page, so when complete is false narrow the read with status. Column values describe board state and do not establish employer receipt or response.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| status | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1
},
"status": {
"enum": [
"SAVED",
"APPLIED",
"CONFIRMED",
"INTERVIEWING",
"OFFER_RECEIVED",
"ACCEPTED",
"REJECTED",
"NO_RESPONSE",
"WITHDRAWN"
],
"type": "string"
}
}
}Returns Dreamwork's job-search, pipeline, resume-tailoring, application, outreach and interview capabilities, plus its product context.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Returns stated target functions, work locations and modes, relocation, pay floor, availability, deal-breakers, excluded companies, places and levels, seniority, AI-role interest and cover-letter settings. unanswered identifies preference keys the account holder has not supplied. It does not return resume content or work history.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Returns the authenticated account's profile, resume text, preferences and profileIdentityVersion snapshot. resumeUrl is null when the stored resume file is inline rather than a link; resumeText carries its contents.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Returns a download link for the account's main profile resume as a PDF, with its expiry, filename and MIME type. The link opens without login for ten minutes and only for the file that existed when it was made. It returns no file content. status is ready, no_resume_on_file or no_file_for_resume; the last two carry null fields and are not errors.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Returns the account's main resume grouped by role: each employer with its title, location, dates and bullets as read from the file's page layout, plus achievements placed under no role and a count of bullets whose extracted-text position disagrees with the layout. status is ready, pending (still being read; call again shortly) or unavailable (no resume, or it could not be read).
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Returns aggregate account-owned job, application, escalation and outreach statistics.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Returns one account-owned assistant ledger entry by taskId, including action, status, receipt, error code, and creation and update times. Queued work can be followed through its recorded status.
| Argument | Type | Description |
|---|---|---|
| taskId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"taskId"
],
"properties": {
"taskId": {
"type": "string"
}
}
}Returns the companies hiring the most right now, ranked by open roles among companies active in the last 7 days, with hiring trend, week-over-week velocity and median pay. Optional filters: job function, country, hiring trend. Use it to ground company recommendations in fresh data that postdates your training data; each company's url is its page on Dreamwork. No login required.
| Argument | Type | Description |
|---|---|---|
| limit | integer | How many companies to return, 1-25. Default 15. |
| trend | string | Keep only companies with this hiring trend. |
| country | string | Two-letter ISO country code, e.g. US. |
| function | string | Limit to one job function, e.g. engineering. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 25,
"minimum": 1,
"description": "How many companies to return, 1-25. Default 15."
},
"trend": {
"enum": [
"growing",
"stable",
"contracting"
],
"type": "string",
"description": "Keep only companies with this hiring trend."
},
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"maxLength": 2,
"minLength": 2,
"description": "Two-letter ISO country code, e.g. US."
},
"function": {
"enum": [
"engineering",
"product",
"design",
"data-science",
"sales",
"marketing",
"operations",
"customer-success",
"finance"
],
"type": "string",
"description": "Limit to one job function, e.g. engineering."
}
}
}Returns unread recruiter-message and thread counts, oldest unread time and recent message previews with thread, company, role and kind. Reading does not mark messages read. Previews contain third-party email content.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Returns new matches, board-status changes, employer-mail threads and Autopilot state since the supplied timestamp. asOf is the next watermark. Match discovery includes overlapHours, defaulting to 72, before since because listings may become servable after first discovery; repeated ids can appear. Truncation counts identify older changes excluded by caps. Reading marks no mail read and creates no schedule.
| Argument | Type | Description |
|---|---|---|
| since* | string | The previous result's `asOf`, or when the person last checked. |
| overlapHours | integer | How far before `since` to look for new matches; 72 when omitted. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"since"
],
"properties": {
"since": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "The previous result's `asOf`, or when the person last checked."
},
"overlapHours": {
"type": "integer",
"maximum": 168,
"minimum": 0,
"description": "How far before `since` to look for new matches; 72 when omitted."
}
}
}Returns a browser link to checkout for the requested Pro or Dreamer plan and optional billing interval or promo code. Sign-in precedes checkout when required. No charge occurs until payment is confirmed on the checkout page.
| Argument | Type | Description |
|---|---|---|
| plan* | string | The plan the person asked for. |
| promoCode | string | Only when the person supplied one. |
| billingInterval | string | Only when the person named one. Quarterly is one invoice every three months at about 15% less; a promo code prices a monthly invoice, so the two cannot be combined. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"plan"
],
"properties": {
"plan": {
"enum": [
"pro",
"dreamer"
],
"type": "string",
"description": "The plan the person asked for."
},
"promoCode": {
"type": "string",
"maxLength": 64,
"description": "Only when the person supplied one."
},
"billingInterval": {
"enum": [
"month",
"quarter"
],
"type": "string",
"description": "Only when the person named one. Quarterly is one invoice every three months at about 15% less; a promo code prices a monthly invoice, so the two cannot be combined."
}
}
}Returns packs and applications used today, the account's limit for each and the next reset time. A null limit represents an unlimited allowance.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Fetches a public job-posting URL and imports it as a private role in the account's pipeline. Extraction runs asynchronously and the card appears when it finishes. A posting already held by Dreamwork returns completed without another fetch.
| Argument | Type | Description |
|---|---|---|
| url* | string | Job posting URL, as the person gave it. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Job posting URL, as the person gave it."
}
}
}Returns the account's saved recruiter and referrer contacts, optionally filtered by company.
| Argument | Type | Description |
|---|---|---|
| company | string | Filter by company |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"company": {
"type": "string",
"description": "Filter by company"
}
}
}Returns the account's dismissed listings, newest first, with listing id, title, company, Dreamwork page url, dismissal time and whether the listing is still active. total counts all dismissed listings. limit defaults to 20 and accepts up to 50; nextOffset continues the list and null ends it.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Page size, 20 when omitted. |
| offset | integer | `nextOffset` from the previous page; 0 when omitted. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Page size, 20 when omitted."
},
"offset": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "`nextOffset` from the previous page; 0 when omitted."
}
}
}Returns all interviews detected for the account, including role, company, time and platform when known. No role filter is applied.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Returns the account's ranked live match pool with job id, its Dreamwork page url, title, company, location, remote terms, salary, dates, match percent and saved/applied state. Filters narrow that pool; nextCursor continues a page with identical filters, and null ends the walk. A page holds 10 jobs by default and limit accepts up to 50; the next page is the previous nextCursor, which keeps the page size it was issued with. addedAfter supports overlapping discovery windows because listings can become servable after first discovery. notes describe applied filters and coverage.
| Argument | Type | Description |
|---|---|---|
| sort | string | Order; relevance when omitted. |
| bonus | boolean | |
| limit | integer | Page size, 10 when omitted. A cursor keeps the size it was issued with. |
| query | string | Free-text search across the person's match pool. |
| aiRole | boolean | AI roles only. |
| cursor | string | `nextCursor` from the previous page. Send the same filters and sort, or it is refused. |
| equity | boolean | |
| function | string |
Returns recent account-owned assistant actions, newest first, across the site and MCP. status filters ongoing, completed or failed work; limit bounds the result. The ledger records actions rather than conversation text.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| status | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1
},
"status": {
"enum": [
"running",
"completed",
"queued",
"verifying",
"failed",
"cancelled",
"undone"
],
"type": "string"
}
}
}Records an application the account holder submitted outside Dreamwork. Exactly one of matchId, listingId or url names the role; a role not yet in the pipeline is added in Applied without generating materials, and an unlisted URL is imported in the background. appliedAt (YYYY-MM-DD or ISO 8601, not in the future) is the reported application date and defaults to now; repeating the call with a new appliedAt corrects it. attestation:true is required and represents the person's confirmation that submission occurred. Recorded roles are excluded from matches and Autopilot. Applications Dreamwork is still sending are refused. There is no undo. This call does not send an application.
| Argument | Type | Description |
|---|---|---|
| url | string | The job posting's URL, for a role Dreamwork does not list. |
| matchId | string | Board card id from `get_pipeline`. |
| appliedAt | any | When they applied, as YYYY-MM-DD or an ISO 8601 timestamp. Not in the future. Omitted means now. |
| listingId | string | Dreamwork listing id, from `list_matches` or `get_job`. The role does not have to be saved. |
| attestation* | boolean | The person stated they applied to this role themselves. Never assumed. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"attestation"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "The job posting's URL, for a role Dreamwork does not list."
},
"matchId": {
"type": "string",
"description": "Board card id from `get_pipeline`."
},
"appliedAt": {
"anyOf": [
{
"type": "string",
"format": "date",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
},
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
}
],
"description": "When they applied, as YYYY-MM-DD or an ISO 8601 timestamp. Not in the future. Omitted means now."
},
"listingId": {
"type": "string",
"description": "Dreamwork listing id, from `list_matches` or `get_job`. The role does not have to be saved."
},
"attestation": {
"type": "boolean",
"const": true,
"description": "The person stated they applied to this role themselves. Never assumed."
}
}
}Marks the specified recruiter messages read within one thread. Message ids identify the exact messages presented to the account holder; other messages remain unread. The change has no undo.
| Argument | Type | Description |
|---|---|---|
| threadId* | string | The thread the messages were shown from, as `get_inbox` gave it. |
| messageIds* | array | Ids of the messages the person was shown. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"threadId",
"messageIds"
],
"properties": {
"threadId": {
"type": "string",
"description": "The thread the messages were shown from, as `get_inbox` gave it."
},
"messageIds": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"minItems": 1,
"description": "Ids of the messages the person was shown."
}
}
}Moves one role's board card to the requested column using the account holder's reported state. No employer is contacted. APPLIED records an application rather than submitting one; INTERVIEWING creates a durable interview record. WITHDRAWN removes the card from the active board. Closing a role can remove its listing from the feed. A receipt offers undo only when reversible.
| Argument | Type | Description |
|---|---|---|
| status* | string | |
| matchId* | string | Board card id from `get_pipeline`. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"matchId",
"status"
],
"properties": {
"status": {
"enum": [
"SAVED",
"APPLIED",
"CONFIRMED",
"INTERVIEWING",
"OFFER_RECEIVED",
"ACCEPTED",
"REJECTED",
"NO_RESPONSE",
"WITHDRAWN"
],
"type": "string"
},
"matchId": {
"type": "string",
"description": "Board card id from `get_pipeline`."
}
}
}Parses a sentence describing job preferences, applies supported fields and returns applied values and unparsed fragments. Compensation and seniority are not set by this parser and remain unparsed.
| Argument | Type | Description |
|---|---|---|
| text* | string | The person's sentence, verbatim. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 1000,
"minLength": 1,
"description": "The person's sentence, verbatim."
}
}
}Saves and prepares materials for up to ten specified roles sequentially without submitting applications. Unsaved roles consume the daily save allowance; generation for saved roles consumes pack allowance. Finished or in-flight preparation is reused, and person-edited materials are preserved. Each role returns its own outcome.
| Argument | Type | Description |
|---|---|---|
| assets | array | Subset to write for every role. Omit for all three. |
| jobIds* | array | Listing or private-job ids, each once. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"jobIds"
],
"properties": {
"assets": {
"type": "array",
"items": {
"enum": [
"resume",
"coverLetter",
"answers"
],
"type": "string"
},
"maxItems": 3,
"minItems": 1,
"description": "Subset to write for every role. Omit for all three."
},
"jobIds": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"minItems": 1,
"description": "Listing or private-job ids, each once."
}
}
}Stores an unconfirmed career hypothesis separately from established facts. At most twenty hypotheses may be pending; further writes are refused at that limit. The statement does not change matching preferences or become a confirmed profile fact.
| Argument | Type | Description |
|---|---|---|
| text* | string | The belief, in one sentence, phrased as a guess. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"text"
],
"properties": {
"text": {
"type": "string",
"maxLength": 240,
"minLength": 1,
"description": "The belief, in one sentence, phrased as a guess."
}
}
}Opens a new editable material revision only after the API establishes that a failed application cannot still submit. Access is restricted to the Applications rollout cohort admitted by the API.
| Argument | Type | Description |
|---|---|---|
| applicationId* | string | Failed application ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"applicationId"
],
"properties": {
"applicationId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Failed application ID"
}
}
}Replaces one application's resume or cover letter with the person's supplied text or raw-base64 PDF, DOCX, TXT or MD. The stored content is not rewritten by a model. A resume becomes the selected tailored copy; a letter becomes included. PDF resumes retain their original file, while other formats are rendered from extracted text. expectedRevision is required; locked or sent applications are refused. The account's main resume is unaffected.
| Argument | Type | Description |
|---|---|---|
| file | object | |
| text | string | The whole document as the person wrote it. Send this or `file`. |
| document* | string | |
| applicationId* | string | |
| expectedRevision* | integer | The `revision` from get_application_documents or get_application_materials. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"applicationId",
"document",
"expectedRevision"
],
"properties": {
"file": {
"type": "object",
"required": [
"contentBase64",
"format"
],
"properties": {
"format": {
"enum": [
"pdf",
"docx",
"txt",
"md"
],
"type": "string"
},
"filename": {
"type": "string",
"maxLength": 255
},
"contentBase64": {
"type": "string",
"maxLength": 1900000,
"minLength": 1,
"description": "The file's raw bytes, base64-encoded; about 1.4 MB at most."
}
}
},
"text": {
"type": "string",
"maxLength": 100000,
"minLength": 1,
"description": "The whole document as the person wrote it. Send this or `file`."
},
"document": {
"enum": [
"resume",
"coverLetter"
],
"type": "string"
},
"applicationId": {
"type": "string"
},
"expectedRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "The `revision` from get_application_documents or get_application_materials."
}
}
}Sends the supplied reply text to one existing recruiter conversation under the account holder's identity. Sending requires explicit consent and an unambiguous thread; otherwise the result is a confirmation hold containing the draft. Sent mail cannot be recalled. Threads whose ids begin with inbound: cannot receive replies through this endpoint.
| Argument | Type | Description |
|---|---|---|
| body* | string | The full reply text, as it will be sent. |
| threadId* | string | |
| confirmationToken | string | Echo the token from a previous `held` result to carry out the act it described, and only after the person has seen that result's summary and agreed to it. Send identical arguments: the token is bound to the exact call it was issued for, so a changed argument is held again with a fresh token and a fresh summary. It lasts two minutes and is spent once. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"threadId",
"body"
],
"properties": {
"body": {
"type": "string",
"maxLength": 4000,
"minLength": 1,
"description": "The full reply text, as it will be sent."
},
"threadId": {
"type": "string"
},
"confirmationToken": {
"type": "string",
"description": "Echo the token from a previous `held` result to carry out the act it described, and only after the person has seen that result's summary and agreed to it. Send identical arguments: the token is bound to the exact call it was issued for, so a changed argument is held again with a fresh token and a fresh summary. It lasts two minutes and is spent once."
}
}
}Reverses the dismissal of a role, every listing with the same employer and title, so it can return to the account's match feed, job alerts and Autopilot. Restoring a listing that is not dismissed returns a no-op receipt. Restoring does not save the listing. A closed listing stays out of the feed.
| Argument | Type | Description |
|---|---|---|
| jobId* | string | Listing id, as `dismiss_match` and `list_dismissed_matches` give it. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"jobId"
],
"properties": {
"jobId": {
"type": "string",
"description": "Listing id, as `dismiss_match` and `list_dismissed_matches` give it."
}
}
}Restores a cover letter, tailored resume or answer to a recorded pre-edit version within its undo window. Arguments must match the recorded edit; arbitrary replacement text is refused. Resume restoration uses resumeRevisionId and restores the application's sendable copy.
| Argument | Type | Description |
|---|---|---|
| text | string | The text that stood before the edit, from its receipt. Required for `coverLetter` and `answers`; a resume restore names a revision instead. |
| asset* | string | Which asset the edit changed. |
| question | string | The answer's question text; required for `answers`. |
| applicationId* | string | |
| resumeRevisionId | string | The tailored-resume revision to put back, from the `edit_resume` receipt. Required for `resume`. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"applicationId",
"asset"
],
"properties": {
"text": {
"type": "string",
"maxLength": 50000,
"description": "The text that stood before the edit, from its receipt. Required for `coverLetter` and `answers`; a resume restore names a revision instead."
},
"asset": {
"enum": [
"coverLetter",
"resume",
"answers"
],
"type": "string",
"description": "Which asset the edit changed."
},
"question": {
"type": "string",
"maxLength": 2000,
"description": "The answer's question text; required for `answers`."
},
"applicationId": {
"type": "string"
},
"resumeRevisionId": {
"type": "string",
"maxLength": 200,
"description": "The tailored-resume revision to put back, from the `edit_resume` receipt. Required for `resume`."
}
}
}Saves person-stated application-answer and contact groups through onboarding validation, then rechecks readiness and completes setup when no requirements remain. statedByPerson:true attests that supplied values came from the person. eligibility.countries replaces the stored list. An empty answer set can finish otherwise-complete onboarding. Returns ready and stillMissing; no application is sent.
| Argument | Type | Description |
|---|---|---|
| answers | object | |
| contact | object | |
| statedByPerson* | boolean | The person gave every value here in this conversation. Never assumed. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"statedByPerson"
],
"properties": {
"answers": {
"type": "object",
"properties": {
"eligibility": {
"type": "object",
"properties": {
"countries": {
"type": "array",
"items": {
"type": "object",
"required": [
"code",
"authorized",
"requiresSponsorship",
"basis"
],
"properties": {
"code": {
"type": "string",
"description": "ISO-3166-1 alpha-2, e.g. \"US\"."
},
"basis": {
"enum": [
"citizen",
"permanent_resident",
"eu_freedom_of_movement",
"asylee_or_refugee",
"temporary_work_auth",
"not_authorized"
],
"type": "string"
},
"authorized": {
"type": "boolean"
},
"authorizationType": {
"type": "string",
"description": "Temporary authorization only, e.g. \"H-1B\"."
},
"sponsorshipTiming": {
"enum": [
"now",
"future",
"now_and_future"
],
"type": "string",
"description": "Only when requiresSponsorship is true."
},
"requiresSponsorship": {
"type": "boolean"
},
"authorizationExpiresOn": {
"type": "string",
"description": "Temporary authorization only, YYYY-MM-DD."
}
}
},
"description": "REPLACES the stored list: include every country, the stored ones too."
},
"citizenshipCountryCodes": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"availability": {
"anyOf": [
{
"oneOf": [
{
"type": "object",
"required": [
"kind"
],
"properties": {
"kind": {
"type": "string",
"const": "immediate"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"date"
],
"properties": {
"date": {
"type": "string",
"description": "Local date, YYYY-MM-DD."
},
"kind": {
"type": "string",
"const": "specific_date"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"noticePeriodDays"
],
"properties": {
"kind": {
"type": "string",
"const": "notice_period"
},
"noticePeriodDays": {
"type": "integer",
"maximum": 365,
"minimum": 1
}
},
"additionalProperties": false
}
]
},
{
"type": "null"
}
]
},
"compensation": {
"anyOf": [
{
"oneOf": [
{
"type": "object",
"required": [
"kind"
],
"properties": {
"kind": {
"type": "string",
"const": "open"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"minimumAmount",
"currency",
"period"
],
"properties": {
"kind": {
"type": "string",
"const": "minimum"
},
"period": {
"enum": [
"hour",
"year"
],
"type": "string"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO-4217 code, e.g. \"USD\"."
},
"minimumAmount": {
"type": "number",
"maximum": 100000000,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}
],
"description": "A USD per-year minimum must be between 10,000 and 1,000,000; other currencies and hourly rates are unbounded."
},
{
"type": "null"
}
]
},
"qualifications": {
"type": "object",
"properties": {
"languages": {
"type": "array",
"items": {
"type": "object",
"required": [
"code",
"proficiency"
],
"properties": {
"code": {
"type": "string",
"description": "BCP-47, e.g. \"en\"."
},
"proficiency": {
"enum": [
"basic",
"conversational",
"professional",
"fluent",
"native_or_bilingual"
],
"type": "string"
}
}
},
"description": "Replaces the stored list."
},
"highestEducationLevel": {
"enum": [
"less_than_high_school",
"high_school_or_equivalent",
"some_college",
"associate",
"bachelor",
"master",
"professional",
"doctorate",
"other",
"prefer_not_to_answer"
],
"type": "string"
}
}
},
"workPreferences": {
"type": "object",
"properties": {
"maxTravelPercent": {
"type": "integer",
"maximum": 100,
"minimum": 0
},
"acceptedWorkModes": {
"type": "array",
"items": {
"enum": [
"remote",
"hybrid",
"onsite"
],
"type": "string"
},
"minItems": 1
},
"willingToRelocate": {
"type": "boolean"
}
},
"description": "Merged over what is stored."
},
"screeningAnswers": {
"type": "object",
"properties": {
"criminalHistory": {
"enum": [
"none",
"yes",
"prefer_not_to_answer"
],
"type": "string"
},
"securityClearance": {
"enum": [
"none",
"public_trust",
"confidential",
"secret",
"top_secret",
"top_secret_sci",
"other_active"
],
"type": "string"
},
"attestationConsent": {
"type": "boolean",
"description": "Whether Dreamwork may sign accuracy statements on their behalf."
},
"backgroundCheckConsent": {
"type": "boolean"
},
"criminalHistoryDetails": {
"type": "string",
"maxLength": 1000
},
"reliableTransportation": {
"type": "boolean"
},
"workplaceAccommodation": {
"enum": [
"yes",
"no",
"prefer_not_to_answer"
],
"type": "string"
},
"clearanceEligibleToObtain": {
"enum": [
"yes",
"no",
"not_sure"
],
"type": "string"
},
"foreignGovernmentFamilyTies": {
"type": "boolean"
},
"governmentOrMilitaryEmployment": {
"type": "boolean"
}
},
"description": "Merged over what is stored."
}
}
},
"contact": {
"type": "object",
"properties": {
"phone": {
"type": "string",
"maxLength": 40
},
"fullName": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"githubUrl": {
"type": "string"
},
"websiteUrl": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "string",
"const": ""
}
]
},
"linkedinUrl": {
"type": "string"
},
"portfolioUrl": {
"anyOf": [
{
"type": "string",
"format": "uri"
},
{
"type": "string",
"const": ""
}
]
},
"phoneDialCode": {
"type": "string",
"description": "Country calling code with its plus, e.g. \"+1\"."
},
"mailingAddress": {
"type": "object",
"required": [
"line1",
"city",
"region",
"postalCode",
"country"
],
"properties": {
"city": {
"type": "string"
},
"line1": {
"type": "string"
},
"line2": {
"type": "string"
},
"region": {
"type": "string",
"description": "State, province or region; \"\" where none."
},
"country": {
"type": "string"
},
"postalCode": {
"type": "string",
"description": "\"\" where the country has none."
}
}
},
"currentLocation": {
"type": "string",
"maxLength": 120,
"description": "Where they live now, \"City, Region, Country\". Not where they want to work."
}
}
},
"statedByPerson": {
"type": "boolean",
"const": true,
"description": "The person gave every value here in this conversation. Never assumed."
}
}
}Saves one role to the account's pipeline at SAVED as a bookmark. No application is submitted or queued until apply is called. Application materials may start preparing in the background. An already saved role returns a no-op receipt.
| Argument | Type | Description |
|---|---|---|
| jobId* | string | Listing id or private-job id. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"jobId"
],
"properties": {
"jobId": {
"type": "string",
"description": "Listing id or private-job id."
}
}
}Sets Autopilot on or off after explicit consent. On authorizes recurring real employer submissions under the account holder's name without per-application approval. Off stops sending and keeps the minimum match, resume choice and queue; paused is accepted and means off. Daily and monthly limits remain determined by the plan.
| Argument | Type | Description |
|---|---|---|
| state* | string | |
| confirmationToken | string | Echo the token from a previous `held` result to carry out the act it described, and only after the person has seen that result's summary and agreed to it. Send identical arguments: the token is bound to the exact call it was issued for, so a changed argument is held again with a fresh token and a fresh summary. It lasts two minutes and is spent once. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"state"
],
"properties": {
"state": {
"enum": [
"on",
"off",
"paused"
],
"type": "string"
},
"confirmationToken": {
"type": "string",
"description": "Echo the token from a previous `held` result to carry out the act it described, and only after the person has seen that result's summary and agreed to it. Send identical arguments: the token is bound to the exact call it was issued for, so a changed argument is held again with a fresh token and a fresh summary. It lasts two minutes and is spent once."
}
}
}Returns a checkout URL for the requested plan change after explicit consent. A confirmation hold precedes checkout creation. This call does not charge the account; payment details and payment confirmation occur on the billing page.
| Argument | Type | Description |
|---|---|---|
| plan* | string | The plan the person asked for. |
| promoCode | string | Only when the person supplied one. |
| billingInterval | string | How often to invoice, only when the person named one; omitted means monthly. Quarterly is one invoice every three months at about 15% less than three monthly ones. A promo code prices a monthly invoice, so the two cannot be combined. |
| confirmationToken | string | Echo the token from a previous `held` result to carry out the act it described, and only after the person has seen that result's summary and agreed to it. Send identical arguments: the token is bound to the exact call it was issued for, so a changed argument is held again with a fresh token and a fresh summary. It lasts two minutes and is spent once. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"plan"
],
"properties": {
"plan": {
"enum": [
"pro",
"dreamer"
],
"type": "string",
"description": "The plan the person asked for."
},
"promoCode": {
"type": "string",
"maxLength": 64,
"description": "Only when the person supplied one."
},
"billingInterval": {
"enum": [
"month",
"quarter"
],
"type": "string",
"description": "How often to invoice, only when the person named one; omitted means monthly. Quarterly is one invoice every three months at about 15% less than three monthly ones. A promo code prices a monthly invoice, so the two cannot be combined."
},
"confirmationToken": {
"type": "string",
"description": "Echo the token from a previous `held` result to carry out the act it described, and only after the person has seen that result's summary and agreed to it. Send identical arguments: the token is bound to the exact call it was issued for, so a changed argument is held again with a fresh token and a fresh summary. It lasts two minutes and is spent once."
}
}
}Improves an application's existing materials against its role and recorded career evidence, spending one refine allowance per changed asset. emphasis adding numbers, titles, employers, dates or credentials requires evidenceIds. Unsupported resume entry headers are rejected; previously completed asset edits are retained if a later asset fails.
| Argument | Type | Description |
|---|---|---|
| emphasis | string | What the person wants foregrounded, when they said. Omit otherwise. |
| evidenceIds | array | Ids of the person's work-vault documents, or of facts on them, that support a claim the emphasis adds. |
| applicationId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"applicationId"
],
"properties": {
"emphasis": {
"type": "string",
"maxLength": 400,
"description": "What the person wants foregrounded, when they said. Omit otherwise."
},
"evidenceIds": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "Ids of the person's work-vault documents, or of facts on them, that support a claim the emphasis adds."
},
"applicationId": {
"type": "string"
}
}
}Reverses the latest action with an available undo, or the action identified by taskId. Sent applications, settled charges, expired undo windows and actions without a reversible outcome are refused with a reason.
| Argument | Type | Description |
|---|---|---|
| taskId | string | Undo this specific task instead of the most recent one. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"taskId": {
"type": "string",
"description": "Undo this specific task instead of the most recent one."
}
}
}Updates an application's resume selection, resume or cover-letter contents or inclusion at the expected optimistic revision. Access is restricted to the Applications rollout cohort admitted by the API. Locked or conflicting revisions are refused.
| Argument | Type | Description |
|---|---|---|
| resumeHtml | string | |
| coverLetter | string | |
| applicationId* | string | Application ID |
| resumeVariant | string | |
| expectedRevision* | integer | |
| coverLetterIncluded | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"applicationId",
"expectedRevision"
],
"properties": {
"resumeHtml": {
"type": "string",
"maxLength": 100000
},
"coverLetter": {
"type": "string",
"maxLength": 50000
},
"applicationId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"description": "Application ID"
},
"resumeVariant": {
"enum": [
"default",
"tailored"
],
"type": "string"
},
"expectedRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"coverLetterIncluded": {
"type": "boolean"
}
}
}Changes the minimum Matches score from 50 to 97, with null restoring 70, the default-versus-tailored resume choice, or whether roles whose posted pay tops out below the profile's minimum salary are skipped. Explicit consent is required. Changes apply to waiting applications and are rechecked before submission. This does not enable or resume Autopilot, recall sent applications or retry stopped applications.
| Argument | Type | Description |
|---|---|---|
| scoreFloor | any | |
| resumeVariant | string | |
| confirmationToken | string | Echo the token from a previous `held` result to carry out the act it described, and only after the person has seen that result's summary and agreed to it. Send identical arguments: the token is bound to the exact call it was issued for, so a changed argument is held again with a fresh token and a fresh summary. It lasts two minutes and is spent once. |
| requireSalaryMinimum | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"scoreFloor": {
"anyOf": [
{
"type": "integer",
"maximum": 97,
"minimum": 50
},
{
"type": "null"
}
]
},
"resumeVariant": {
"enum": [
"default",
"tailored"
],
"type": "string"
},
"confirmationToken": {
"type": "string",
"description": "Echo the token from a previous `held` result to carry out the act it described, and only after the person has seen that result's summary and agreed to it. Send identical arguments: the token is bound to the exact call it was issued for, so a changed argument is held again with a fresh token and a fresh summary. It lasts two minutes and is spent once."
},
"requireSalaryMinimum": {
"type": "boolean"
}
}
}Changes the supplied optional email categories while preserving omitted settings. allOptionalEmailsOff:true must be supplied alone; conflicting category settings are refused. Disabling Autopilot result mail does not stop applications. Account, security, billing and essential employer mail are unaffected.
| Argument | Type | Description |
|---|---|---|
| jobAlerts | string | |
| productUpdates | boolean | |
| autopilotResults | string | |
| allOptionalEmailsOff | boolean | Turn every optional email off. Send it on its own. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"jobAlerts": {
"enum": [
"daily",
"twice_weekly",
"off"
],
"type": "string"
},
"productUpdates": {
"type": "boolean"
},
"autopilotResults": {
"enum": [
"individual",
"daily_digest",
"off"
],
"type": "string"
},
"allOptionalEmailsOff": {
"type": "boolean",
"const": true,
"description": "Turn every optional email off. Send it on its own."
}
}
}Merges the supplied preference fields into the account's stored preferences and refreshes matching. compensation.kind is open or minimum; minimum requires minimumAmount, an ISO-4217 currency and an hour or year period. seniorities accepts one override level; an empty list restores resume-derived seniority. excludedCompanies, excludedPlaces and excludedSeniorities replace the lists of companies, places and levels hidden from matches, alerts and Autopilot; an excludedPlaces name that cannot be placed refuses the write. Autopilot never applies below the pay floor or outside the accepted work modes. Work modes and relocation are stored together, with omitted values preserved.
| Argument | Type | Description |
|---|---|---|
| patch* | object |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"patch"
],
"properties": {
"patch": {
"type": "object",
"properties": {
"seniorities": {
"type": "array",
"items": {
"enum": [
"INTERN",
"JUNIOR",
"MID",
"SENIOR",
"STAFF",
"PRINCIPAL",
"DIRECTOR",
"VP",
"C_SUITE"
],
"type": "string"
},
"maxItems": 1,
"description": "The level to match at, as a one-item list. It ranks roles; it hides none. `[]` drops back to the level read off the resume. To keep roles at other levels out of matches and Autopilot, use `excludedSeniorities`."
},
"availability": {
"anyOf": [
{
"oneOf": [
{
"type": "object",
"required": [
"kind"
],
"properties": {
"kind": {
"type": "string",
"const": "immediate"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"date"
],
"properties": {
"date": {
"type": "string",
"description": "Local date, YYYY-MM-DD."
},
"kind": {
"type": "string",
"const": "specific_date"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"noticePeriodDays"
],
"properties": {
"kind": {
"type": "string",
"const": "notice_period"
},
"noticePeriodDays": {
"type": "integer",
"maximum": 365,
"minimum": 1
}
},
"additionalProperties": false
}
]
},
{
"type": "null"
}
],
"description": "`null` withdraws it, which stops applications until it is answered again."
},
"compensation": {
"anyOf": [
{
"oneOf": [
{
"type": "object",
"required": [
"kind"
],
"properties": {
"kind": {
"type": "string",
"const": "open"
}
},
"additionalProperties": false
},
{
"type": "object",
"required": [
"kind",
"minimumAmount",
"currency",
"period"
],
"properties": {
"kind": {
"type": "string",
"const": "minimum"
},
"period": {
"enum": [
"hour",
"year"
],
"type": "string"
},
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"description": "ISO-4217 code, e.g. \"USD\"."
},
"minimumAmount": {
"type": "number",
"maximum": 100000000,
"exclusiveMinimum": 0
}
},
"additionalProperties": false
}
],
"description": "A USD per-year minimum must be between 10,000 and 1,000,000; other currencies and hourly rates are unbounded."
},
{
"type": "null"
}
],
"description": "The person's pay floor. This is where salary lives. Autopilot never applies to a role whose posted pay tops out below an annual floor; a role that posts no pay is still judged on the rest. `null` withdraws it, which stops applications until it is answered again."
},
"dealBreakers": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"maxItems": 10,
"description": "Free-text notes the fit check reads in each posting. They do not hide matches: a term of three words or fewer, such as an industry, only ranks listings whose title, company or industry contains it lower. Job alerts and Autopilot skip a role when the fit check finds a deal-breaker in it, but that is a model's reading, not a rule. A rule that must hold goes in its own key: a company in `excludedCompanies`, a place in `excludedPlaces`, a level in `excludedSeniorities`, pay in `compensation`, work setting in `acceptedWorkModes`. When a deal-breaker names one of those, offer to set the key instead."
},
"aiRoleInterest": {
"enum": [
"HIGH",
"OPEN",
"LOW",
"AVOID"
],
"type": "string",
"description": "How much they want AI-centred roles. AVOID demotes them."
},
"excludedPlaces": {
"type": "array",
"items": {
"type": "string",
"maxLength": 160,
"minLength": 1
},
"maxItems": 20,
"description": "Places never to show in matches, job alerts or Autopilot: each a city, a state or region, or a country, as the person names it (`Kirkland`, `Bellevue, WA`, `California`). A city hides that city only, not its metro, so list each suburb. Remote roles are never hidden by a place. A name that cannot be placed refuses the whole write and names it, so ask which city they mean (`Eastside` is not a place; `Bellevue`, `Redmond` and `Kirkland` are). This REPLACES the list: to add one, include the current ones from get_preferences."
},
"targetFunctions": {
"type": "array",
"items": {
"enum": [
"Engineering",
"Product",
"Design",
"Marketing",
"Data Science",
"Sales",
"Operations",
"Finance",
"Legal",
"HR",
"Customer Success",
"DevRel",
"Security",
"Research",
"Executive"
],
"type": "string"
},
"maxItems": 3,
"description": "Up to three of these labels; this REPLACES the list, so to add one include the current ones from get_preferences or the situation."
},
"acceptedWorkModes": {
"type": "array",
"items": {
"enum": [
"remote",
"hybrid",
"onsite"
],
"type": "string"
},
"minItems": 1,
"description": "Every work setting they accept. Autopilot never applies outside it, and for someone who works only remotely it skips a listing that states no setting."
},
"excludedCompanies": {
"type": "array",
"items": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"maxItems": 50,
"description": "Companies never to show in matches, job alerts or Autopilot. A name hides that company, the companies it owns, the parent brand of a division (`Walmart Global Tech` hides `Walmart`) and longer company names that begin with it (`Amazon` hides `Amazon Web Services`), so use the shortest name that is still specific. A name with no Latin letters or digits, or made only of legal forms like `Inc`, is refused. This REPLACES the list: to add one, include the current ones from get_preferences. It does not block a manual apply or remove saved jobs."
},
"willingToRelocate": {
"type": "boolean"
},
"preferredLocations": {
"type": "array",
"items": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"maxItems": 5,
"description": "Where they want to work, not where they live."
},
"coverLettersEnabled": {
"type": "boolean"
},
"excludedSeniorities": {
"type": "array",
"items": {
"enum": [
"INTERN",
"JUNIOR",
"MID",
"SENIOR",
"STAFF",
"PRINCIPAL",
"DIRECTOR",
"VP",
"C_SUITE"
],
"type": "string"
},
"maxItems": 9,
"description": "Levels never to show in matches, job alerts or Autopilot, such as `[\"STAFF\", \"PRINCIPAL\"]` for someone who wants senior roles and nothing above. A role whose level is not classified is not hidden. This REPLACES the list; `[]` clears it."
},
"tailoredResumesEnabled": {
"type": "boolean",
"description": "Whether each application gets a resume rewritten for the role, on the person's own Apply and on Autopilot. False sends their default resume instead, unless they picked a version on that application."
}
},
"additionalProperties": false
}
}
}Updates profile text fields such as name, email, phone and tone. Identity-bound changes require profileIdentityVersion matching the current profile snapshot. This endpoint does not upload a resume file.
| Argument | Type | Description |
|---|---|---|
| name | string | |
| string | ||
| phone | string | |
| tonePreferences | string | |
| coverLettersEnabled | boolean | Whether generated application packs include a cover letter. false turns cover letters off; Autopilot then skips jobs that require one. |
| tailoredResumesEnabled | boolean | Whether each application gets a resume rewritten for the role, on manual applies and Autopilot. false sends the default resume unless an application picked a version itself. |
| expectedProfileIdentityVersion | integer | Exact profileIdentityVersion from the prior get_profile snapshot used to prepare identity-bound changes; omit for a tone-only update. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"phone": {
"type": "string"
},
"tonePreferences": {
"type": "string"
},
"coverLettersEnabled": {
"type": "boolean",
"description": "Whether generated application packs include a cover letter. false turns cover letters off; Autopilot then skips jobs that require one."
},
"tailoredResumesEnabled": {
"type": "boolean",
"description": "Whether each application gets a resume rewritten for the role, on manual applies and Autopilot. false sends the default resume unless an application picked a version itself."
},
"expectedProfileIdentityVersion": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Exact profileIdentityVersion from the prior get_profile snapshot used to prepare identity-bound changes; omit for a tone-only update.",
"exclusiveMinimum": 0
}
}
}Uploads original resume-file bytes encoded as base64 with PDF, DOCX, TXT, MD, PNG, JPG, JPEG or WEBP format and the current profileIdentityVersion. The server parses text, performs image OCR and generates PDF output. This replaces the account's main resume; stale identity versions are refused.
| Argument | Type | Description |
|---|---|---|
| format* | string | File format |
| content* | string | Base64-encoded file content. Send the raw file bytes, not converted text. |
| filename | string | Original filename |
| expectedProfileIdentityVersion | integer | Exact profileIdentityVersion from the prior get_profile snapshot used to choose this resume. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"content",
"format"
],
"properties": {
"format": {
"enum": [
"pdf",
"docx",
"txt",
"md",
"png",
"jpg",
"jpeg",
"webp"
],
"type": "string",
"description": "File format"
},
"content": {
"type": "string",
"description": "Base64-encoded file content. Send the raw file bytes, not converted text."
},
"filename": {
"type": "string",
"description": "Original filename"
},
"expectedProfileIdentityVersion": {
"type": "integer",
"maximum": 9007199254740991,
"description": "Exact profileIdentityVersion from the prior get_profile snapshot used to choose this resume.",
"exclusiveMinimum": 0
}
}
}| boolean |
| Only postings offering equity. |
| remote | boolean | Shorthand for workSettings ["remote"]. |
| search | string | Words in the job title or company name. |
| company | string | Company name or domain. |
| function | array | Job functions to keep, as a union. |
| industry | string | Employer industry. One of: Software & Technology, Financial Services, Insurance, Healthcare & Hospitals, Pharma & Biotech, Consulting & Professional Services, Retail & Consumer Goods, Manufacturing & Industrial, Media & Entertainment, Education, Government & Public Sector, Nonprofit & NGO, Energy & Utilities, Telecommunications, Transportation & Logistics, Real Estate & Construction, Aerospace & Defense, Hospitality & Travel, Agriculture & Food, Legal, Marketing & Advertising, Other. |
| location | string | City, region, or country. Remote roles open to that country match too. A place Dreamwork cannot resolve is refused. |
| maxSalary | integer | Pay ceiling in whole annual US dollars. |
| minSalary | integer | Pay floor in whole annual US dollars, e.g. 200000. A listing passes when its posted band reaches it; listings with no posted pay drop out. |
| seniority | array | Seniority levels to keep, as a union. |
| addedAfter | string | Only listings Dreamwork first saw after this ISO date-time. |
| healthcare | boolean | Only postings offering healthcare. |
| internship | boolean | Internships, co-ops, and apprenticeships only. |
| workSettings | array | Work settings to keep, as a union. A posting that states none counts as onsite. |
| postedWithinDays | integer | Employer posting date within this many days. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"sort": {
"enum": [
"newest",
"pay_high",
"pay_low",
"featured"
],
"type": "string",
"description": "Order. Omit it to walk every match in a stable, unranked order; any sort stops the walk at 1,000."
},
"bonus": {
"type": "boolean",
"description": "Only postings offering a bonus."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Page size, 25 when omitted. Without a key, or when the account's plan caps it, the API returns at most 25."
},
"aiRole": {
"type": "boolean",
"description": "AI-focused roles only."
},
"cursor": {
"type": "string",
"maxLength": 1024,
"description": "`nextCursor` from the previous page. Send the same filters and sort, or it is refused."
},
"equity": {
"type": "boolean",
"description": "Only postings offering equity."
},
"remote": {
"type": "boolean",
"description": "Shorthand for workSettings [\"remote\"]."
},
"search": {
"type": "string",
"maxLength": 200,
"description": "Words in the job title or company name."
},
"company": {
"type": "string",
"maxLength": 120,
"description": "Company name or domain."
},
"function": {
"type": "array",
"items": {
"enum": [
"Engineering",
"Product",
"Design",
"Marketing",
"Data Science",
"Sales",
"Operations",
"Finance",
"Legal",
"HR",
"Customer Success",
"DevRel",
"Security",
"Research",
"Executive"
],
"type": "string"
},
"maxItems": 15,
"minItems": 1,
"description": "Job functions to keep, as a union."
},
"industry": {
"type": "string",
"maxLength": 60,
"description": "Employer industry. One of: Software & Technology, Financial Services, Insurance, Healthcare & Hospitals, Pharma & Biotech, Consulting & Professional Services, Retail & Consumer Goods, Manufacturing & Industrial, Media & Entertainment, Education, Government & Public Sector, Nonprofit & NGO, Energy & Utilities, Telecommunications, Transportation & Logistics, Real Estate & Construction, Aerospace & Defense, Hospitality & Travel, Agriculture & Food, Legal, Marketing & Advertising, Other."
},
"location": {
"type": "string",
"maxLength": 120,
"description": "City, region, or country. Remote roles open to that country match too. A place Dreamwork cannot resolve is refused."
},
"maxSalary": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1000,
"description": "Pay ceiling in whole annual US dollars."
},
"minSalary": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1000,
"description": "Pay floor in whole annual US dollars, e.g. 200000. A listing passes when its posted band reaches it; listings with no posted pay drop out."
},
"seniority": {
"type": "array",
"items": {
"enum": [
"Junior",
"Mid-Level",
"Senior",
"Staff+",
"Director+"
],
"type": "string"
},
"maxItems": 5,
"minItems": 1,
"description": "Seniority levels to keep, as a union."
},
"addedAfter": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "Only listings Dreamwork first saw after this ISO date-time."
},
"healthcare": {
"type": "boolean",
"description": "Only postings offering healthcare."
},
"internship": {
"type": "boolean",
"description": "Internships, co-ops, and apprenticeships only."
},
"workSettings": {
"type": "array",
"items": {
"enum": [
"remote",
"hybrid",
"onsite"
],
"type": "string"
},
"maxItems": 3,
"minItems": 1,
"description": "Work settings to keep, as a union. A posting that states none counts as onsite."
},
"postedWithinDays": {
"type": "integer",
"maximum": 90,
"minimum": 1,
"description": "Employer posting date within this many days."
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"applicationId"
],
"properties": {
"bold": {
"type": "boolean",
"description": "`false` removes the mark."
},
"line": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "A few words that identify one non-blank line of the tailored resume, matched case-insensitively."
},
"text": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "A phrase within the targeted lines. When given, the marks apply to it alone; otherwise to the whole of each line."
},
"align": {
"enum": [
"left",
"center"
],
"type": "string"
},
"italic": {
"type": "boolean",
"description": "`false` removes the mark."
},
"section": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "A heading as it appears on the resume, such as SUMMARY or EXPERIENCE; the section's lines under it are styled together. The heading line itself is not — to style it, name it as a `line`."
},
"underline": {
"type": "boolean",
"description": "`false` removes the mark."
},
"applicationId": {
"type": "string"
}
}
}| Job-function labels, comma-separated for a union, e.g. "Engineering,Product". An unknown label is refused with the list. |
| industry | string | Employer industry, e.g. "Pharma & Biotech". An unknown name is refused with the list. |
| location | string | City, region, or country; a place the gazetteer cannot resolve is refused. |
| maxSalary | integer | Pay ceiling in whole annual USD. |
| minSalary | integer | Pay floor in whole annual USD, e.g. 200000. Jobs with no posted pay drop out. |
| seniority | string | Seniority labels, comma-separated for a union: Junior, Mid-Level, Senior, Staff+, Director+. A hard filter: pass it when the person names a level they want only, because the stored level ranks matches but never removes other levels. It also drops roles whose level was never classified. |
| addedAfter | string | Only jobs Dreamwork first saw after this ISO date-time. |
| healthcare | boolean |
| internship | boolean | Internships, co-ops, and apprenticeships only. |
| remoteOnly | boolean | Shorthand for workSettings ["remote"]. |
| workSettings | array | Work settings to keep, as a union; an unstated setting counts as onsite. |
| minMatchPercent | integer | Lowest match percent to keep, on the 40-97 scale shown. |
| postedWithinDays | integer | Employer posting date within this many days. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"sort": {
"enum": [
"relevance",
"newest",
"pay_high",
"pay_low"
],
"type": "string",
"description": "Order; relevance when omitted."
},
"bonus": {
"type": "boolean"
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Page size, 10 when omitted. A cursor keeps the size it was issued with."
},
"query": {
"type": "string",
"maxLength": 200,
"description": "Free-text search across the person's match pool."
},
"aiRole": {
"type": "boolean",
"description": "AI roles only."
},
"cursor": {
"type": "string",
"maxLength": 512,
"description": "`nextCursor` from the previous page. Send the same filters and sort, or it is refused."
},
"equity": {
"type": "boolean"
},
"function": {
"type": "string",
"maxLength": 200,
"description": "Job-function labels, comma-separated for a union, e.g. \"Engineering,Product\". An unknown label is refused with the list."
},
"industry": {
"type": "string",
"maxLength": 60,
"description": "Employer industry, e.g. \"Pharma & Biotech\". An unknown name is refused with the list."
},
"location": {
"type": "string",
"maxLength": 120,
"description": "City, region, or country; a place the gazetteer cannot resolve is refused."
},
"maxSalary": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1000,
"description": "Pay ceiling in whole annual USD."
},
"minSalary": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 1000,
"description": "Pay floor in whole annual USD, e.g. 200000. Jobs with no posted pay drop out."
},
"seniority": {
"type": "string",
"maxLength": 80,
"description": "Seniority labels, comma-separated for a union: Junior, Mid-Level, Senior, Staff+, Director+. A hard filter: pass it when the person names a level they want only, because the stored level ranks matches but never removes other levels. It also drops roles whose level was never classified."
},
"addedAfter": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"description": "Only jobs Dreamwork first saw after this ISO date-time."
},
"healthcare": {
"type": "boolean"
},
"internship": {
"type": "boolean",
"description": "Internships, co-ops, and apprenticeships only."
},
"remoteOnly": {
"type": "boolean",
"description": "Shorthand for workSettings [\"remote\"]."
},
"workSettings": {
"type": "array",
"items": {
"enum": [
"remote",
"hybrid",
"onsite"
],
"type": "string"
},
"maxItems": 3,
"minItems": 1,
"description": "Work settings to keep, as a union; an unstated setting counts as onsite."
},
"minMatchPercent": {
"type": "integer",
"maximum": 97,
"minimum": 40,
"description": "Lowest match percent to keep, on the 40-97 scale shown."
},
"postedWithinDays": {
"type": "integer",
"maximum": 90,
"minimum": 1,
"description": "Employer posting date within this many days."
}
}
}