Refine Job Search
Server Details
Job search management: applications, interviews, offers, recruiter email, and company openings.
- Status
- Healthy
- Uptime
- 99.9% over 63 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 62 tools
Tools are namespaced by domain, and descriptions aggressively cross-reference siblings (e.g. jobs.archive vs jobs.delete, following.pause vs following.unfollow, recommendations.dismiss vs recommendations.block), which helps a lot. However, the three parallel object models (indexed opening.id, Following row id, board job id) with tools like jobs.add, openings.add_to_board, following.openings.list and search.company_openings create real risk of misselection, and the inbox cluster (acknowledge/apply_suggestion/dismiss/decline) is only separable by reading long descriptions.
Nearly everything uses dotted snake_case namespaces with a terminal verb, giving a predictable hierarchy (following.openings.mark_read, jobs.offer.add_negotiation). Minor deviation: some tools put the verb first after the domain (jobs.mark_applied, jobs.refresh) while others nest resource-then-verb (jobs.interviews.add), so the pattern is not perfectly uniform.
62 tools is well beyond a comfortable surface for an agent to hold in context and choose among. While the domain is genuinely broad (search, following, inbox, board, offers, recommendations), several clusters could be consolidated (e.g. offer accept/decline/delete/negotiation variants, inbox acknowledge/apply/dismiss/decline).
Coverage is strong: full lifecycle for jobs, interviews, offers and negotiations, plus read/write paths for following, inbox, recommendations and search. Gaps are modest but real: no direct companies.get/list beyond search results and submissions, no way to compose a new outbound email (only reply), and no standalone interview listing outside jobs.get.
Available Tools
62 toolsaccount.agendaBRead-onlyIdempotentInspect
Get upcoming interviews and action items
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is fully covered. The description adds only the notion of an 'upcoming' window; it says nothing about how far ahead that window reaches or how action items are sourced, both of which are non-obvious for an agenda aggregation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with no filler, and the operative concept ('upcoming') is front-loaded. It is efficient but borders on under-specification, since no time horizon or item scope is defined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and annotations cover the safety semantics. What is missing is the definition of 'upcoming' (time window) and 'action items' — the two terms that determine what the agent will actually get back — which for a zero-parameter tool is the main thing the description should pin down.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate and the baseline of 4 applies. The description does not need to compensate for any schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete verb-resource pair: it returns upcoming interviews and action items, so the agent can infer an aggregated 'what's next' view rather than a raw list. It does not, however, differentiate itself from nearby siblings such as following.digest.get or inbox.list, which overlap in intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only cue about when to call it is the word 'upcoming', which implies a time-scoped summary, but there are no explicit conditions, no exclusions, and no pointer to alternatives in a sibling set that includes digests and inbox lists. The agent has to guess where this fits relative to those tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
companies.submissions.createAIdempotentInspect
Submit a missing company using its public HTTPS careers URL, supplied or confirmed by the user. Refine detects supported sources and processes openings asynchronously. This adds to the shared index, not to Following. Use companies.submissions.get for progress; follow separately once company.id is available.
| Name | Required | Description | Default |
|---|---|---|---|
| careers_url | Yes | ||
| company_name | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes beyond the annotations by disclosing asynchronous processing, source-support detection during refinement, and the side-effect boundary ('adds to the shared index, not to Following'). It does not say what happens when the URL is unsupported or the submission fails, which is the main remaining behavioral gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the action and its input constraint, followed by behavior, scope, and next step. No filler or repetition of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, and the description correctly routes the agent to companies.submissions.get for status. Missing is any note on failure/unsupported-source outcomes, which matters for an open-world async submission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry parameter meaning; it does add real constraints for careers_url (public, HTTPS, user-supplied or confirmed) but says nothing about company_name beyond it being implied by 'missing company'. Partial compensation for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Submit a missing company') and pins the required input ('public HTTPS careers URL'). It is clearly distinguishable from siblings: it explains this writes to the shared index rather than Following, and contrasts with companies.submissions.get.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit trigger conditions are given: the company is missing, and the URL must be supplied or confirmed by the user. The description names the follow-up alternative (companies.submissions.get for progress) and the separate follow path, so an agent knows both what to call next and what not to conflate with this call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
companies.submissions.getARead-onlyIdempotentInspect
Read company submission progress. queued/detecting/processing means wait; ready means search again using the company name. unsupported means the careers source is not supported; failed means processing failed. Do not claim the company was added or invent jobs while it is still working.
| Name | Required | Description | Default |
|---|---|---|---|
| submission_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the description correctly spends its words on the status state machine and an agent-facing caution not to claim the company was added or invent jobs while work is in progress. It stops short of saying where submission_id comes from or whether polling is rate-limited.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the purpose then the status contract, with no filler. Every sentence supplies actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-shape explanation is unnecessary, and the description covers status interpretation and the anti-hallucination guard. The one real gap is how to obtain the required submission_id, which matters because the tool cannot be invoked without it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single required parameter, so the description must compensate and does not: submission_id is never mentioned, and there is no hint that it comes from companies.submissions.create. An agent must infer both the identifier's origin and its format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific verb and resource (read company submission progress), which separates it from the write-side sibling companies.submissions.create. It does not explicitly name or contrast a sibling, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit per-state guidance: queued/detecting/processing means wait, ready means re-search by company name, unsupported and failed each have defined meanings. That is a clear when-to-proceed/when-not-to-proceed routing rule, which is exactly what an agent needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
following.digest.getARead-onlyIdempotentInspect
Read the user-wide Following email digest schedule. data is null if no schedule is configured. Company match filters are managed separately with following.update.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (readOnlyHint, idempotentHint, non-destructive, closed-world), so the bar is lower; the description still adds the useful empty-state behavior ('data is null if no schedule is configured'). It does not add auth or rate-limit context, but nothing needed is contradicted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the purpose, then the empty-state semantics, then the sibling routing. Nothing is redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return-shape detail is not required, and annotations supply the safety profile. The description covers the two things structured fields don't: the null empty-state and where filter management lives.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so the baseline is 4; there is nothing about parameters that needs explaining and the description doesn't waste space on it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Read) and resource (user-wide Following email digest schedule), and explicitly distinguishes this read tool from the sibling mutation tool following.update, which handles company match filters.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names the alternative explicitly ('Company match filters are managed separately with following.update') and thus routes the agent correctly. It doesn't state prerequisites or when-not-to-use beyond that single split, so it stops just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
following.digest.updateAIdempotentInspect
Set the user-wide Following email digest schedule after the user requests it. Requires Plus or Student. For a new schedule supply frequency, hour (0–23), timezone (IANA), and weekday (Sunday=0) when weekly. Existing schedules can be patched.
| Name | Required | Description | Default |
|---|---|---|---|
| hour | No | ||
| weekday | No | ||
| timezone | No | ||
| frequency | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, idempotent, non-destructive, open-world. The description adds genuinely non-structured context: a plan entitlement requirement (Plus/Student), the user-wide blast radius, and that existing schedules support patching rather than replace. It does not state what happens on entitlement failure or how conflicts between frequency and weekday are resolved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: purpose first, then eligibility, then parameter requirements. No filler, and the constraints are front-loaded before the per-field guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the mutation profile is covered by annotations. The remaining gap is edge-case semantics for a fully-optional 4-param mutation (all defaults, partial patch interactions), which matters slightly given required=0.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the schema carries only bare types/min-max, so the description has to carry the load — and it largely does: hour 0–23, weekday with Sunday=0, timezone as IANA, frequency of daily/weekly, plus the conditional rule that weekday applies 'when weekly'. It omits defaults and what happens to weekday when frequency is daily.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb + resource: 'Set the user-wide Following email digest schedule'. The 'user-wide' scope qualifier and the schedule object distinguish it cleanly from sibling reads like following.digest.get and from following.pause/resume, which act on delivery rather than schedule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'after the user requests it' and 'Requires Plus or Student' give a clear consent gate plus an eligibility prerequisite, and the description tells the agent which fields a new schedule needs versus patching an existing one. It stops short of naming an explicit alternative (e.g. following.digest.get for reading the current schedule), so it is a strong 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
following.followAInspect
Follow an indexed company for future matching openings and company recommendations. Get company_id from Search, a ready submission, or a recommendation candidate_company.id. Specify at least one match; [{}] follows all new openings. This does not submit an unknown careers page or collect historical matches.
| Name | Required | Description | Default |
|---|---|---|---|
| filters | Yes | Alternative matches (OR). Fields inside each match combine with AND. [{}] follows every new opening. This is the complete filter set, not a patch. | |
| company_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, non-destructive, non-idempotent, closed-world. The description adds genuinely new behavior: following applies to future openings only, does not collect historical matches, and does not attempt to submit an unknown careers page. It does not address what happens on a repeat follow of an already-followed company, despite idempotentHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with purpose, followed by sourcing guidance and then scoping caveats. No filler and no repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and the description covers the two hard parts: where company_id comes from and what the filters mean. Missing only the repeat-follow behavior for a non-idempotent mutation, which is a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50% and company_id has no schema description, but the description compensates by explaining its three valid sources. The filter guidance ('specify at least one match', '[{}] follows all new openings') reinforces the minItems semantics, though most detailed filter semantics already live in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Follow an indexed company') plus the concrete payoff ('future matching openings and company recommendations'). It also distinguishes itself negatively from a related action ('does not submit an unknown careers page'), so an agent can separate it from companies.submissions.create without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It tells the agent where company_id must come from (Search, a ready submission, or a recommendation candidate_company.id) and how to express a catch-all follow ('[{}] follows all new openings'), plus an explicit exclusion. It stops short of naming a sibling alternative for the case where the user wants historical or ad-hoc matching.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
following.listARead-onlyIdempotentInspect
List all followed companies, their filters, state, and unread counts. Returns the full list without pagination. Following delivers future matching openings; use Search to browse jobs already in the index.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered elsewhere. The description adds one genuinely useful behavioral fact — the whole list comes back with no pagination — plus the returned fields, but says nothing about ordering, size limits, or what happens with zero follows.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the action and payload, then the no-pagination caveat, then the routing hint. Nothing is repeated from annotations and no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema covers the return shape and annotations cover the safety profile, so the description only needed to add scope and routing — which it does. It stops short of clarifying ordering or how 'state' and 'filters' should be interpreted, a minor gap for a zero-parameter listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes no parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The schema imposes no filtering or pagination options, which is consistent with the stated full-list behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List all followed companies') and enumerates what each entry contains: filters, state, unread counts. It also draws the boundary against job search, so an agent can tell which concept it is retrieving without inspecting the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The closing sentence routes the agent correctly: following is for future matching openings, Search is for jobs already indexed. That is real when-to-use-this-vs-alternative guidance, though it doesn't address the nearest sibling, following.openings.list, which operates on the same followed companies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
following.openings.listARead-onlyIdempotentInspect
Read matching openings from followed companies. tab defaults to unread. Use the row id for marking read and nested opening.id for opening details or adding to the board. meta.unread_count/read_count cover the selected follow or all companies before view filters; meta.filtered_count covers the current filtered tab.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Search opening titles. | |
| tab | No | unread | |
| page | No | Pagination cursor returned as meta.next_page | |
| limit | No | Maximum records to return | |
| location | No | Exact location facet or "remote". | |
| follow_id | No | Follow ID from following.list, not company.id. | |
| department | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, safe behavior. The description adds non-obvious semantics: what meta.unread_count/read_count and meta.filtered_count actually count relative to filters, and which identifiers to use for follow-up actions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences, front-loaded with the core purpose and scoping. Every sentence adds practical value for an agent using the results.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values, and it still usefully clarifies meta-field behavior and identifier use. The main remaining gap is explicit routing versus sibling tools, which is a usage-guidance issue rather than a completeness failure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 71%, so the baseline is 3. The description explains the tab default and refers to 'selected follow', but adds little about q, location, department, page, or limit beyond what the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: read matching openings from followed companies. The 'followed companies' scope distinguishes it from broad search tools, though it does not explicitly name a sibling alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives useful post-retrieval guidance — row id for marking read, opening.id for details or board — and notes the default tab. However, it does not say when to choose this over alternatives like search.company_openings or openings.get, so selection guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
following.openings.mark_all_readAIdempotentInspect
Mark all unread openings as read for one follow, or every followed company if follow_id is omitted. Includes every page and openings hidden by view filters. Confirm the scope with the user first. The API returns no affected count; do not invent one.
| Name | Required | Description | Default |
|---|---|---|---|
| confirmed | Yes | ||
| follow_id | No | Follow ID from following.list, not company.id. |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Human-readable confirmation of the action |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the annotations: it discloses that the operation spans every page and includes openings hidden by view filters (non-obvious blast radius), that the API returns no affected count so the agent must not fabricate one, and that user confirmation is expected. These are exactly the behavioral facts annotations (readOnlyHint/destructiveHint/idempotentHint) do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the verb and scope rules, then the blast-radius caveat, the confirmation requirement, and the return-value warning. Every sentence carries distinct information with no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even though an output schema exists, the description usefully warns that no affected count is returned, preventing hallucination of results. Combined with the scope and confirmation guidance, an agent has everything needed to call this destructive-adjacent bulk mutation correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% and the uncovered parameter is follow_id, whose semantics the description explains well (omitting it means every followed company). The schema note 'Follow ID from following.list, not company.id' is reinforced, but the description does not explain the required 'confirmed' const flag, leaving that contract implicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (mark all unread openings as read) and resource, and explicitly names the two scopes: one follow vs. every followed company when follow_id is omitted. This differentiates it from the singular sibling following.openings.mark_read without the agent needing to open either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear usage condition — confirm scope with the user first — and contrasts the two call modes via follow_id presence/omission. It stops short of naming the sibling mark_read as the narrow alternative, so routing between the two is partly inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
following.openings.mark_readAIdempotentInspect
Mark one Following row as read. Use the row id from following.openings.list, not nested opening.id.
| Name | Required | Description | Default |
|---|---|---|---|
| follow_opening_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-destructive, idempotent, non-open-world mutation, so the safety profile is covered structurally. The description adds no context about what marking read actually changes (unread counts, digest state) or whether it is reversible, leaving a modest gap for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and followed immediately by the one disambiguation that matters. No filler, no restatement of the name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be described, and annotations cover the safety profile. Combined with the id guidance, the definition is sufficient to call correctly; only the downstream effect of the write is left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the single parameter is just typed as string, so the description carries the full burden. It resolves the key ambiguity by naming the correct source of follow_opening_id and explicitly excluding the nested opening.id — the main way this call would fail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb and resource: mark a single Following row as read. The word "one" implicitly contrasts with the sibling following.openings.mark_all_read, though it never names that sibling or inbox.mark_read explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit sourcing rule for the input (take the id from following.openings.list, not the nested opening.id), which is exactly the mistake an agent would make. It does not, however, spell out when to prefer this over following.openings.mark_all_read.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
following.pauseAIdempotentInspect
Pause future matching openings for this follow without deleting it. This does not stop shared company indexing or pause other follows.
| Name | Required | Description | Default |
|---|---|---|---|
| follow_id | Yes | Follow ID from following.list, not company.id. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish non-destructive, idempotent, non-read-only behavior, yet the description still adds real value by spelling out the blast radius: the follow is not deleted, shared company indexing is unaffected, and other follows are not paused. It does not state how the pause is lifted, but following.resume covers that path.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero waste, with the core action front-loaded and the scope limits immediately after. Nothing is repeated from the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need no explanation, the single parameter is fully documented, and the description closes the main ambiguity an agent would have about side effects. Nothing needed to invoke this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is a single required parameter and the schema documents follow_id at 100% coverage with a valuable disambiguation ('not company.id'). The description adds nothing about the parameter, but per the baseline rule for full coverage a 4 is appropriate given it is a one-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (pause) and a specific scope (future matching openings for this follow), and explicitly distinguishes the action from deletion. It does not name the sibling tools it complements (following.resume, following.unfollow), so an agent must infer the pairing from the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the usage condition (you want to stop matching openings without removing the follow) and draws negative boundaries around company indexing and other follows. However, it never names following.resume or following.unfollow as alternatives, so the when-to-use-this-vs-that guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
following.resumeAIdempotentInspect
Resume a paused company follow.
| Name | Required | Description | Default |
|---|---|---|---|
| follow_id | Yes | Follow ID from following.list, not company.id. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the mutation/safety profile is fully covered. The description adds only the 'paused' precondition; it says nothing about what happens if the follow is not paused, whether resume reverses cleanly, or what state results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded clause with zero filler; every word contributes to identifying the action and its target state.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, one well-documented parameter, and rich annotations, the minimum needed to call the tool correctly is present. Still missing is the failure mode when the follow is not paused and where in the follow lifecycle the resume lands, which matters for a state-transition tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single parameter already carries the crucial disambiguation ('Follow ID from following.list, not company.id'). The description adds no parameter meaning of its own, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Resume') and resource ('company follow') plus the required precondition state ('paused'), which implicitly separates it from the sibling following.pause. It does not name an alternative tool explicitly, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the word 'paused' signals the tool applies to follows currently in a paused state, and the inverse sibling following.pause exists but is never referenced. No explicit when-to-use/when-not guidance or prerequisite (e.g., 'call after following.list') is given in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
following.unfollowADestructiveIdempotentInspect
Unfollow a company and remove its Following feed and recommendation source. Confirm with the user first. Board jobs remain. To pause temporarily instead, use following.pause.
| Name | Required | Description | Default |
|---|---|---|---|
| confirmed | Yes | ||
| follow_id | Yes | Follow ID from following.list, not company.id. |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Human-readable confirmation of the action |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, so the description earns credit for going further: it discloses exactly what is destroyed (Following feed, recommendation source) and, importantly, what is preserved ('Board jobs remain'). The user-confirmation requirement is a behavioral obligation not encoded in the annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the action and its consequences, then the confirmation rule, then the alternative. Nothing is repeated from the annotations and every sentence changes agent behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive two-parameter mutation with rich annotations and an output schema, everything an agent needs is present: what is removed, what survives, that confirmation is mandatory, and which sibling covers the softer action. No remaining informational gap affects correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description says nothing about either parameter. The schema's follow_id description already carries the essential disambiguation ('Follow ID from following.list, not company.id'), and confirmed is a const-true gate that is largely self-explanatory, so the schema does the heavy lifting at 50% coverage. No added meaning in the description, but no real gap either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Unfollow a company') and immediately names the concrete side effects: removal of the Following feed and the recommendation source. It also distinguishes itself from the closest sibling by naming following.pause as the non-destructive alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit precondition ('Confirm with the user first') and an explicit alternative for the adjacent intent ('To pause temporarily instead, use following.pause'). An agent can decide between unfollow, pause, and resume without opening another schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
following.updateAIdempotentInspect
Replace all match filters for a followed company. Other follow settings are unchanged. Pass [{}] for all new openings. Pending means the new filters are being applied; old unread counts may change.
| Name | Required | Description | Default |
|---|---|---|---|
| filters | Yes | Alternative matches (OR). Fields inside each match combine with AND. [{}] follows every new opening. This is the complete filter set, not a patch. | |
| follow_id | Yes | Follow ID from following.list, not company.id. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover idempotency and non-destructiveness, and the description adds beyond them: other follow settings are untouched, and there is a pending state where old unread counts may change — a real side effect disclosed up front. It leaves minor gaps (whether the old filter set is lost immediately or after pending completes), so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences with the core replace semantics front-loaded, then scope, then the empty-filter shorthand, then the pending side effect. No sentence is redundant and nothing important is buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With annotations, an output schema and full parameter coverage already present, the description only needs to carry the non-structured behavior, and it does: replacement semantics, unaffected settings, and pending/unread consequences. A small gap remains around preconditions (does the follow need to be active or unpaused).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the schema itself carries the detailed semantics (OR groups vs AND fields, remote tri-state, market slugs, compensation units). The description only repeats the [{}] shorthand and the complete-set-not-patch point already stated in the filters description, so it adds little at the parameter level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
'Replace all match filters for a followed company' gives a specific verb (replace), resource (match filters) and scope (followed company), and the replace-not-patch framing separates it from incremental update tools. It never names a sibling as an alternative, so it stops short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clarifies usage for the edge case 'Pass [{}] for all new openings', which is genuinely useful. However there is no explicit when-to-use / when-not guidance relative to siblings such as following.follow, following.pause or following.digest.update, so selection context is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inbox.acknowledgeADestructiveIdempotentInspect
Keep auto-applied inbox items as-is and finalize the automatic action. Confirm the specific items with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Inbox item ids to acknowledge | |
| confirmed | Yes | Must be true after the user confirms keeping these automatic actions |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is largely covered. The description adds a real behavioral requirement not in the annotations: user confirmation must happen before the call. It does not disclose reversibility or mention that inbox.undo exists as a recovery path, which matters for a destructive tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the action front-loaded and the prerequisite second; nothing is padded. The first clause ('Keep ... as-is') is slightly indirect phrasing for what is a finalization step.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations are rich, so the description needn't explain returns or safety. What it does provide — the user-confirmation gate — is the key missing piece an agent would otherwise get wrong. Only the absence of sibling routing and recovery guidance keeps it below 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both `ids` and `confirmed` are already documented, giving a baseline of 3. The description's 'confirm the specific items' loosely ties to both parameters but adds no format or batching detail beyond the schema (e.g., the 1-200 item limit).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('keep auto-applied inbox items as-is and finalize the automatic action'), which is clearly distinct from decline/dismiss/apply_suggestion siblings. It is a clear verb+resource statement, though it never names a sibling to contrast with explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states one prerequisite ('confirm the specific items with the user first'), which is genuinely useful. However it never says when to choose this over inbox.decline, inbox.dismiss, inbox.apply_suggestion, or inbox.undo, leaving the agent to infer the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inbox.apply_suggestionADestructiveIdempotentInspect
Apply an inbox item's suggested action, such as adding an application to the board or recording a rejection. Confirm the specific action with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Inbox item id | |
| confirmed | Yes | Must be true after the user confirms applying this suggestion |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, readOnlyHint=false, and openWorldHint=false, so the safety profile is covered. The description adds meaningful behavioral context: what the suggestion may entail (board addition, rejection) and the requirement to confirm with the user first. It stops short of describing reversibility or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero waste. The core action is front-loaded, and the safety confirmation requirement follows immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With rich annotations, full schema coverage, and an output schema, the description carries only the burden of stating purpose and the confirmation prerequisite. It does that adequately; the only gap is the lack of sibling differentiation, which matters less given clear inbox-prefixed naming.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — both item_id and the const-true 'confirmed' parameter are documented in the schema, including the requirement that confirmed must be true after user approval. The description adds no parameter-level detail beyond what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Apply an inbox item's suggested action') and gives concrete examples (adding an application to the board, recording a rejection) that clarify what 'suggestion' means. It does not explicitly distinguish itself from siblings like inbox.decline or inbox.dismiss, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides one explicit usage rule — confirm the specific action with the user first — which is valuable. However, it gives no guidance on when to choose this tool over inbox.decline, inbox.dismiss, inbox.acknowledge, or inbox.undo, leaving alternatives to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inbox.declineADestructiveInspect
Queue decline replies to recruiter outreach. Depending on the user's preference this SENDS email from their address. Only call after the user explicitly approved declining these specific conversations.
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Inbox item ids to decline | |
| remember | No | Save the preference for future declines | |
| confirmed | Yes | Must be true, and only after the user explicitly approved declining these conversations | |
| preference | No | Send preference to apply; omit to use the saved preference |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and openWorldHint=true, but the description adds the crucial undisclosed detail that it may SEND real email from the user's address depending on preference. It does not say whether queued declines can be cancelled or reversed, which matters for a destructive, non-idempotent tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences: purpose first, side effect second, safety gate last. Every clause carries information an agent needs; nothing is repeated from the schema or annotations verbatim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full schema, rich annotations, and an output schema, the description covers the pieces structured data cannot: the conditional email send and the approval precondition. Only the reversibility/undo path and batch-size implications are left implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the sentence 'Depending on the user's preference this SENDS email' gives real meaning to the preference enum that the schema only labels ('Send preference to apply'). The approval wording also reinforces the const-true 'confirmed' gate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Queue decline replies to recruiter outreach'), which clearly separates it from inbox.draft_reply and inbox.send_reply. It also flags the surprising twist that queueing may actually transmit mail, so an agent knows exactly what class of operation this is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit, strong gating condition: 'Only call after the user explicitly approved declining these specific conversations.' It does not name alternatives (e.g. draft_reply when the user has not decided, or undo after a mistaken batch), so it stops just short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inbox.dismissADestructiveIdempotentInspect
Dismiss inbox items you are not acting on (also marks the mail read in Gmail)
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | Inbox item ids to dismiss | |
| confirmed | Yes | Must be true after the user confirms dismissing these items and marking their mail read |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description earns credit by disclosing a real side effect beyond annotations—that it also marks the mail read in Gmail—which the agent could not otherwise infer. It omits reversibility/undo (an inbox.undo sibling exists).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, tight sentence that front-loads the core action and appends the material side effect in parentheses. No wasted content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With rich annotations, full schema coverage, and an output schema, the remaining burden is light. The description covers the action and its key side effect but leaves the acknowledge/decline/mark_read disambiguation to the agent, a minor gap for a 2-param tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (ids, confirmed) are documented in the schema, including the confirmation gate. The description adds no additional parameter semantics, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Dismiss inbox items') plus a side effect ('marks the mail read in Gmail'). However, it does not differentiate from closely overlapping siblings like inbox.acknowledge, inbox.decline, or inbox.mark_read, which an agent could easily confuse with dismissing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Items you are not acting on' implies a usage context, but with several near-identical siblings (acknowledge, decline, mark_read, recommendations.dismiss) the description offers no explicit when-not or alternative naming. Usage is only implied, not routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inbox.draft_replyARead-onlyIdempotentInspect
Generate an AI reply draft for an inbox item. Returns HTML for review; it does not send anything.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | decline politely passes; interested asks to continue the conversation | |
| item_id | Yes | Inbox item id |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive. The description adds genuinely new information: the output is HTML for review and nothing is sent, clarifying the side-effect profile in concrete terms beyond the hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with purpose, with zero redundant or filler text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter, read-only tool with rich annotations and an output schema, the description covers purpose, output format, and side effects. Only minor gaps (e.g., what the AI does with 'kind') remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the enum description for 'kind' already explains decline vs interested. The description adds nothing about either parameter, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Generate an AI reply draft for an inbox item.' The clause 'it does not send anything' implicitly distinguishes it from inbox.send_reply, though the sibling is not named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The draft-for-review / does-not-send framing gives a clear usage context that routes the agent away from inbox.send_reply. No explicit when-not conditions or named alternatives are given, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inbox.getARead-onlyIdempotentInspect
Get one inbox item with its related job and application
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Inbox item id |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds genuine value by disclosing that related job and application data are bundled in the response, but says nothing about whether those relations can be null or how missing items are handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero filler; the scope and the relation expansion are packed into one clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values need not be explained, and annotations cover the safety profile. For a one-parameter read, the only real gaps are nullability of the related job/application and error behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (item_id) with 100% schema description coverage, so the schema already carries the semantics. The description does not add format, provenance, or source guidance (e.g., where an item_id comes from).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Get') plus resource ('one inbox item') and scope ('one'), and it adds that related job and application records are returned with it. That distinguishes it from inbox.list, but the differentiation is implicit rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the singular 'one inbox item' versus siblings like inbox.list and inbox.get_thread. There is no explicit statement of when to prefer this over those alternatives or what happens when the id is unknown.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inbox.get_threadARead-onlyIdempotentInspect
Fetch the full email thread for an inbox item
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Inbox item id |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered without description help. The description's use of 'full' adds a small hint that the whole thread rather than a truncated view is returned, but nothing is said about whether reading marks the item read, pagination, or attachment handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the verb and resource, zero wasted words. Nothing padded or repeated from the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With rich annotations, a 100% documented single parameter, and an output schema covering return values, the description is close to sufficient. The remaining gap is the lack of explicit contrast with inbox.get for an agent choosing between them.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single required parameter documented as 'Inbox item id', so the schema carries the semantics. The description only restates 'for an inbox item' and adds no format, sourcing, or ID-resolution detail beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Fetch') and resource ('full email thread') scoped to 'an inbox item', which is clearly distinct from siblings like inbox.get or inbox.list. It stops short of explicitly contrasting itself with inbox.get, which fetches a single item, so the differentiation from that closest sibling is only inferable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the word 'full' hints that this is the right tool when the complete conversation is needed rather than the single item returned by inbox.get, but no when-to-use condition or alternative is named. An agent must infer the routing decision from sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inbox.listARead-onlyIdempotentInspect
List email conversations Refine matched to your job search (applications, interviews, recruiter outreach)
| Name | Required | Description | Default |
|---|---|---|---|
| tab | No | Which inbox tab to list; defaults to applications | |
| page | No | Pagination cursor returned as meta.next_page | |
| limit | No | Maximum records to return | |
| shelf | No | For the outreach tab: show the low-signal shelf instead of the main feed | |
| status | No | pending needs a decision, auto was auto-applied, active has an open conversation, handled is done | |
| unread | No | With status=active: only conversations with (or without) an unread reply | |
| account | No | Filter to one connected Google account id |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds the useful framing that results are pre-filtered/matched by Refine rather than raw mailbox contents, but says nothing about ordering or pagination behavior beyond what the schema documents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. The trailing parenthetical partially repeats the tab enum values, which is the only mild redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, full schema coverage and complete annotations, the description needs only to establish what the listing represents, which it does. It could add a note on the default tab/limit behavior, but nothing essential for a correct call is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with enums documented for tab, shelf and status, so the schema carries the parameter burden. The description only echoes the three tab categories already enumerated in the schema, adding no extra detail on status, shelf, unread or pagination semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('email conversations Refine matched to your job search'), and the parenthetical enumerates the three tab categories. It is distinguishable from inbox.get / inbox.get_thread by being a collection operation, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the name and the 'matched to your job search' framing, but there is no explicit guidance on when to call this versus inbox.get, inbox.get_thread, or inbox.refresh, and no mention of prerequisites such as needing a connected account.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inbox.mark_readAIdempotentInspect
Clear an inbox item's unread-reply flag
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Inbox item id |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Human-readable confirmation of the action |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds some behavioral detail by specifying that this is a flag-clearing operation, not a deletion or full-read state change. It does not contradict the existing annotations, and the idempotent, non-destructive hints are already covered by annotations. It could add more context about reversibility or side effects, but the current level is acceptable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Seven words, with no fluff or repetition. The key verb and object are front-loaded, making the intent immediately readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, idempotent, non-destructive operation with an output schema and complete parameter documentation, this description is mostly sufficient. The main missing piece is usage differentiation from similar inbox actions, but the core behavior is clearly specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, item_id, is fully described by the schema ('Inbox item id'), and schema description coverage is 100%. The description does not need to add much, so it gets the baseline score without adding redundant parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description uses a specific verb ('Clear') and a specific resource ('an inbox item's unread-reply flag'), going beyond the generic title 'Mark read'. It meaningfully separates this from siblings like inbox.accept, inbox.decline, inbox.dismiss, and inbox.acknowledge.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given about when to use this tool versus closely related sibling tools such as inbox.acknowledge, inbox.dismiss, or inbox.accept. The intended scenario is only implied by the verb 'clear', not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inbox.refreshAInspect
Check Gmail for new mail now; returns per-account sync status
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=false and openWorldHint=true, so the agent knows this side-effects an external system and is not repeatable cheaply. The description corroborates this by saying it goes out to Gmail immediately, but it adds nothing about rate limits, blocking behavior, or what a refresh does to existing state — which matters given idempotentHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with the action first and the return value second. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema covering return values, zero parameters, and annotations covering the safety profile, the description carries what it must. It stops short of saying whether the call blocks until sync finishes, which is the one operational detail an agent might need before calling a non-idempotent external fetch.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so there is nothing for the description to disambiguate; the baseline applies. The description correctly implies no scoping arguments are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A specific verb+resource: 'check Gmail for new mail now' plus a note on what comes back. It separates an on-demand fetch from passive listing tools like inbox.list, but it never distinguishes itself from the sibling inbox.sync_status, whose name reads almost identically to the stated return value.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word 'now' implies this is the on-demand trigger versus background syncing, which is useful context, but there is no explicit when-to-use, no exclusion, and no pointer to inbox.sync_status as the read-only alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inbox.send_replyADestructiveInspect
Send an email reply through the user's Gmail. This emails a real person from the user's address. Only call after the user has seen the exact message body and explicitly approved sending it.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | HTML body of the reply, exactly as approved by the user | |
| item_id | Yes | Inbox item id | |
| confirmed | Yes | Must be true, and only after the user explicitly approved sending this exact message | |
| draft_kind | No | Set when the body came from inbox.draft_reply |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint, openWorldHint and non-idempotency, so the bar is lower, but the description adds meaningful context the annotations cannot: this sends to a real person from the user's own address, making the action externally visible and irreversible. It omits delivery failure or rate-limit behavior, but the key risk is surfaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with zero waste, ordered so the action and its real-world consequence come before the gating condition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema and full parameter descriptions are present, and the description supplies exactly the missing piece an agent needs: the human-approval gate before an irreversible send. Nothing required to call it safely is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and every parameter, including the confirmed const-true gate and draft_kind enum, is already documented in the schema. The description reinforces the 'exactly as approved' semantics of body but adds no format or usage detail beyond that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: sends an email reply via the user's Gmail. It is distinguishable from inbox.draft_reply by intent, but the description never names the draft sibling that would normally precede it, leaving that differentiation implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit, strong precondition: only call after the user has seen the exact body and explicitly approved. It does not spell out the alternative workflow (draft first via inbox.draft_reply) or when not to call, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inbox.sync_statusARead-onlyIdempotentInspect
Per-account Gmail synchronization status, including current progress and last sync time
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is clear. The description adds per-account Gmail scope and the returned status fields, but does not go beyond that with auth requirements, rate limits, or sync-state caveats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words. It delivers resource, scope, and returned data immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters, rich annotations, and an output schema, the description is complete enough for an agent to call the tool correctly. It states what the status covers without needing to explain return values or safety behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description appropriately avoids describing nonexistent parameters while clarifying that status is per-account.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (Gmail synchronization status) and scope (per-account), and identifies the information returned (current progress and last sync time). It is clearly distinguishable from sibling actions like inbox.refresh or integrations.connect_google.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: an agent can infer this is the read-only status check, but the description does not explicitly state when to use it versus inbox.refresh or other inbox tools. No alternatives or preconditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inbox.undoADestructiveIdempotentInspect
Undo an auto-applied inbox action. This can delete a board record that the automatic action created, so confirm with the user first.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Inbox item id | |
| confirmed | Yes | Must be true after the user confirms undoing the automatic action |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and idempotentHint=true, so the safety profile is known. The description adds the concrete consequence — it can delete a board record that the automatic action created — which is exactly the kind of beyond-annotation context that matters for a destructive tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and immediately followed by the risk and the required precaution. Nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema and fully documented parameters mean the description only needs the action and its side effect, which it supplies. Minor gaps remain: what happens if the original action wasn't auto-applied, and whether an undo can itself be reverted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both item_id and confirmed are already documented, including the const: true constraint. The description reinforces the confirmation requirement ('confirm with the user first') but adds no format or edge-case detail, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (undo) and resource (auto-applied inbox action), which distinguishes it from nearby inbox siblings like apply_suggestion, dismiss, and decline. It doesn't explicitly contrast with those siblings, but the 'auto-applied' qualifier narrows it well.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives one clear procedural instruction ('confirm with the user first'), which is real usage guidance. It stops short of saying when to reach for this versus inbox.dismiss, inbox.decline, or inbox.acknowledge, or what to do if the action wasn't auto-applied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inbox.unsubscribeADestructiveInspect
Unsubscribe the user from this sender's mailing list via one-click list-unsubscribe. This changes the user's real email subscriptions; confirm with them before calling. Use it for unwanted bulk senders, not for a person you can simply decline.
| Name | Required | Description | Default |
|---|---|---|---|
| item_id | Yes | Inbox item id | |
| confirmed | Yes | Must be true, and only after the user explicitly approved unsubscribing from this sender |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Human-readable confirmation of the action |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, indicating mutation. The description adds crucial behavioral context by stating 'This changes the user's real email subscriptions,' emphasizing real-world impact beyond the app. It also reinforces the confirmation requirement. However, it does not detail failure modes (e.g., sender lacking list-unsubscribe support) or long-term effects, though these are somewhat covered by openWorldHint. With annotations present, this description adds meaningful context without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long and front-loads the core action ('Unsubscribe the user...'), followed by a warning about real-world impact, then usage guidance. Every sentence earns its place with no fluff or repetition. It is concise and well-structured for quick agent parsing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for a destructive, confirmation-gated tool. It covers what the tool does, the mechanism (one-click list-unsubscribe), the need for explicit user confirmation, and when not to use it. An output schema exists (per context) so return values do not need explanation. The only minor gap is that it does not mention potential failure conditions or whether the action is reversible, but given the output schema and existing annotations, these are not critical.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with item_id defined as 'Inbox item id' and confirmed as 'Must be true, and only after the user explicitly approved.' The description reinforces the confirmed parameter ('confirm with them before calling') but adds no additional meaning beyond the schema. Since the schema already documents both parameters adequately, a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool's action: 'Unsubscribe the user from this sender's mailing list via one-click list-unsubscribe.' It identifies the resource (the user's subscription) and the condition (this sender). It also differentiates from siblings by saying 'Use it for unwanted bulk senders, not for a person you can simply decline,' which clearly separates it from tools like inbox.decline or inbox.dismiss.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: it tells the agent to confirm with the user before calling ('confirm with them before calling') and gives a clear selection criterion ('unwanted bulk senders, not for a person you can simply decline'). This directly addresses when to use this tool versus alternatives, leaving no ambiguity about the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
integrations.connect_googleAInspect
Get a link for the user to connect Gmail to Refine or approve a missing Gmail permission. Refine selects the permission needed for the connected account. The connection happens in the browser with no Refine sign-in required. Share the link only with the owner of this Refine account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| expires_at | No | When the connection URL expires |
| connect_url | Yes | Single-use browser URL for connecting Gmail |
| instructions | Yes | Safety and usage instructions for the connection URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds valuable behavioral context beyond annotations: the connection happens in the browser, no Refine sign-in is required, and the link is tied to the account owner. It clarifies the tool's role as a link generator rather than a direct connection, which is helpful for the agent. No contradiction with annotations; the description's 'get a link' aligns with readOnlyHint=false (since the user performs the actual connection).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each serving a clear purpose: purpose (what it returns and for what), mechanism (how permission is selected), and security warning. It is front-loaded with the primary action and wastes no words. Excellent conciseness and structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no parameters and a simple action (retrieving a link), the description is complete. It explains the purpose, the flow, and an important security constraint. The presence of an output schema likely covers the return value, so the description doesn't need to. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters, the schema already covers everything (100% coverage by definition). The description does not need to explain parameters, and it doesn't. Baseline for no params is 4, and the description appropriately focuses on output and use, so this score is justified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Get a link for the user to connect Gmail to Refine or approve a missing Gmail permission.' It uses a specific verb ('get') and resource ('a link'), and explicitly mentions the two related use cases. This distinguishes it from siblings like integrations.list, which is about listing integrations, not connecting Gmail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides solid context: it tells the agent it's for connecting Gmail to Refine or approving missing permissions, and that Refine selects the permission. It also includes a critical security caveat: 'Share the link only with the owner of this Refine account.' However, it does not explicitly mention when not to use this tool or name alternative tools, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
integrations.listARead-onlyIdempotentInspect
List connected Google accounts and their grant status. To connect a new account, use integrations.connect_google.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is well covered. The description adds useful scope by saying it lists connected Google accounts and their grant status, but it does not add behavioral details such as auth requirements, pagination, or how grant statuses are surfaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core action and followed by the one relevant alternative. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter, read-only listing tool with rich annotations and an output schema, the description is complete enough. It identifies the resource, the returned concept (grant status), and the correct sibling for the adjacent connect action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline score is 4. The description appropriately does not waste space explaining parameters that do not exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: 'List connected Google accounts and their grant status.' It also explicitly distinguishes this tool from the sibling integrations.connect_google, so an agent can identify its function without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly routes the connect case to integrations.connect_google, which is the most relevant alternative. It does not state explicit exclusions or when-not conditions, but for a simple read-only list tool the usage context is sufficiently clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jobs.addCInspect
Add a new job to your journey
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | URL of the job posting | |
| title | Yes | Job title | |
| source | No | Where this job came from | |
| company | Yes | Company name | |
| location | No | Job location | |
| description | No | Job description | |
| qualifications | No | Job qualifications | |
| compensation_text | No | Compensation text from the posting |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, open-world, non-idempotent, non-destructive, so the safety profile is covered structurally. The description adds nothing beyond that: no mention of duplicate detection (relevant since idempotentHint is false), validation failure behavior, or what creation triggers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence – nothing superfluous, but also nothing front-loaded beyond the bare purpose. Brevity here reflects under-specification rather than disciplined editing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter creation tool with no idempotency, the description omits required-field emphasis, duplicate handling, and side effects. The output schema covers return values, but the behavioral gaps around creation still leave an agent under-informed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for all 8 parameters, so the schema fully documents fields, formats and the two required ones. The description adds no meaning beyond the schema; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb 'Add' plus resource 'job' is clear enough to distinguish it from jobs.update/jobs.get/jobs.list by name alone. However, 'to your journey' is vague marketing phrasing that adds no concrete scope, and the sentence largely restates the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus jobs.update (existing job) or openings.add_to_board, nor any prerequisite such as required title/company or duplicate handling. The agent must infer everything from the name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jobs.archiveAIdempotentInspect
Hide a job from the active board without recording a rejection or closing the application
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job id |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is non-read-only, idempotent, and non-destructive. The description adds meaningful behavioral context: it hides the job from the active board and explicitly does not record a rejection or close the application, which helps an agent understand side effects beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no wasted words. It states the action and the key exclusions immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is mostly complete for an archive tool with rich annotations, a complete one-parameter schema, and an output schema. It could mention reversibility or the existence of jobs.unarchive, but the core behavioral picture is clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so job_id is already documented in the schema. The description adds no parameter-level detail, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: hide/archive a job from the active board. It also distinguishes the action from recording a rejection or closing an application, which clarifies the semantic boundary, though it does not explicitly contrast with jobs.delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'without recording a rejection or closing the application' implies when to use this tool, but there is no explicit 'use this when' guidance or named alternative such as jobs.delete or jobs.unarchive. Usage is inferable but not fully spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jobs.deleteADestructiveIdempotentInspect
Permanently delete a job and its application from the board. Confirm with the user first; it cannot be undone. To hide a job without recording a rejection or closure, use jobs.archive instead.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job id | |
| confirmed | Yes | Must be true after the user confirms permanent deletion |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Human-readable confirmation of the action |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the destructiveHint and readOnlyHint annotations, the description adds key behavioral context: the deletion is permanent, affects both the job and its application, cannot be undone, and requires user confirmation. This materially helps an agent understand the consequences of invoking the tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences carry all essential information with no filler. The destructive consequence and confirmation requirement are front-loaded, and the alternative tool is mentioned succinctly in the second sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple destructive tool with two well-documented parameters, a rich annotation set, and an output schema, the description covers the critical operational context: irreversibility, cascade effect, confirmation requirement, and the relevant alternative. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both job_id and confirmed already described in the input schema. The description reinforces the deletion behavior but adds no new parameter-level meaning beyond what the schema provides, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'permanently delete a job and its application from the board.' It also differentiates itself from the sibling jobs.archive by explicitly naming the alternative usage, making the tool's scope unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear when-to-use instruction: confirm with the user first, and it explicitly tells the agent to use jobs.archive instead when the intent is to hide a job without recording a rejection or closure. This is direct guidance for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jobs.getBRead-onlyIdempotentInspect
Get details of a specific job
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job id |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, and the description adds no further behavioral context such as permissions, rate limits, or what 'details' includes. It is consistent with the annotations but contributes almost nothing beyond structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is a single sentence with no filler, and the core action is front-loaded. It is as concise as possible for a simple getter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read operation with full schema coverage, rich annotations, and an output schema, the description is complete enough to call the tool correctly. It is thin on selection context, but the output schema removes the need to explain return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with job_id documented as 'Job id'; the description adds no format, syntax, or semantic nuance beyond that. Since the schema fully documents the only parameter, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: get details of a specific job. It distinguishes a single-job getter from broad listing by saying 'specific job,' but it does not explicitly differentiate from siblings such as jobs.list, jobs.update, or jobs.refresh.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The required job_id parameter and phrase 'specific job' imply usage when the job identifier is already known. However, the description gives no explicit when/when-not guidance and names no alternatives, so the agent must infer the distinction from sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jobs.interviews.addCInspect
Log an interview for a job
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Interview name, e.g. phone screen, technical, behavioral, onsite | |
| notes | No | Notes or debrief from the interview | |
| job_id | Yes | Job id | |
| location | No | Location or meeting link | |
| scheduled_at | No | ISO 8601 date/time with timezone |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose this is a non-destructive, non-idempotent write with a closed-world scope, so the safety profile is covered. The description adds nothing beyond that — it does not say whether repeat calls create duplicates, whether logging triggers notifications, or what side effects follow.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence with zero waste, but for a five-parameter mutation tool it is under-specified rather than efficiently concise. Brevity here costs more than it saves.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover the safety profile, so the description needn't explain return values. Still, for a mutation that writes interview records, missing guidance on duplicates and on the create/update boundary leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all five fields (name, notes, job_id, location, scheduled_at) are documented with examples and an ISO 8601 pattern. The description adds no parameter meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb 'Log' plus the resource 'an interview for a job' gives a clear, specific purpose that an agent can map to a create operation. It stops short of distinguishing itself from siblings like jobs.interviews.update or jobs.interviews.delete, which also operate on the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this rather than jobs.interviews.update, nor any prerequisites (e.g. whether the job must already exist or be in an applied state). The agent must infer the create-vs-update split from tool names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jobs.interviews.deleteADestructiveIdempotentInspect
Permanently delete an interview from a job. Confirm with the user first; it cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job id | |
| confirmed | Yes | Must be true after the user confirms permanent deletion | |
| interview_id | Yes | Interview id |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Human-readable confirmation of the action |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true. The description adds the critical detail 'cannot be undone' (reinforcing permanence) and mandates user confirmation, both of which go beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It front-loads the action and permanence, then adds the confirmation requirement—every clause contributes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 3-parameter delete operation with annotations covering destructive/idempotent behavior and an output schema present, the description provides all necessary context: action, permanence, and confirmation requirement. It could optionally note alternatives, but that is not essential for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% parameter description coverage, including the confirmed field's purpose. The description essentially restates the confirmation requirement already in the schema, adding no new parameter-level meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Permanently delete') and identifies the exact resource ('an interview from a job'). It clearly distinguishes from sibling tools like jobs.interviews.add and jobs.interviews.update by emphasizing irreversibility.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The instruction 'Confirm with the user first' provides a clear condition for when to invoke the tool, effectively guiding the agent to only call it after user confirmation. While it does not explicitly mention alternatives, the permanent deletion context makes the appropriate situation obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jobs.interviews.updateCIdempotentInspect
Update an existing interview
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Interview name, e.g. phone screen, technical, onsite | |
| notes | No | Notes or debrief from the interview | |
| job_id | Yes | Job id | |
| rating | No | Your rating of the interview, 1 to 5 | |
| outcome | No | Interview outcome | |
| feedback | No | Feedback received or given | |
| location | No | Location or meeting link | |
| next_action | No | The next step after this interview | |
| cancelled_at | No | ISO 8601 cancellation time with timezone | |
| completed_at | No | Completion date in YYYY-MM-DD format | |
| interview_id | Yes | Interview id | |
| interviewers | No | Names or roles of the interviewers | |
| scheduled_at | No | ISO 8601 date/time with timezone | |
| cancelled_reason | No | Why the interview was cancelled |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true, destructiveHint=false and readOnlyHint=false, so safety profile is covered. But the description adds nothing: it doesn't say whether omitted fields are left unchanged or cleared, what happens to outcome/rating transitions, or that cancelled_at must pair with cancelled_reason. For a 14-parameter mutation tool this is a real gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero waste, but also zero substance — conciseness here reflects under-specification rather than disciplined editing. There is no structure to speak of because there is only one clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 14 parameters, an output schema, and existing annotations, the description should at minimum state that only supplied fields are modified. Nothing about update semantics, required fields beyond IDs, or interaction between cancelled_at/cancelled_reason is present, leaving the agent to guess at mutation behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and enum/format constraints are fully documented, so the schema carries the parameter burden. The description contributes no extra semantics beyond 'update', which meets the baseline-3 expectation when coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb + resource ("Update an existing interview") and, via the tool name, distinguishes itself from jobs.interviews.add and jobs.interviews.delete. It stops short of saying what aspects are updatable or what 'existing' requires, but the core purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this instead of jobs.interviews.add or jobs.interviews.delete, no prerequisites, and no statement of whether partial updates are allowed. The agent must infer everything from the tool name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jobs.listCRead-onlyIdempotentInspect
List jobs in your journey
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Pagination cursor returned as meta.next_page | |
| limit | No | Maximum records to return |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, and openWorldHint=false, covering the safety profile. The description adds only 'in your journey' as a scoping hint, with no explanation of pagination defaults, authorization requirements, or ordering behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence with zero waste and is front-loaded. It is appropriately sized for a simple list tool, though 'journey' is left undefined.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has rich annotations, complete parameter documentation, and an output schema, so the description does not need to explain return values or safety. However, the vague term 'journey' is never clarified, and the lack of any usage context leaves a small but real gap for an agent deciding when to call this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both optional parameters (page, limit) fully documented, so the baseline is 3. The description adds no parameter-specific meaning beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb (List) and resource (jobs), and the qualifier 'in your journey' implies scoping to the user's own tracked jobs. It is naturally distinct from mutation siblings like jobs.add or jobs.archive, though it does not explicitly differentiate itself from other list-style tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no mention of filtering or scoping options, and no exclusions. The only implied usage is that it lists jobs, which is already evident from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jobs.mark_appliedCDestructiveIdempotentInspect
Mark a job as applied
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job id |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true, and idempotentHint=true, and the description does nothing to explain any of that. In particular it never clarifies what is "destroyed" by a destructive-hinted operation or whether an application record is created versus a status flipped — exactly the context an agent needs before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, front-loaded sentence with zero filler. The issue is under-specification rather than verbosity, so it does not lose points for wasted text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be described, but for a mutation with destructiveHint=true and no annotations explaining side effects, the description should say what changes and whether it is reversible. That gap is material given the surrounding offer/submission tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single required job_id, so the schema already carries the parameter meaning. The description adds nothing (e.g. whether job_id is the posting id or the user's tracked-job id), so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb+resource ("Mark a job as applied") is understandable, but it is essentially a restatement of the tool name and adds no scope or mechanism detail. It does not distinguish this from siblings like jobs.update or companies.submissions.create, which could plausibly also record an application.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this rather than jobs.update, companies.submissions.create, or jobs.add. No prerequisites, no exclusions, no mention of what state the job must be in.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jobs.offer.acceptADestructiveIdempotentInspect
Accept the offer for a job. This is a major state change that closes out the search for this role; confirm with the user before calling. It does not email the employer.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job id | |
| confirmed | Yes | Must be true after the user confirms accepting the offer |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds meaningful context beyond the destructiveHint annotation: it explains that this is a major state change that closes out the role search and clarifies an important boundary ('It does not email the employer'). This tells the agent what the action affects and what it does not do, which is exactly the kind of behavioral detail annotations alone cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no waste: purpose first, then the critical confirmation requirement, then the side-effect boundary. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's destructive nature and the presence of an output schema and full parameter documentation, the description supplies the remaining essential context: user confirmation is required, the search closes, and no employer email is sent. Nothing critical for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters are documented, including the required confirmation semantics for 'confirmed'. The description adds no parameter-specific guidance, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Accept the offer for a job') and makes the effect clear. It does not explicitly name or contrast with nearby siblings such as jobs.offer.decline, but the action is unambiguous from the name and description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear prerequisite ('confirm with the user before calling') and context ('closes out the search for this role'). It does not explicitly discuss when to choose decline or other alternatives, so it stops short of full when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jobs.offer.add_negotiationBInspect
Log a negotiation event on an offer (counter-offer, update, etc.)
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Notes about this negotiation event | |
| job_id | Yes | Job id | |
| event_date | No | Event date in YYYY-MM-DD format | |
| event_type | Yes | Whether the event records an employer offer or your counter | |
| bonus_cents | No | Signing bonus in cents | |
| equity_text | No | Equity details (e.g. "0.05% over 4 years") | |
| salary_cents | No | Salary in cents (e.g. 15000000 for $150k) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, non-destructive, non-idempotent write. The description adds that it records a negotiation event such as a counter or update, which clarifies the domain meaning, but it does not warn about duplicate event accumulation or ordering, which matter for a non-idempotent append operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though its brevity means nothing about sequencing or alternatives is ever established.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With seven parameters, an output schema, and full schema coverage, the structured fields carry most of the burden. The description is adequate but omits the one thing only prose can supply: how this tool relates to the other offer tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter including salary_cents, bonus_cents, equity_text, and the event_type enum is already documented. The description's 'counter-offer, update, etc.' loosely maps to event_type values but adds no format or unit detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: logging a negotiation event on an offer, with parenthetical examples (counter-offer, update). It distinguishes the tool from the broader jobs.offer.update only implicitly, but the resource+action combination is clear enough to route on.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to log a negotiation event versus using jobs.offer.update or jobs.offer.delete_negotiation, and no preconditions such as whether the offer must already exist. The agent must infer the situation from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jobs.offer.createCInspect
Record a job offer with compensation details
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Notes about the offer | |
| job_id | Yes | Job id | |
| currency | No | Supported currency code | |
| rsu_text | No | RSU details as text | |
| bonus_cents | No | Bonus in cents | |
| deadline_at | No | ISO 8601 offer deadline with timezone | |
| equity_text | No | Equity details as text | |
| next_action | No | The next step on this offer | |
| target_rsu_text | No | The RSUs you are negotiating toward, as text | |
| initial_rsu_text | No | The originally offered RSUs as text | |
| base_salary_cents | No | Base salary in cents (e.g. 15000000 for $150k) | |
| target_bonus_cents | No | The bonus you are negotiating toward, in cents | |
| target_equity_text | No | The equity you are negotiating toward, as text | |
| initial_bonus_cents | No | The originally offered bonus in cents | |
| initial_equity_text | No | The originally offered equity as text | |
| target_salary_cents | No | The base salary you are negotiating toward, in cents | |
| initial_salary_cents | No | The originally offered base salary in cents |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already provide the full safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false, openWorldHint=false). The description does not add anything beyond that profile, even though idempotentHint=false has a practical consequence that it should state: calling this twice creates duplicate offers. It also says nothing about required permissions or what already-existing data the call might overwrite.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single front-loaded sentence with zero redundancy, and the verb and resource come first. It is efficient, but it is actually undersized for a 17-parameter create tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema and annotations exist, but for a 17-parameter create tool with a rich negotiation-tracking model, the description omits the essential shape of the data: that it tracks initial offers, target asks, deadlines, and next actions. An agent reading only the description would not know what a 'complete' record looks like.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents every parameter, including the initial_*/target_* negotiation triplets and the cents convention. The description's phrase 'compensation details' loosely maps to the money fields, but it does not explain the initial-versus-target negotiation model that dominates the schema. A baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Record a job offer'. That distinguishes it from jobs.offer.accept, jobs.offer.decline, and jobs.offer.update, though it never says so explicitly. The clause 'with compensation details' hints at scope, but the 17-parameter schema is far broader than compensation alone (deadline, next_action, notes).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says nothing about when to call it, when not to, or how it relates to the many siblings. For example, nothing tells the agent whether to use jobs.offer.update when an offer already exists, or that jobs.offer.add_negotiation handles the initial/target fields after creation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jobs.offer.declineADestructiveIdempotentInspect
Decline the offer for a job, a major state change; confirm with the user first. It does not email the employer.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job id | |
| confirmed | Yes | Must be true after the user confirms declining the offer |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false. The description adds useful context by emphasizing the major state change, requiring user confirmation, and clarifying that no employer email is sent. It does not detail reversibility or downstream effects, but it adds meaningful behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two front-loaded sentences with no wasted language. It immediately states the action, highlights the state-change significance, and adds a key side-effect clarification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the destructive annotation, full parameter schema, and output schema, the description covers the key agent-facing concerns: user confirmation and no employer email. It could say more about reversibility or what exactly changes, but it is sufficiently complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both job_id and confirmed are already documented in the input schema. The description reinforces the confirmed semantics with "confirm with the user first," but adds little beyond the schema for job_id. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: "Decline the offer for a job." This is clearly distinct from sibling operations such as jobs.offer.accept, jobs.offer.update, and jobs.offer.delete, and the "major state change" phrasing signals the significance of the action.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear usage condition: confirm with the user first before declining. It also clarifies that the tool does not email the employer, which helps set expectations. It does not explicitly name alternatives such as jobs.offer.accept, but the context is still clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jobs.offer.deleteADestructiveIdempotentInspect
Permanently delete the offer recorded for a job (the job stays). Use only to fix a mistake, and confirm with the user first; it cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job id | |
| confirmed | Yes | Must be true after the user confirms permanent deletion |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Human-readable confirmation of the action |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already include destructiveHint: true and idempotentHint: true, but the description adds meaningful context beyond that: it states the deletion is permanent ('cannot be undone'), clarifies that the job record remains, and reiterates the need for user confirmation. This provides a fuller picture of the operation's consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short, purposeful sentences. The first sentence states the action and scope; the second provides usage conditions and consequences. There is no redundancy or fluff; every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter destructive tool, the description covers all necessary aspects: what is deleted, what is preserved, when to use it, the requirement for confirmation, and irreversibility. The output schema exists to explain return values, and the annotations handle the safety profile. Nothing important is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes both job_id ('Job id') and confirmed ('Must be true after the user confirms permanent deletion') with 100% coverage. The description does not add new details about the parameters beyond reinforcing that confirmation is required, which is already in the schema. Hence the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'delete' and the resource 'offer recorded for a job', and explicitly notes 'the job stays' to distinguish from jobs.delete. This unambiguously identifies what the tool does and differentiates it from sibling tools like jobs.delete or jobs.offer.update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: 'Use only to fix a mistake, and confirm with the user first'. This tells the agent when it is appropriate to call the tool and imposes a confirmation requirement. It does not explicitly name alternative tools, but the condition covers the main decision point.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jobs.offer.delete_negotiationADestructiveIdempotentInspect
Remove a negotiation event from an offer
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job id | |
| event_id | Yes | Negotiation event id | |
| confirmed | Yes | Must be true after the user confirms deletion |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | Human-readable confirmation of the action |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false. The description states 'remove', which aligns with destructive, but adds no extra behavioral context (e.g., permanence, cascading effects, or the need for confirmation). Since annotations carry the safety profile, this is a minimal but acceptable disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, direct sentence with no wasted words. It front-loads the action and object clearly. This is concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the description is adequate. The annotations cover destructive and idempotent hints, and the schema documents all parameters including the confirmation requirement. However, it lacks any warning about the irreversible nature or any expected outcome, which would be helpful for a destructive operation. Still, the essential information is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter has a description (job_id: 'Job id', event_id: 'Negotiation event id', confirmed: 'Must be true after the user confirms deletion'). The tool description adds no additional parameter meaning beyond what the schema already provides, so it meets the baseline without enhancement.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Remove a negotiation event from an offer' specifies a clear verb (remove) and specific resource (negotiation event within an offer). It effectively distinguishes from sibling tools like jobs.offer.delete (which deletes the offer itself) by targeting a sub-resource. The meaning is unambiguous and immediately actionable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided regarding when to use this tool versus alternatives. There is no mention of prerequisites, such as confirmation flow (despite the confirmed parameter), or any distinction from jobs.offer.delete. The description only states what it does, not when or why an agent should choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jobs.offer.updateCIdempotentInspect
Update the offer recorded for a job
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | Notes about the offer | |
| job_id | Yes | Job id | |
| currency | No | Supported currency code | |
| rsu_text | No | RSU details as text | |
| bonus_cents | No | Bonus in cents | |
| deadline_at | No | ISO 8601 offer deadline with timezone | |
| equity_text | No | Equity details as text | |
| next_action | No | The next step on this offer | |
| target_rsu_text | No | The RSUs you are negotiating toward, as text | |
| initial_rsu_text | No | The originally offered RSUs as text | |
| base_salary_cents | No | Base salary in cents (e.g. 15000000 for $150k) | |
| target_bonus_cents | No | The bonus you are negotiating toward, in cents | |
| target_equity_text | No | The equity you are negotiating toward, as text | |
| initial_bonus_cents | No | The originally offered bonus in cents | |
| initial_equity_text | No | The originally offered equity as text | |
| target_salary_cents | No | The base salary you are negotiating toward, in cents | |
| initial_salary_cents | No | The originally offered base salary in cents |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=true, and openWorldHint=false. The description adds no behavioral context beyond the annotations—it does not clarify partial versus full replacement semantics, whether omitted fields are preserved, or any preconditions such as the offer already existing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The single sentence is front-loaded and free of filler. It is efficient, though its brevity reflects under-specification rather than a deliberate choice to be concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 17-parameter mutation tool with siblings that handle creation, deletion, acceptance, and negotiation, the description is too thin. Although an output schema and annotations exist, the agent is left without crucial update semantics (partial update behavior, offer existence requirements) needed to call this confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 17 parameters are already documented in the input schema. The description adds no parameter-level meaning beyond what the schema provides, which is the baseline expectation when coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb ('Update') and resource ('the offer recorded for a job'), making the operation understandable at a glance. It does not explicitly distinguish itself from siblings like jobs.offer.create or jobs.offer.delete, which keeps it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus jobs.offer.create, jobs.offer.accept, or jobs.offer.add_negotiation. The agent must infer that this is the general-purpose offer edit tool from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jobs.refreshAInspect
Queue a job posting to be re-scraped. The returned job may remain pending; use jobs.get later to inspect the refreshed state.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job id |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare mutation (readOnlyHint=false), non-idempotency, and non-destructiveness; the description adds the crucial behavioral trait that the operation is asynchronous and the returned job may remain pending. That non-obvious timing detail is exactly what an agent needs beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and followed by the essential follow-up instruction. No boilerplate or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return values needn't be explained, and the description covers the one thing the output schema can't convey: the result is likely pending. Nothing needed to invoke correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single required job_id, so the schema carries the parameter documentation. The description adds no format or resolution hints for job_id (e.g. where to obtain the id), which is fine given the coverage baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Queue a job posting to be re-scraped') with clear async semantics. Distinguishes itself from jobs.get, which is named as the follow-up inspection tool, and from jobs.add/jobs.update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear context: use this to trigger a re-scrape, then use jobs.get to inspect results. It doesn't explicitly state when NOT to use it (e.g. versus jobs.update or jobs.add), but the async sequencing guidance is actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jobs.unarchiveAIdempotentInspect
Restore an archived job to the active board
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | Job id |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and closed-world scope. The description adds the state transition target (active board), but does not cover permission requirements, behavior when the job is not archived, or error conditions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with zero waste, front-loading the verb and the effect. Nothing extraneous remains to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover the safety and idempotency profile, so the description need not explain return values. It is complete enough for a one-parameter state-toggle, though the required pre-state is only implied.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage for the single job_id parameter, and its meaning is self-evident. The description adds no syntax or format detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ("Restore") and resource ("archived job") plus the outcome ("to the active board"). It is clearly distinguishable from the sibling jobs.archive tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: call this to reverse an archive. There is no explicit statement of when not to use it, prerequisites (job must currently be archived), or a named alternative, though jobs.archive is an obvious sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
jobs.updateCIdempotentInspect
Update a job in your journey
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | URL of the job posting | |
| notes | No | Markdown notes about this application | |
| title | No | Job title | |
| job_id | Yes | Job id | |
| source | No | Where this job came from | |
| company | No | Company name | |
| location | No | Job location | |
| description | No | Job description | |
| qualifications | No | Job qualifications | |
| compensation_text | No | Compensation text from the posting |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds nothing beyond that: it does not state whether the update is partial (only supplied fields change) or a full replace, nor whether unspecified fields are cleared — the most consequential behavioral detail for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Six words with no redundancy, but that brevity comes at the cost of substance; 'in your journey' is unfalsifiable filler rather than front-loaded information. Efficient but under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a 10-parameter mutation tool operating in a context with many overlapping sibling tools. An output schema exists, so return values need no explanation, but the description leaves the partial-vs-full update semantics and job_id requirement entirely unaddressed — critical gaps for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with 10 documented params, so the schema carries the parameter burden and baseline 3 applies. The description contributes zero additional semantics and notably omits that job_id is required while the other nine fields are optional.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb 'Update' and resource 'a job' are stated explicitly, which distinguishes it from jobs.archive, jobs.delete, and jobs.mark_applied. However, 'in your journey' is noise and the description never says what aspects are updatable (fields vs. status), leaving it only marginally more informative than the tool name jobs.update.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this instead of the crowded sibling set: jobs.archive, jobs.unarchive, jobs.mark_applied, jobs.refresh, or jobs.add. An agent has no signal for choosing between a generic field update and the dedicated status-change tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
openings.add_to_boardAIdempotentInspect
Add an indexed opening to the board after the user chooses it. Uses opening.id, not the Following row ID. Returns the existing board job if already added. This does not apply to the employer or send email; it also marks any matching Following item as read.
| Name | Required | Description | Default |
|---|---|---|---|
| opening_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true and destructiveHint=false, but the description adds non-obvious behavior the agent cannot see structurally: a duplicate call returns the existing board job, and the call silently marks a matching Following item as read. The side effect on Following state is exactly the kind of disclosure that prevents surprise downstream.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, the primary action front-loaded, with the ID disambiguation placed immediately after. The final sentence bundles two unrelated exclusions and the mark-as-read side effect, which reads slightly compressed but wastes no words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no prose, and the annotations cover the safety profile. What remains for the description to cover — ID semantics, idempotent duplicate behavior, and the Following side effect — is all present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% with a single required string, so the description must carry the meaning, and it does: it specifies the value is opening.id rather than the Following row ID. That disambiguation is the only thing an agent could get wrong here, and it is stated explicitly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Add an indexed opening to the board') and pins down which identifier is consumed, which an agent cannot infer from the name alone. It doesn't contrast itself with the nearby jobs.add sibling, so the boundary between the two add-paths is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'after the user chooses it' hints at the triggering context, and the exclusion ('does not apply to the employer or send email') rules out two misreadings. However, no alternative tool is named, so an agent facing a job/opening add decision gets no explicit routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
openings.getARead-onlyIdempotentInspect
Read an indexed opening, including its full description and qualifications. Use opening.id from Search or Following, not a follow-opening row ID.
| Name | Required | Description | Default |
|---|---|---|---|
| opening_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds that the result contains the full description and qualifications, but says nothing about error/not-found behavior or visibility restrictions, so it adds only modest context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero filler. The core action is front-loaded and the identifier warning follows immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter read tool with annotations and an output schema, this covers the essentials: what it returns and how to supply the ID. The only minor gap is that it does not clarify behavior when the opening is not found or inaccessible.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single parameter opening_id has no schema description, so the description carries the full burden. It explains exactly where opening_id comes from and explicitly warns against using a follow-opening row ID, which is the main semantic pitfall for this parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read an indexed opening') and even names what the response includes (full description and qualifications). It does not explicitly contrast with sibling list/get tools, but the 'indexed opening' scope is clear enough to distinguish it from tools like following.openings.list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a concrete sourcing rule for the identifier ('Use opening.id from Search or Following, not a follow-opening row ID'), which is genuinely useful guidance. However, it never says when to choose this tool over related siblings or when it is unnecessary, so usage guidance is implied rather than complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
persona.getARead-onlyIdempotentInspect
Get the user's persona: inferred job-search preferences and traits with an understanding score. Use it to tailor advice and searches.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile needs no restating. The description adds a modest behavioral hint by calling the data "inferred" with an "understanding score," signaling the persona may be partial or low-confidence, but says nothing about freshness, staleness, or what happens on first use for a new user.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero redundancy: the first defines the resource and its returned fields, the second states the use case. Both sentences earn their place and the core definition is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return structure need not be described, and with no inputs the call surface is trivial. The only residual gap is that "understanding score" is not explained in terms of what values or thresholds to expect, though the output schema likely covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the baseline this scores 4; there is nothing to disambiguate. The description does not need to explain inputs, and it correctly avoids inventing any.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Get the user's persona") and enumerates the payload: inferred job-search preferences, traits, and an understanding score. It does not name a sibling tool it contrasts with, but the resource is unique among the siblings (no other persona-related tool exists), so confusion risk is low.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use it to tailor advice and searches" gives a clear contextual trigger for calling it — the agent knows to fetch persona before personalizing recommendations or search. There is no explicit when-not condition or named alternative, which keeps it at 4 rather than 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommendations.blockBIdempotentInspect
Dismiss a recommended company and block it from future recommendations
| Name | Required | Description | Default |
|---|---|---|---|
| recommendation_id | Yes | Recommendation id |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=false; the description adds the important lasting effect (removal from future recommendations), which is genuine value beyond structured fields. It omits whether the block is reversible (a recommendations.restore sibling exists) and whether dismissal and blocking are one atomic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One front-loaded sentence that states the primary action first and the side effect second, with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema and annotations cover return values and safety profile, and the single parameter is fully documented, so the description only needs to add routing context. Its remaining gap is the unstated contrast with recommendations.dismiss/restore.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single recommendation_id parameter, so the schema already documents it. The description adds no syntax, format, or sourcing guidance (e.g., where to obtain the id), so baseline 3 is correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb plus resource: 'Dismiss a recommended company and block it from future recommendations' tells an agent exactly what effect the call has. It does not, however, distinguish itself from the sibling recommendations.dismiss, and the word 'dismiss' in the description actively blurs that boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No statement of when to prefer this over recommendations.dismiss, recommendations.feedback, or recommendations.restore. The only implicit cue is 'block it from future recommendations', which the agent must infer as the differentiator.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommendations.dismissCIdempotentInspect
Dismiss a recommended company
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | Why it was dismissed; sharpens future recommendations | |
| recommendation_id | Yes | Recommendation id |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, non-destructive, idempotent, closed-world mutation, so safety is covered. The description adds nothing beyond that: it never says what dismissing does to the recommendation (hide, suppress, deprioritize), whether it is reversible via recommendations.restore, or how it affects future recommendations. Only the schema's 'reason' text hints that it sharpens future recommendations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though its brevity reflects missing content rather than deliberate economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With full schema coverage, an output schema, and annotations covering the safety profile, the description does not need to restate parameters or returns. However, for a mutation that sits alongside block/restore/feedback siblings, the missing reversibility and 'which action to pick' context leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are already documented, including the purpose of 'reason'. The description adds no format, constraints, or examples beyond the schema, which is the baseline expectation when the schema carries full param semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Dismiss a recommended company'), which is enough to distinguish it from list/get style siblings. It does not contrast with the near-neighbor actions recommendations.block or recommendations.restore, so the distinction is only partly carried by the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to dismiss versus block, when to leave feedback, or that recommendations.restore is the undo path. The agent must infer the entire decision from sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommendations.feedbackAInspect
Record recommendation feedback to improve future suggestions. The historical feedback tag "watched" records that a company was followed; it does not create a follow. Use following.follow first. Dismiss/block/restore actions are separate tools.
| Name | Required | Description | Default |
|---|---|---|---|
| feedback_types | Yes | One or more supported feedback tags | |
| recommendation_id | Yes | Recommendation id | |
| interaction_source | No | Where the feedback came from in the UI or agent flow |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, non-destructive, non-idempotent behavior. The description adds important context beyond them: the "watched" tag is historical and does not create a follow, and dismiss/block/restore are action tools rather than this feedback tool. It does not clarify duplicate-feedback handling or reversibility, but that is a minor gap given annotations and the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core purpose, followed by the most non-obvious caveat and the relevant alternatives. There is no redundant restatement of the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich schema, annotations, and output schema, the description covers the critical non-obvious behavior: watched feedback does not follow a company, and action tools are separate. A small ambiguity remains because the feedback_types enum includes "dismissed" while the description says dismiss actions are separate tools, so an agent may still need to infer whether recording that tag is distinct from recommendations.dismiss.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all three parameters and enumerates the feedback tags. The description adds meaning by clarifying the semantics of the "watched" tag and distinguishing it from the separate follow/action tools, though it does not explain every feedback tag or interaction_source.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: "Record recommendation feedback." It also distinguishes the tool from close siblings by naming following.follow and the separate dismiss/block/restore tools, so an agent can identify its scope without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit routing guidance: "Use following.follow first" for the watched case and "Dismiss/block/restore actions are separate tools." These are concrete when-to-use and when-not-to-use rules tied to named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommendations.getBRead-onlyIdempotentInspect
Get one recommended company with sources and persona fit
| Name | Required | Description | Default |
|---|---|---|---|
| recommendation_id | Yes | Recommendation id |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=false, and destructiveHint=false, so the safety profile is fully covered. The description adds only that the response includes sources and persona fit, which is useful context but largely duplicated by the output schema. No mention of behavior for unknown or blocked recommendation ids.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single ten-word sentence with zero filler, front-loading the verb and resource. Nothing to trim and nothing buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a complete output schema, rich annotations, and only one parameter, the description covers the essentials. It falls short only on edge-case behavior (missing id, blocked/dismissed recommendations) and explicit routing to recommendations.list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single required parameter with 100% schema description coverage, so the schema already documents recommendation_id. The description implies fetching a specific item by id but adds no semantics, format, or sourcing details beyond that. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Get) and resource (one recommended company), and adds what comes back (sources, persona fit). The singular "one" implicitly distinguishes it from recommendations.list, but no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus recommendations.list or the other recommendations.* siblings — the only hint is the word "one." An agent must infer that this is the detail-fetch-by-id counterpart to the list tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommendations.listARead-onlyIdempotentInspect
Discover companies recommended from the companies you follow. Optionally filter by source_company_id (company.id from following.list, not a follow ID). Returns one flat list plus per-source counts. To follow a recommendation, use following.follow with candidate_company.id and your chosen filters.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Pagination cursor returned as meta.next_page | |
| limit | No | Maximum records to return | |
| source_company_id | No | Company ID of a followed company. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry readOnly/idempotent/non-destructive, so the description's added value is mostly the ID-semantics warning and the per-source counts in the response. It adds useful context but does not disclose pagination behavior, ordering, or how counts are keyed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight, front-loaded sentences with no filler; the purpose leads and the filter caveat follows. The final sentence concerns a sibling tool, which is useful routing but slightly outside the tool's own scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete enough for a three-parameter, zero-required list tool that has both annotations and an output schema. Return shape is delegated to the output schema, and the only remaining gap is pagination/ordering behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds genuine meaning beyond the schema by warning that source_company_id is a company.id from following.list, not a follow ID — a distinction the schema's 'Company ID of a followed company' does not make.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (discover companies recommended from companies you follow) and implicitly distinguishes itself from recommendations.get and following.list by naming what it returns: one flat list plus per-source counts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear routing guidance for two adjacent tasks: use following.list to obtain the company.id for source_company_id, and use following.follow with candidate_company.id to act on a recommendation. It stops short of saying when to prefer recommendations.get over this list tool, but the context is explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommendations.restoreAIdempotentInspect
Restore a dismissed or blocked recommendation
| Name | Required | Description | Default |
|---|---|---|---|
| recommendation_id | Yes | Recommendation id |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | |
| meta | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true, destructiveHint=false, and readOnlyHint=false, so the safety profile is covered. The description usefully adds that it applies to dismissed or blocked items, but says nothing about the resulting state (e.g., whether it returns to the active list) or any side effects such as re-notification.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. It is efficient, though it could have spent a few more words on the resulting state without becoming bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With rich annotations, an output schema present, and a single documented parameter, the definition covers the essentials for an agent to call it correctly. The only notable omission is what state the recommendation ends up in after restore.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single recommendation_id parameter, so the schema carries the semantics. The description adds no constraint such as whether the id must reference a currently dismissed/blocked recommendation. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Restore) and resource (recommendation) plus the qualifying prior states (dismissed or blocked), which is more informative than the name alone. It does not explicitly contrast with siblings like recommendations.dismiss or recommendations.get, so sibling differentiation is only implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The mention of 'dismissed or blocked' implies the precondition for calling it, but there is no explicit when-to-use/when-not guidance, no note about whether the recommendation must currently be in one of those states, and no named alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search.company_openingsARead-onlyIdempotentInspect
Read all matching jobs for a company in a ready search, not just its three preview jobs. Continue with data.next_page until null. Use company.id from the search results.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Numeric results page from results.next_page; not a cursor. | |
| sort | No | ||
| search_id | Yes | ||
| company_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive behavior, so the safety profile is covered. The description adds genuinely new behavior: this returns the full match set rather than a truncated preview, and pagination terminates when data.next_page is null. That pagination loop detail is the kind of context annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with zero filler. The primary scope statement comes first, then the pagination rule, then the required input source — a well-ordered, front-loaded definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description covers the essentials of scope, pagination, and the required ID source. The gap is the unexplained search_id and sort semantics for a tool whose schema coverage is only 25%.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 25%, so the description has to carry more weight. It explains company_id's origin ('from the search results') and the pagination loop, but says nothing about search_id or the sort options (relevance/newest/highest_pay are only weakly self-explanatory). It also refers to 'data.next_page' where the schema says 'results.next_page', which could confuse an agent about the response shape.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read all matching jobs for a company') and scopes it to a ready search, explicitly contrasting with 'just its three preview jobs'. An agent can tell this is the exhaustive listing rather than a preview, though it never names the sibling tools (e.g. search.get, following.openings.list) it might be confused with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'in a ready search' and 'Use company.id from the search results' give clear preconditions, and the preview contrast implies when to reach for this instead of a preview view. It stops short of naming an explicit alternative tool or stating exclusions, so it falls just under the 5 bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search.createAInspect
Search indexed jobs or companies. Supply input OR query, not both. Natural-language searches return a search ID and processing state: use search.get later, without rapid polling. Keep the ID to paginate or update this same search. Empty query {} is All openings, currently sorted by newest without persona personalization.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Numeric results page from results.next_page; not a cursor. | |
| sort | No | ||
| view | No | ||
| input | No | Natural-language search, processed asynchronously. Omit when supplying query. | |
| query | No | Structured filters. Use {} for All openings; results are immediately available. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare it's non-readonly, non-idempotent, non-destructive. The description adds critical behavior beyond that: natural-language input is processed asynchronously and returns a search ID plus processing state, so the agent should not poll rapidly and should retain the ID. That is exactly the operational context annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and the most important constraint (input XOR query), then the async/polling caveat, then the empty-query default. Four tight sentences, none wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be explained, and the async flow and empty-query default are covered. The nested query object has many fields at 60% coverage, so a little semantics is left to the schema, but nothing essential to calling it is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60%, and the description adds real meaning: the input vs query mutual exclusion, that {} means all openings, and that the ID supports pagination/update. It doesn't elaborate on page, sort, or view beyond the schema, leaving some gap, so 4 rather than 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (search indexed jobs or companies) and immediately scopes it via the input-OR-query rule. It implicitly distinguishes itself from siblings by naming search.get and search.update for follow-up actions, so an agent can tell which search tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to supply input OR query, not both; names search.get for async retrieval and search.update for the same search; warns against rapid polling; and explains the empty-query {} case as 'All openings'. Clear when-to-use and which alternatives handle follow-ups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search.getARead-onlyIdempotentInspect
Read a search and its results, switch jobs/companies view, or fetch results.next_page. Pending/interpreting/processing means it is still working: do not create another search or poll rapidly. If missing_company_name is set, ask for its careers URL and use companies.submissions.create. Company rows contain samples, not all matching jobs.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Numeric results page from results.next_page; not a cursor. | |
| sort | No | ||
| view | No | ||
| search_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive, and the description adds substantial beyond-schema behavior: the status state machine (pending/interpreting/processing = still working), an anti-polling constraint, the missing_company_name fallback path, and the caveat that company rows are samples rather than exhaustive matches.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences, no filler, and the primary use case is front-loaded. Slightly crowded — the results.next_page phrasing references an output field by path in a way that reads a bit awkwardly, but every sentence carries actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values needn't be described, and the description fills the remaining gaps: status states, pagination source, the missing_company_name edge case, and the partial-results caveat for company rows. An agent has everything needed to call this correctly and know when to stop.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 25% (only 'page' is documented in the schema), so the description should carry more weight. It does clarify 'page' as coming from results.next_page and adds meaning to 'view' via the jobs/companies rows, but 'sort' is never addressed and the schema enums are left to speak for themselves.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Read a search and its results') and enumerates the three concrete sub-operations: view switching between jobs/companies and fetching results.next_page. It also implicitly separates itself from search.create by warning not to create another search while one is processing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit when-to-do-what rules: pending/interpreting/processing means wait and don't poll rapidly, and if missing_company_name is set the agent should ask for the careers URL and route to companies.submissions.create. That is an explicit alternative-tool routing decision, not just context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search.updateAInspect
Update the existing search instead of creating another. Supply input OR the complete replacement query; omitted filters are cleared. Wait until the current search is ready or failed before updating it.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Numeric results page from results.next_page; not a cursor. | |
| sort | No | ||
| view | No | ||
| input | No | Natural-language search, processed asynchronously. Omit when supplying query. | |
| query | No | Structured filters. Use {} for All openings; results are immediately available. | |
| search_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations establish mutation and non-idempotency; the description adds the non-obvious replacement semantics ('omitted filters are cleared') and the async readiness gate, which are real behavioral facts beyond structured data. It stops short of naming search.get as the way to verify readiness or describing failure modes, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each carrying a distinct load: substitution rule, field semantics, precondition. The most consequential constraint (clearing omitted filters) is front-loaded after the identity statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A mutation tool on a nested 6-parameter schema; the description covers identity, replacement semantics, the input/query split, and readiness. Return values are covered by the output schema, so the only residual gap is how to check readiness before calling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 50% schema coverage, the description compensates for the most important ambiguity by defining input vs. query as mutually exclusive and by flagging wholesale replacement on omission. It does not add meaning for page/view/sort, which the schema already annotates or enum-restricts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (update) and resource (existing search), and explicitly contrasts it with the sibling behavior of creating another search. An agent can distinguish this from search.create without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives the selection condition versus search.create ('instead of creating another'), the parameter contract ('input OR the complete replacement query'), and a state precondition ('wait until the current search is ready or failed'). Nothing essential is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
73 tool updates
- Changed
account.agenda55 fields changed- changed
Output schema / properties / data / properties / calendar_sync / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "error": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "last_synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "error": { + "type": [ + "string", + "null" + ] + }, + "last_synced_at": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / generated_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / generated_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / due_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / due_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / ends_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / ends_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / from_calendar / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / from_calendar / typeAdded value: +[ + "boolean", + "null" +] - removed
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / id / typeAdded value: +[ + "string", + "number" +] - changed
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / job / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "company_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "job_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "title": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "company_name": { + "type": [ + "string", + "null" + ] + }, + "job_id": { + "type": [ + "string", + "null" + ] + }, + "title": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / kind / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / kind / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / priority / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / priority / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / source / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / source / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / starts_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / starts_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / subtitle / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / subtitle / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / title / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / needs_attention / properties / items / items / properties / title / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / scheduled / properties / items / items / properties / due_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / scheduled / properties / items / items / properties / due_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / scheduled / properties / items / items / properties / ends_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / scheduled / properties / items / items / properties / ends_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / scheduled / properties / items / items / properties / from_calendar / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / scheduled / properties / items / items / properties / from_calendar / typeAdded value: +[ + "boolean", + "null" +] - removed
Output schema / properties / data / properties / scheduled / properties / items / items / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / scheduled / properties / items / items / properties / id / typeAdded value: +[ + "string", + "number" +] - changed
Output schema / properties / data / properties / scheduled / properties / items / items / properties / job / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "company_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "job_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "title": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "company_name": { + "type": [ + "string", + "null" + ] + }, + "job_id": { + "type": [ + "string", + "null" + ] + }, + "title": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / scheduled / properties / items / items / properties / kind / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / scheduled / properties / items / items / properties / kind / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / scheduled / properties / items / items / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / scheduled / properties / items / items / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / scheduled / properties / items / items / properties / priority / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / scheduled / properties / items / items / properties / priority / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / scheduled / properties / items / items / properties / source / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / scheduled / properties / items / items / properties / source / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / scheduled / properties / items / items / properties / starts_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / scheduled / properties / items / items / properties / starts_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / scheduled / properties / items / items / properties / subtitle / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / scheduled / properties / items / items / properties / subtitle / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / scheduled / properties / items / items / properties / title / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / scheduled / properties / items / items / properties / title / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / timezone / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / timezone / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Added
companies.submissions.create - Added
companies.submissions.get - Added
following.digest.get - Added
following.digest.update - Added
following.follow - Added
following.list - Added
following.openings.list - Added
following.openings.mark_all_read - Added
following.openings.mark_read - Added
following.pause - Added
following.resume - Added
following.unfollow - Added
following.update - Changed
inbox.acknowledge4 fields changed- removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
inbox.apply_suggestion33 fields changed- changed
Output schema / properties / data / properties / email / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "account": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "dkim_verified": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "from": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "replyable": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "sent_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "snippet": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "subject": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "thread_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "unsubscribable": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "account": { + "type": [ + "string", + "null" + ] + }, + "dkim_verified": { + "type": [ + "boolean", + "null" + ] + }, + "from": { + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "replyable": { + "type": [ + "boolean", + "null" + ] + }, + "sent_at": { + "type": [ + "string", + "null" + ] + }, + "snippet": { + "type": [ + "string", + "null" + ] + }, + "subject": { + "type": [ + "string", + "null" + ] + }, + "thread_count": { + "type": [ + "number", + "null" + ] + }, + "unsubscribable": { + "type": [ + "boolean", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / properties / kind / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / kind / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / data / properties / payload / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "company": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "company_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "created_board_record": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "job_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "logo_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "recruiter_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "role": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "company": { + "type": [ + "string", + "null" + ] + }, + "company_url": { + "type": [ + "string", + "null" + ] + }, + "created_board_record": { + "type": [ + "boolean", + "null" + ] + }, + "interviewers": { + "type": [ + "string", + "null" + ] + }, + "job_url": { + "type": [ + "string", + "null" + ] + }, + "location": { + "type": [ + "string", + "null" + ] + }, + "logo_url": { + "type": [ + "string", + "null" + ] + }, + "recruiter_name": { + "type": [ + "string", + "null" + ] + }, + "role": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / related / items / properties / from / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / from / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / related / items / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / properties / related / items / properties / kind / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / kind / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / messages / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / messages / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / sent_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / sent_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / subject / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / subject / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / unread / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / unread / typeAdded value: +[ + "boolean", + "null" +] - removed
Output schema / properties / data / properties / replied / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / replied / typeAdded value: +[ + "boolean", + "null" +] - changed
Output schema / properties / data / properties / resulting / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "job_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "job_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / unread_reply / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / unread_reply / typeAdded value: +[ + "boolean", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
inbox.decline4 fields changed- removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
inbox.dismiss4 fields changed- removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
inbox.draft_reply4 fields changed- removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
inbox.get33 fields changed- changed
Output schema / properties / data / properties / email / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "account": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "dkim_verified": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "from": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "replyable": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "sent_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "snippet": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "subject": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "thread_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "unsubscribable": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "account": { + "type": [ + "string", + "null" + ] + }, + "dkim_verified": { + "type": [ + "boolean", + "null" + ] + }, + "from": { + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "replyable": { + "type": [ + "boolean", + "null" + ] + }, + "sent_at": { + "type": [ + "string", + "null" + ] + }, + "snippet": { + "type": [ + "string", + "null" + ] + }, + "subject": { + "type": [ + "string", + "null" + ] + }, + "thread_count": { + "type": [ + "number", + "null" + ] + }, + "unsubscribable": { + "type": [ + "boolean", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / properties / kind / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / kind / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / data / properties / payload / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "company": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "company_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "created_board_record": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "job_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "logo_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "recruiter_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "role": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "company": { + "type": [ + "string", + "null" + ] + }, + "company_url": { + "type": [ + "string", + "null" + ] + }, + "created_board_record": { + "type": [ + "boolean", + "null" + ] + }, + "interviewers": { + "type": [ + "string", + "null" + ] + }, + "job_url": { + "type": [ + "string", + "null" + ] + }, + "location": { + "type": [ + "string", + "null" + ] + }, + "logo_url": { + "type": [ + "string", + "null" + ] + }, + "recruiter_name": { + "type": [ + "string", + "null" + ] + }, + "role": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / related / items / properties / from / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / from / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / related / items / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / properties / related / items / properties / kind / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / kind / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / messages / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / messages / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / sent_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / sent_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / subject / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / subject / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / unread / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / unread / typeAdded value: +[ + "boolean", + "null" +] - removed
Output schema / properties / data / properties / replied / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / replied / typeAdded value: +[ + "boolean", + "null" +] - changed
Output schema / properties / data / properties / resulting / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "job_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "job_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / unread_reply / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / unread_reply / typeAdded value: +[ + "boolean", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
inbox.get_thread14 fields changed- removed
Output schema / properties / data / items / properties / body / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / body / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / from / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / from / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / items / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / items / properties / preview / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / preview / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / sent_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / sent_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
inbox.list33 fields changed- changed
Output schema / properties / data / items / properties / email / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "account": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "dkim_verified": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "from": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "replyable": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "sent_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "snippet": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "subject": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "thread_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "unsubscribable": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "account": { + "type": [ + "string", + "null" + ] + }, + "dkim_verified": { + "type": [ + "boolean", + "null" + ] + }, + "from": { + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "replyable": { + "type": [ + "boolean", + "null" + ] + }, + "sent_at": { + "type": [ + "string", + "null" + ] + }, + "snippet": { + "type": [ + "string", + "null" + ] + }, + "subject": { + "type": [ + "string", + "null" + ] + }, + "thread_count": { + "type": [ + "number", + "null" + ] + }, + "unsubscribable": { + "type": [ + "boolean", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / items / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / items / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / items / properties / kind / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / kind / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / data / items / properties / payload / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "company": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "company_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "created_board_record": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "job_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "logo_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "recruiter_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "role": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "company": { + "type": [ + "string", + "null" + ] + }, + "company_url": { + "type": [ + "string", + "null" + ] + }, + "created_board_record": { + "type": [ + "boolean", + "null" + ] + }, + "interviewers": { + "type": [ + "string", + "null" + ] + }, + "job_url": { + "type": [ + "string", + "null" + ] + }, + "location": { + "type": [ + "string", + "null" + ] + }, + "logo_url": { + "type": [ + "string", + "null" + ] + }, + "recruiter_name": { + "type": [ + "string", + "null" + ] + }, + "role": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / items / properties / related / items / properties / from / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / related / items / properties / from / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / related / items / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / items / properties / related / items / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / items / properties / related / items / properties / kind / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / related / items / properties / kind / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / related / items / properties / messages / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / related / items / properties / messages / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / items / properties / related / items / properties / sent_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / related / items / properties / sent_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / related / items / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / related / items / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / related / items / properties / subject / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / related / items / properties / subject / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / related / items / properties / unread / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / related / items / properties / unread / typeAdded value: +[ + "boolean", + "null" +] - removed
Output schema / properties / data / items / properties / replied / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / replied / typeAdded value: +[ + "boolean", + "null" +] - changed
Output schema / properties / data / items / properties / resulting / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "job_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "job_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / items / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / unread_reply / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / unread_reply / typeAdded value: +[ + "boolean", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
inbox.refresh13 fields changed- removed
Output schema / properties / data / items / properties / email / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / email / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / items / properties / id / typeAdded value: +[ + "string", + "number" +] - changed
Output schema / properties / data / items / properties / mailbox / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "last_synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "When the mailbox last finished synchronizing" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Mailbox synchronization state" - }, - "syncing": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "kind": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "messages_processed": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "messages_seen": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ], - "description": "Current mailbox synchronization progress" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "last_synced_at": { + "description": "When the mailbox last finished synchronizing", + "type": [ + "string", + "null" + ] + }, + "state": { + "description": "Mailbox synchronization state", + "type": [ + "string", + "null" + ] + }, + "syncing": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "kind": { + "type": [ + "string", + "null" + ] + }, + "messages_processed": { + "type": [ + "number", + "null" + ] + }, + "messages_seen": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ], + "description": "Current mailbox synchronization progress" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / items / properties / primary / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / primary / typeAdded value: +[ + "boolean", + "null" +] - removed
Output schema / properties / data / items / properties / status / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / status / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
inbox.send_reply33 fields changed- changed
Output schema / properties / data / properties / email / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "account": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "dkim_verified": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "from": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "replyable": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "sent_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "snippet": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "subject": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "thread_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "unsubscribable": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "account": { + "type": [ + "string", + "null" + ] + }, + "dkim_verified": { + "type": [ + "boolean", + "null" + ] + }, + "from": { + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "replyable": { + "type": [ + "boolean", + "null" + ] + }, + "sent_at": { + "type": [ + "string", + "null" + ] + }, + "snippet": { + "type": [ + "string", + "null" + ] + }, + "subject": { + "type": [ + "string", + "null" + ] + }, + "thread_count": { + "type": [ + "number", + "null" + ] + }, + "unsubscribable": { + "type": [ + "boolean", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / properties / kind / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / kind / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / data / properties / payload / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "company": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "company_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "created_board_record": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "job_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "logo_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "recruiter_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "role": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "company": { + "type": [ + "string", + "null" + ] + }, + "company_url": { + "type": [ + "string", + "null" + ] + }, + "created_board_record": { + "type": [ + "boolean", + "null" + ] + }, + "interviewers": { + "type": [ + "string", + "null" + ] + }, + "job_url": { + "type": [ + "string", + "null" + ] + }, + "location": { + "type": [ + "string", + "null" + ] + }, + "logo_url": { + "type": [ + "string", + "null" + ] + }, + "recruiter_name": { + "type": [ + "string", + "null" + ] + }, + "role": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / related / items / properties / from / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / from / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / related / items / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / properties / related / items / properties / kind / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / kind / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / messages / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / messages / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / sent_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / sent_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / subject / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / subject / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / unread / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / unread / typeAdded value: +[ + "boolean", + "null" +] - removed
Output schema / properties / data / properties / replied / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / replied / typeAdded value: +[ + "boolean", + "null" +] - changed
Output schema / properties / data / properties / resulting / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "job_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "job_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / unread_reply / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / unread_reply / typeAdded value: +[ + "boolean", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
inbox.sync_status13 fields changed- removed
Output schema / properties / data / items / properties / email / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / email / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / items / properties / id / typeAdded value: +[ + "string", + "number" +] - changed
Output schema / properties / data / items / properties / mailbox / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "last_synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "When the mailbox last finished synchronizing" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Mailbox synchronization state" - }, - "syncing": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "kind": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "messages_processed": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "messages_seen": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ], - "description": "Current mailbox synchronization progress" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "last_synced_at": { + "description": "When the mailbox last finished synchronizing", + "type": [ + "string", + "null" + ] + }, + "state": { + "description": "Mailbox synchronization state", + "type": [ + "string", + "null" + ] + }, + "syncing": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "kind": { + "type": [ + "string", + "null" + ] + }, + "messages_processed": { + "type": [ + "number", + "null" + ] + }, + "messages_seen": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ], + "description": "Current mailbox synchronization progress" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / items / properties / primary / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / primary / typeAdded value: +[ + "boolean", + "null" +] - removed
Output schema / properties / data / items / properties / status / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / status / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
inbox.undo33 fields changed- changed
Output schema / properties / data / properties / email / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "account": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "dkim_verified": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "from": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "replyable": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "sent_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "snippet": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "subject": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "thread_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "unsubscribable": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "account": { + "type": [ + "string", + "null" + ] + }, + "dkim_verified": { + "type": [ + "boolean", + "null" + ] + }, + "from": { + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "replyable": { + "type": [ + "boolean", + "null" + ] + }, + "sent_at": { + "type": [ + "string", + "null" + ] + }, + "snippet": { + "type": [ + "string", + "null" + ] + }, + "subject": { + "type": [ + "string", + "null" + ] + }, + "thread_count": { + "type": [ + "number", + "null" + ] + }, + "unsubscribable": { + "type": [ + "boolean", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / properties / kind / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / kind / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / data / properties / payload / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "company": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "company_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "created_board_record": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "job_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "logo_url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "recruiter_name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "role": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "company": { + "type": [ + "string", + "null" + ] + }, + "company_url": { + "type": [ + "string", + "null" + ] + }, + "created_board_record": { + "type": [ + "boolean", + "null" + ] + }, + "interviewers": { + "type": [ + "string", + "null" + ] + }, + "job_url": { + "type": [ + "string", + "null" + ] + }, + "location": { + "type": [ + "string", + "null" + ] + }, + "logo_url": { + "type": [ + "string", + "null" + ] + }, + "recruiter_name": { + "type": [ + "string", + "null" + ] + }, + "role": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / related / items / properties / from / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / from / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / related / items / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / properties / related / items / properties / kind / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / kind / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / messages / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / messages / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / sent_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / sent_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / subject / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / subject / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / related / items / properties / unread / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / related / items / properties / unread / typeAdded value: +[ + "boolean", + "null" +] - removed
Output schema / properties / data / properties / replied / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / replied / typeAdded value: +[ + "boolean", + "null" +] - changed
Output schema / properties / data / properties / resulting / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "job_id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "type": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "job_id": { + "type": [ + "string", + "null" + ] + }, + "type": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / unread_reply / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / unread_reply / typeAdded value: +[ + "boolean", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
integrations.list21 fields changed- removed
Output schema / properties / data / items / properties / calendar_granted / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / calendar_granted / typeAdded value: +[ + "boolean", + "null" +] - removed
Output schema / properties / data / items / properties / calendar_write_granted / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / calendar_write_granted / typeAdded value: +[ + "boolean", + "null" +] - removed
Output schema / properties / data / items / properties / email / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / email / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / gmail_granted / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / gmail_granted / typeAdded value: +[ + "boolean", + "null" +] - removed
Output schema / properties / data / items / properties / gmail_send_granted / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / gmail_send_granted / typeAdded value: +[ + "boolean", + "null" +] - removed
Output schema / properties / data / items / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / items / properties / id / typeAdded value: +[ + "string", + "number" +] - changed
Output schema / properties / data / items / properties / mailbox / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "last_synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "When the mailbox last finished synchronizing" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Mailbox synchronization state" - }, - "syncing": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "kind": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "messages_processed": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "messages_seen": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ], - "description": "Current mailbox synchronization progress" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "last_synced_at": { + "description": "When the mailbox last finished synchronizing", + "type": [ + "string", + "null" + ] + }, + "state": { + "description": "Mailbox synchronization state", + "type": [ + "string", + "null" + ] + }, + "syncing": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "kind": { + "type": [ + "string", + "null" + ] + }, + "messages_processed": { + "type": [ + "number", + "null" + ] + }, + "messages_seen": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ], + "description": "Current mailbox synchronization progress" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / items / properties / primary / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / primary / typeAdded value: +[ + "boolean", + "null" +] - removed
Output schema / properties / data / items / properties / status / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / status / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
jobs.add41 fields changed- removed
Output schema / properties / data / properties / captured_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / captured_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / company / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / company / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / company_url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / company_url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / compensation_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / compensation_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / created_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / created_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / description / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / description / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / id / typeAdded value: +[ + "string", + "number" +] - changed
Output schema / properties / data / properties / job_application / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "applied_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "closed_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "conversations": { - "items": { - "additionalProperties": {}, - "properties": { - "from": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "kind": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "messages": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "sent_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "subject": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "unread": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "current_phase": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Current application phase" - }, - "current_stage": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviews": { - "items": { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "interviews_summary": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "completed_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "total_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "upcoming_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "last_action_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "offer": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "base_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Base salary in cents" - }, - "bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Bonus in cents" - }, - "currency": { - "anyOf": [ - { - "enum": [ - "USD", - "EUR", - "GBP", - "CAD", - "AUD" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Supported currency code" - }, - "deadline_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer deadline" - }, - "equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Equity details" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "initial_bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Originally offered bonus in cents" - }, - "initial_equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Originally offered equity" - }, - "initial_rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Originally offered RSUs" - }, - "initial_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Originally offered salary in cents" - }, - "negotiation_events": { - "description": "Negotiation history", - "items": { - "additionalProperties": {}, - "properties": { - "bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Bonus amount in cents" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "When the event was recorded" - }, - "equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Equity details" - }, - "event_date": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Negotiation event date" - }, - "event_type": { - "anyOf": [ - { - "enum": [ - "offer", - "counter" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Negotiation event type" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Negotiation notes" - }, - "salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Salary amount in cents" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next offer action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer notes" - }, - "rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "RSU details" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer state" - }, - "target_bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Target bonus in cents" - }, - "target_equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Target equity" - }, - "target_rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Target RSUs" - }, - "target_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Target salary in cents" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "outcome": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "recent_interview": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Application state" - }, - "upcoming_interview": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "applied_at": { + "type": [ + "string", + "null" + ] + }, + "closed_at": { + "type": [ + "string", + "null" + ] + }, + "conversations": { + "items": { + "additionalProperties": {}, + "properties": { + "from": { + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "kind": { + "type": [ + "string", + "null" + ] + }, + "messages": { + "type": [ + "number", + "null" + ] + }, + "sent_at": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "subject": { + "type": [ + "string", + "null" + ] + }, + "unread": { + "type": [ + "boolean", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "current_phase": { + "description": "Current application phase", + "type": [ + "string", + "null" + ] + }, + "current_stage": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviews": { + "items": { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "interviews_summary": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "completed_count": { + "type": [ + "number", + "null" + ] + }, + "total_count": { + "type": [ + "number", + "null" + ] + }, + "upcoming_count": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "last_action_at": { + "type": [ + "string", + "null" + ] + }, + "notes": { + "type": [ + "string", + "null" + ] + }, + "offer": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "base_salary_cents": { + "description": "Base salary in cents", + "type": [ + "number", + "null" + ] + }, + "bonus_cents": { + "description": "Bonus in cents", + "type": [ + "number", + "null" + ] + }, + "currency": { + "anyOf": [ + { + "enum": [ + "USD", + "EUR", + "GBP", + "CAD", + "AUD" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Supported currency code" + }, + "deadline_at": { + "description": "Offer deadline", + "type": [ + "string", + "null" + ] + }, + "equity_text": { + "description": "Equity details", + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "initial_bonus_cents": { + "description": "Originally offered bonus in cents", + "type": [ + "number", + "null" + ] + }, + "initial_equity_text": { + "description": "Originally offered equity", + "type": [ + "string", + "null" + ] + }, + "initial_rsu_text": { + "description": "Originally offered RSUs", + "type": [ + "string", + "null" + ] + }, + "initial_salary_cents": { + "description": "Originally offered salary in cents", + "type": [ + "number", + "null" + ] + }, + "negotiation_events": { + "description": "Negotiation history", + "items": { + "additionalProperties": {}, + "properties": { + "bonus_cents": { + "description": "Bonus amount in cents", + "type": [ + "number", + "null" + ] + }, + "created_at": { + "description": "When the event was recorded", + "type": [ + "string", + "null" + ] + }, + "equity_text": { + "description": "Equity details", + "type": [ + "string", + "null" + ] + }, + "event_date": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Negotiation event date" + }, + "event_type": { + "anyOf": [ + { + "enum": [ + "offer", + "counter" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation event type" + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "notes": { + "description": "Negotiation notes", + "type": [ + "string", + "null" + ] + }, + "salary_cents": { + "description": "Salary amount in cents", + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "next_action": { + "description": "Next offer action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Offer notes", + "type": [ + "string", + "null" + ] + }, + "rsu_text": { + "description": "RSU details", + "type": [ + "string", + "null" + ] + }, + "state": { + "description": "Offer state", + "type": [ + "string", + "null" + ] + }, + "target_bonus_cents": { + "description": "Target bonus in cents", + "type": [ + "number", + "null" + ] + }, + "target_equity_text": { + "description": "Target equity", + "type": [ + "string", + "null" + ] + }, + "target_rsu_text": { + "description": "Target RSUs", + "type": [ + "string", + "null" + ] + }, + "target_salary_cents": { + "description": "Target salary in cents", + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "outcome": { + "type": [ + "string", + "null" + ] + }, + "recent_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "state": { + "description": "Application state", + "type": [ + "string", + "null" + ] + }, + "upcoming_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / logo_url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / logo_url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / qualifications / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / qualifications / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / refreshed_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / refreshed_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / removed_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / removed_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / scrape_engine / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / scrape_engine / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / source / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / source / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / title / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / title / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / updated_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / updated_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
jobs.archive41 fields changed- removed
Output schema / properties / data / properties / captured_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / captured_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / company / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / company / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / company_url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / company_url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / compensation_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / compensation_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / created_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / created_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / description / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / description / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / id / typeAdded value: +[ + "string", + "number" +] - changed
Output schema / properties / data / properties / job_application / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "applied_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "closed_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "conversations": { - "items": { - "additionalProperties": {}, - "properties": { - "from": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "kind": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "messages": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "sent_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "subject": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "unread": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "current_phase": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Current application phase" - }, - "current_stage": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviews": { - "items": { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "interviews_summary": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "completed_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "total_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "upcoming_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "last_action_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "offer": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "base_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Base salary in cents" - }, - "bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Bonus in cents" - }, - "currency": { - "anyOf": [ - { - "enum": [ - "USD", - "EUR", - "GBP", - "CAD", - "AUD" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Supported currency code" - }, - "deadline_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer deadline" - }, - "equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Equity details" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "initial_bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Originally offered bonus in cents" - }, - "initial_equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Originally offered equity" - }, - "initial_rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Originally offered RSUs" - }, - "initial_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Originally offered salary in cents" - }, - "negotiation_events": { - "description": "Negotiation history", - "items": { - "additionalProperties": {}, - "properties": { - "bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Bonus amount in cents" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "When the event was recorded" - }, - "equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Equity details" - }, - "event_date": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Negotiation event date" - }, - "event_type": { - "anyOf": [ - { - "enum": [ - "offer", - "counter" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Negotiation event type" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Negotiation notes" - }, - "salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Salary amount in cents" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next offer action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer notes" - }, - "rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "RSU details" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer state" - }, - "target_bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Target bonus in cents" - }, - "target_equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Target equity" - }, - "target_rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Target RSUs" - }, - "target_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Target salary in cents" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "outcome": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "recent_interview": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Application state" - }, - "upcoming_interview": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "applied_at": { + "type": [ + "string", + "null" + ] + }, + "closed_at": { + "type": [ + "string", + "null" + ] + }, + "conversations": { + "items": { + "additionalProperties": {}, + "properties": { + "from": { + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "kind": { + "type": [ + "string", + "null" + ] + }, + "messages": { + "type": [ + "number", + "null" + ] + }, + "sent_at": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "subject": { + "type": [ + "string", + "null" + ] + }, + "unread": { + "type": [ + "boolean", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "current_phase": { + "description": "Current application phase", + "type": [ + "string", + "null" + ] + }, + "current_stage": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviews": { + "items": { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "interviews_summary": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "completed_count": { + "type": [ + "number", + "null" + ] + }, + "total_count": { + "type": [ + "number", + "null" + ] + }, + "upcoming_count": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "last_action_at": { + "type": [ + "string", + "null" + ] + }, + "notes": { + "type": [ + "string", + "null" + ] + }, + "offer": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "base_salary_cents": { + "description": "Base salary in cents", + "type": [ + "number", + "null" + ] + }, + "bonus_cents": { + "description": "Bonus in cents", + "type": [ + "number", + "null" + ] + }, + "currency": { + "anyOf": [ + { + "enum": [ + "USD", + "EUR", + "GBP", + "CAD", + "AUD" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Supported currency code" + }, + "deadline_at": { + "description": "Offer deadline", + "type": [ + "string", + "null" + ] + }, + "equity_text": { + "description": "Equity details", + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "initial_bonus_cents": { + "description": "Originally offered bonus in cents", + "type": [ + "number", + "null" + ] + }, + "initial_equity_text": { + "description": "Originally offered equity", + "type": [ + "string", + "null" + ] + }, + "initial_rsu_text": { + "description": "Originally offered RSUs", + "type": [ + "string", + "null" + ] + }, + "initial_salary_cents": { + "description": "Originally offered salary in cents", + "type": [ + "number", + "null" + ] + }, + "negotiation_events": { + "description": "Negotiation history", + "items": { + "additionalProperties": {}, + "properties": { + "bonus_cents": { + "description": "Bonus amount in cents", + "type": [ + "number", + "null" + ] + }, + "created_at": { + "description": "When the event was recorded", + "type": [ + "string", + "null" + ] + }, + "equity_text": { + "description": "Equity details", + "type": [ + "string", + "null" + ] + }, + "event_date": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Negotiation event date" + }, + "event_type": { + "anyOf": [ + { + "enum": [ + "offer", + "counter" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation event type" + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "notes": { + "description": "Negotiation notes", + "type": [ + "string", + "null" + ] + }, + "salary_cents": { + "description": "Salary amount in cents", + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "next_action": { + "description": "Next offer action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Offer notes", + "type": [ + "string", + "null" + ] + }, + "rsu_text": { + "description": "RSU details", + "type": [ + "string", + "null" + ] + }, + "state": { + "description": "Offer state", + "type": [ + "string", + "null" + ] + }, + "target_bonus_cents": { + "description": "Target bonus in cents", + "type": [ + "number", + "null" + ] + }, + "target_equity_text": { + "description": "Target equity", + "type": [ + "string", + "null" + ] + }, + "target_rsu_text": { + "description": "Target RSUs", + "type": [ + "string", + "null" + ] + }, + "target_salary_cents": { + "description": "Target salary in cents", + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "outcome": { + "type": [ + "string", + "null" + ] + }, + "recent_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "state": { + "description": "Application state", + "type": [ + "string", + "null" + ] + }, + "upcoming_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / logo_url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / logo_url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / qualifications / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / qualifications / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / refreshed_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / refreshed_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / removed_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / removed_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / scrape_engine / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / scrape_engine / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / source / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / source / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / title / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / title / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / updated_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / updated_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
jobs.get41 fields changed- removed
Output schema / properties / data / properties / captured_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / captured_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / company / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / company / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / company_url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / company_url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / compensation_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / compensation_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / created_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / created_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / description / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / description / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / id / typeAdded value: +[ + "string", + "number" +] - changed
Output schema / properties / data / properties / job_application / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "applied_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "closed_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "conversations": { - "items": { - "additionalProperties": {}, - "properties": { - "from": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "kind": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "messages": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "sent_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "subject": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "unread": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "current_phase": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Current application phase" - }, - "current_stage": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviews": { - "items": { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "interviews_summary": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "completed_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "total_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "upcoming_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "last_action_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "offer": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "base_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Base salary in cents" - }, - "bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Bonus in cents" - }, - "currency": { - "anyOf": [ - { - "enum": [ - "USD", - "EUR", - "GBP", - "CAD", - "AUD" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Supported currency code" - }, - "deadline_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer deadline" - }, - "equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Equity details" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "initial_bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Originally offered bonus in cents" - }, - "initial_equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Originally offered equity" - }, - "initial_rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Originally offered RSUs" - }, - "initial_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Originally offered salary in cents" - }, - "negotiation_events": { - "description": "Negotiation history", - "items": { - "additionalProperties": {}, - "properties": { - "bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Bonus amount in cents" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "When the event was recorded" - }, - "equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Equity details" - }, - "event_date": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Negotiation event date" - }, - "event_type": { - "anyOf": [ - { - "enum": [ - "offer", - "counter" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Negotiation event type" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Negotiation notes" - }, - "salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Salary amount in cents" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next offer action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer notes" - }, - "rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "RSU details" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer state" - }, - "target_bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Target bonus in cents" - }, - "target_equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Target equity" - }, - "target_rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Target RSUs" - }, - "target_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Target salary in cents" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "outcome": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "recent_interview": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Application state" - }, - "upcoming_interview": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "applied_at": { + "type": [ + "string", + "null" + ] + }, + "closed_at": { + "type": [ + "string", + "null" + ] + }, + "conversations": { + "items": { + "additionalProperties": {}, + "properties": { + "from": { + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "kind": { + "type": [ + "string", + "null" + ] + }, + "messages": { + "type": [ + "number", + "null" + ] + }, + "sent_at": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "subject": { + "type": [ + "string", + "null" + ] + }, + "unread": { + "type": [ + "boolean", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "current_phase": { + "description": "Current application phase", + "type": [ + "string", + "null" + ] + }, + "current_stage": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviews": { + "items": { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "interviews_summary": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "completed_count": { + "type": [ + "number", + "null" + ] + }, + "total_count": { + "type": [ + "number", + "null" + ] + }, + "upcoming_count": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "last_action_at": { + "type": [ + "string", + "null" + ] + }, + "notes": { + "type": [ + "string", + "null" + ] + }, + "offer": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "base_salary_cents": { + "description": "Base salary in cents", + "type": [ + "number", + "null" + ] + }, + "bonus_cents": { + "description": "Bonus in cents", + "type": [ + "number", + "null" + ] + }, + "currency": { + "anyOf": [ + { + "enum": [ + "USD", + "EUR", + "GBP", + "CAD", + "AUD" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Supported currency code" + }, + "deadline_at": { + "description": "Offer deadline", + "type": [ + "string", + "null" + ] + }, + "equity_text": { + "description": "Equity details", + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "initial_bonus_cents": { + "description": "Originally offered bonus in cents", + "type": [ + "number", + "null" + ] + }, + "initial_equity_text": { + "description": "Originally offered equity", + "type": [ + "string", + "null" + ] + }, + "initial_rsu_text": { + "description": "Originally offered RSUs", + "type": [ + "string", + "null" + ] + }, + "initial_salary_cents": { + "description": "Originally offered salary in cents", + "type": [ + "number", + "null" + ] + }, + "negotiation_events": { + "description": "Negotiation history", + "items": { + "additionalProperties": {}, + "properties": { + "bonus_cents": { + "description": "Bonus amount in cents", + "type": [ + "number", + "null" + ] + }, + "created_at": { + "description": "When the event was recorded", + "type": [ + "string", + "null" + ] + }, + "equity_text": { + "description": "Equity details", + "type": [ + "string", + "null" + ] + }, + "event_date": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Negotiation event date" + }, + "event_type": { + "anyOf": [ + { + "enum": [ + "offer", + "counter" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation event type" + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "notes": { + "description": "Negotiation notes", + "type": [ + "string", + "null" + ] + }, + "salary_cents": { + "description": "Salary amount in cents", + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "next_action": { + "description": "Next offer action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Offer notes", + "type": [ + "string", + "null" + ] + }, + "rsu_text": { + "description": "RSU details", + "type": [ + "string", + "null" + ] + }, + "state": { + "description": "Offer state", + "type": [ + "string", + "null" + ] + }, + "target_bonus_cents": { + "description": "Target bonus in cents", + "type": [ + "number", + "null" + ] + }, + "target_equity_text": { + "description": "Target equity", + "type": [ + "string", + "null" + ] + }, + "target_rsu_text": { + "description": "Target RSUs", + "type": [ + "string", + "null" + ] + }, + "target_salary_cents": { + "description": "Target salary in cents", + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "outcome": { + "type": [ + "string", + "null" + ] + }, + "recent_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "state": { + "description": "Application state", + "type": [ + "string", + "null" + ] + }, + "upcoming_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / logo_url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / logo_url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / qualifications / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / qualifications / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / refreshed_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / refreshed_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / removed_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / removed_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / scrape_engine / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / scrape_engine / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / source / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / source / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / title / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / title / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / updated_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / updated_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
jobs.interviews.add37 fields changed- changed
Input schema / properties / scheduled_at / patternPrevious value: -"^(?:(?:\\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)))$"New value: +"^(?:(?:\\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)))$" - changed
Output schema / properties / data / properties / calendar_sync / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / cancelled_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / cancelled_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / cancelled_reason / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / cancelled_reason / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / created_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / created_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / feedback / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / feedback / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / from_calendar / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / from_calendar / typeAdded value: +[ + "boolean", + "null" +] - removed
Output schema / properties / data / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / properties / interviewers / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / interviewers / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / location / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / data / properties / location_details / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / name / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / name / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / next_action / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / next_action / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / notes / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / notes / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / rating / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / rating / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / scheduled_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / scheduled_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / sequence / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / sequence / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
jobs.interviews.update38 fields changed- changed
Input schema / properties / cancelled_at / patternPrevious value: -"^(?:(?:\\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)))$"New value: +"^(?:(?:\\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)))$" - changed
Input schema / properties / scheduled_at / patternPrevious value: -"^(?:(?:\\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)))$"New value: +"^(?:(?:\\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)))$" - changed
Output schema / properties / data / properties / calendar_sync / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / cancelled_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / cancelled_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / cancelled_reason / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / cancelled_reason / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / created_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / created_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / feedback / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / feedback / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / from_calendar / anyOfRemoved value: -[ - { - "type": "boolean" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / from_calendar / typeAdded value: +[ + "boolean", + "null" +] - removed
Output schema / properties / data / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / properties / interviewers / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / interviewers / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / location / typeAdded value: +[ + "string", + "null" +] - changed
Output schema / properties / data / properties / location_details / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / name / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / name / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / next_action / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / next_action / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / notes / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / notes / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / rating / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / rating / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / scheduled_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / scheduled_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / sequence / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / sequence / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
jobs.list41 fields changed- removed
Output schema / properties / data / items / properties / captured_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / captured_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / company / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / company / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / company_url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / company_url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / compensation_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / compensation_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / created_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / created_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / description / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / description / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / items / properties / id / typeAdded value: +[ + "string", + "number" +] - changed
Output schema / properties / data / items / properties / job_application / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "applied_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "closed_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "conversations": { - "items": { - "additionalProperties": {}, - "properties": { - "from": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "kind": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "messages": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "sent_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "subject": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "unread": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "current_phase": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Current application phase" - }, - "current_stage": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviews": { - "items": { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "interviews_summary": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "completed_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "total_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "upcoming_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "last_action_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "offer": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "base_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Base salary in cents" - }, - "bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Bonus in cents" - }, - "currency": { - "anyOf": [ - { - "enum": [ - "USD", - "EUR", - "GBP", - "CAD", - "AUD" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Supported currency code" - }, - "deadline_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer deadline" - }, - "equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Equity details" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "initial_bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Originally offered bonus in cents" - }, - "initial_equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Originally offered equity" - }, - "initial_rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Originally offered RSUs" - }, - "initial_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Originally offered salary in cents" - }, - "negotiation_events": { - "description": "Negotiation history", - "items": { - "additionalProperties": {}, - "properties": { - "bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Bonus amount in cents" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "When the event was recorded" - }, - "equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Equity details" - }, - "event_date": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Negotiation event date" - }, - "event_type": { - "anyOf": [ - { - "enum": [ - "offer", - "counter" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Negotiation event type" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Negotiation notes" - }, - "salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Salary amount in cents" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next offer action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer notes" - }, - "rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "RSU details" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer state" - }, - "target_bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Target bonus in cents" - }, - "target_equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Target equity" - }, - "target_rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Target RSUs" - }, - "target_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Target salary in cents" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "outcome": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "recent_interview": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Application state" - }, - "upcoming_interview": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "applied_at": { + "type": [ + "string", + "null" + ] + }, + "closed_at": { + "type": [ + "string", + "null" + ] + }, + "conversations": { + "items": { + "additionalProperties": {}, + "properties": { + "from": { + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "kind": { + "type": [ + "string", + "null" + ] + }, + "messages": { + "type": [ + "number", + "null" + ] + }, + "sent_at": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "subject": { + "type": [ + "string", + "null" + ] + }, + "unread": { + "type": [ + "boolean", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "current_phase": { + "description": "Current application phase", + "type": [ + "string", + "null" + ] + }, + "current_stage": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviews": { + "items": { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "interviews_summary": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "completed_count": { + "type": [ + "number", + "null" + ] + }, + "total_count": { + "type": [ + "number", + "null" + ] + }, + "upcoming_count": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "last_action_at": { + "type": [ + "string", + "null" + ] + }, + "notes": { + "type": [ + "string", + "null" + ] + }, + "offer": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "base_salary_cents": { + "description": "Base salary in cents", + "type": [ + "number", + "null" + ] + }, + "bonus_cents": { + "description": "Bonus in cents", + "type": [ + "number", + "null" + ] + }, + "currency": { + "anyOf": [ + { + "enum": [ + "USD", + "EUR", + "GBP", + "CAD", + "AUD" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Supported currency code" + }, + "deadline_at": { + "description": "Offer deadline", + "type": [ + "string", + "null" + ] + }, + "equity_text": { + "description": "Equity details", + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "initial_bonus_cents": { + "description": "Originally offered bonus in cents", + "type": [ + "number", + "null" + ] + }, + "initial_equity_text": { + "description": "Originally offered equity", + "type": [ + "string", + "null" + ] + }, + "initial_rsu_text": { + "description": "Originally offered RSUs", + "type": [ + "string", + "null" + ] + }, + "initial_salary_cents": { + "description": "Originally offered salary in cents", + "type": [ + "number", + "null" + ] + }, + "negotiation_events": { + "description": "Negotiation history", + "items": { + "additionalProperties": {}, + "properties": { + "bonus_cents": { + "description": "Bonus amount in cents", + "type": [ + "number", + "null" + ] + }, + "created_at": { + "description": "When the event was recorded", + "type": [ + "string", + "null" + ] + }, + "equity_text": { + "description": "Equity details", + "type": [ + "string", + "null" + ] + }, + "event_date": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Negotiation event date" + }, + "event_type": { + "anyOf": [ + { + "enum": [ + "offer", + "counter" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation event type" + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "notes": { + "description": "Negotiation notes", + "type": [ + "string", + "null" + ] + }, + "salary_cents": { + "description": "Salary amount in cents", + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "next_action": { + "description": "Next offer action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Offer notes", + "type": [ + "string", + "null" + ] + }, + "rsu_text": { + "description": "RSU details", + "type": [ + "string", + "null" + ] + }, + "state": { + "description": "Offer state", + "type": [ + "string", + "null" + ] + }, + "target_bonus_cents": { + "description": "Target bonus in cents", + "type": [ + "number", + "null" + ] + }, + "target_equity_text": { + "description": "Target equity", + "type": [ + "string", + "null" + ] + }, + "target_rsu_text": { + "description": "Target RSUs", + "type": [ + "string", + "null" + ] + }, + "target_salary_cents": { + "description": "Target salary in cents", + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "outcome": { + "type": [ + "string", + "null" + ] + }, + "recent_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "state": { + "description": "Application state", + "type": [ + "string", + "null" + ] + }, + "upcoming_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / items / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / logo_url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / logo_url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / qualifications / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / qualifications / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / refreshed_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / refreshed_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / removed_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / removed_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / scrape_engine / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / scrape_engine / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / source / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / source / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / title / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / title / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / updated_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / updated_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / items / properties / url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / items / properties / url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
jobs.mark_applied41 fields changed- removed
Output schema / properties / data / properties / captured_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / captured_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / company / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / company / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / company_url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / company_url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / compensation_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / compensation_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / created_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / created_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / description / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / description / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / id / typeAdded value: +[ + "string", + "number" +] - changed
Output schema / properties / data / properties / job_application / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "applied_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "closed_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "conversations": { - "items": { - "additionalProperties": {}, - "properties": { - "from": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "kind": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "messages": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "sent_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "subject": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "unread": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "current_phase": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Current application phase" - }, - "current_stage": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviews": { - "items": { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "interviews_summary": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "completed_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "total_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "upcoming_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "last_action_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "offer": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "base_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Base salary in cents" - }, - "bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Bonus in cents" - }, - "currency": { - "anyOf": [ - { - "enum": [ - "USD", - "EUR", - "GBP", - "CAD", - "AUD" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Supported currency code" - }, - "deadline_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer deadline" - }, - "equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Equity details" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "initial_bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Originally offered bonus in cents" - }, - "initial_equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Originally offered equity" - }, - "initial_rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Originally offered RSUs" - }, - "initial_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Originally offered salary in cents" - }, - "negotiation_events": { - "description": "Negotiation history", - "items": { - "additionalProperties": {}, - "properties": { - "bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Bonus amount in cents" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "When the event was recorded" - }, - "equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Equity details" - }, - "event_date": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Negotiation event date" - }, - "event_type": { - "anyOf": [ - { - "enum": [ - "offer", - "counter" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Negotiation event type" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Negotiation notes" - }, - "salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Salary amount in cents" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next offer action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer notes" - }, - "rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "RSU details" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer state" - }, - "target_bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Target bonus in cents" - }, - "target_equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Target equity" - }, - "target_rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Target RSUs" - }, - "target_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Target salary in cents" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "outcome": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "recent_interview": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Application state" - }, - "upcoming_interview": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "applied_at": { + "type": [ + "string", + "null" + ] + }, + "closed_at": { + "type": [ + "string", + "null" + ] + }, + "conversations": { + "items": { + "additionalProperties": {}, + "properties": { + "from": { + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "kind": { + "type": [ + "string", + "null" + ] + }, + "messages": { + "type": [ + "number", + "null" + ] + }, + "sent_at": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "subject": { + "type": [ + "string", + "null" + ] + }, + "unread": { + "type": [ + "boolean", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "current_phase": { + "description": "Current application phase", + "type": [ + "string", + "null" + ] + }, + "current_stage": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviews": { + "items": { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "interviews_summary": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "completed_count": { + "type": [ + "number", + "null" + ] + }, + "total_count": { + "type": [ + "number", + "null" + ] + }, + "upcoming_count": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "last_action_at": { + "type": [ + "string", + "null" + ] + }, + "notes": { + "type": [ + "string", + "null" + ] + }, + "offer": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "base_salary_cents": { + "description": "Base salary in cents", + "type": [ + "number", + "null" + ] + }, + "bonus_cents": { + "description": "Bonus in cents", + "type": [ + "number", + "null" + ] + }, + "currency": { + "anyOf": [ + { + "enum": [ + "USD", + "EUR", + "GBP", + "CAD", + "AUD" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Supported currency code" + }, + "deadline_at": { + "description": "Offer deadline", + "type": [ + "string", + "null" + ] + }, + "equity_text": { + "description": "Equity details", + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "initial_bonus_cents": { + "description": "Originally offered bonus in cents", + "type": [ + "number", + "null" + ] + }, + "initial_equity_text": { + "description": "Originally offered equity", + "type": [ + "string", + "null" + ] + }, + "initial_rsu_text": { + "description": "Originally offered RSUs", + "type": [ + "string", + "null" + ] + }, + "initial_salary_cents": { + "description": "Originally offered salary in cents", + "type": [ + "number", + "null" + ] + }, + "negotiation_events": { + "description": "Negotiation history", + "items": { + "additionalProperties": {}, + "properties": { + "bonus_cents": { + "description": "Bonus amount in cents", + "type": [ + "number", + "null" + ] + }, + "created_at": { + "description": "When the event was recorded", + "type": [ + "string", + "null" + ] + }, + "equity_text": { + "description": "Equity details", + "type": [ + "string", + "null" + ] + }, + "event_date": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Negotiation event date" + }, + "event_type": { + "anyOf": [ + { + "enum": [ + "offer", + "counter" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation event type" + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "notes": { + "description": "Negotiation notes", + "type": [ + "string", + "null" + ] + }, + "salary_cents": { + "description": "Salary amount in cents", + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "next_action": { + "description": "Next offer action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Offer notes", + "type": [ + "string", + "null" + ] + }, + "rsu_text": { + "description": "RSU details", + "type": [ + "string", + "null" + ] + }, + "state": { + "description": "Offer state", + "type": [ + "string", + "null" + ] + }, + "target_bonus_cents": { + "description": "Target bonus in cents", + "type": [ + "number", + "null" + ] + }, + "target_equity_text": { + "description": "Target equity", + "type": [ + "string", + "null" + ] + }, + "target_rsu_text": { + "description": "Target RSUs", + "type": [ + "string", + "null" + ] + }, + "target_salary_cents": { + "description": "Target salary in cents", + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "outcome": { + "type": [ + "string", + "null" + ] + }, + "recent_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "state": { + "description": "Application state", + "type": [ + "string", + "null" + ] + }, + "upcoming_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / logo_url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / logo_url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / qualifications / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / qualifications / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / refreshed_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / refreshed_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / removed_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / removed_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / scrape_engine / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / scrape_engine / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / source / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / source / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / title / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / title / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / updated_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / updated_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
jobs.offer.accept50 fields changed- removed
Output schema / properties / data / properties / base_salary_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / base_salary_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / bonus_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / bonus_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / deadline_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / deadline_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / equity_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / equity_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / properties / initial_bonus_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / initial_bonus_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / initial_equity_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / initial_equity_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / initial_rsu_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / initial_rsu_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / initial_salary_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / initial_salary_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / bonus_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / bonus_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / created_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / created_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / equity_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / equity_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / notes / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / notes / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / salary_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / salary_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / next_action / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / next_action / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / notes / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / notes / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / rsu_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / rsu_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / target_bonus_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / target_bonus_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / target_equity_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / target_equity_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / target_rsu_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / target_rsu_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / target_salary_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / target_salary_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
jobs.offer.add_negotiation16 fields changed- removed
Output schema / properties / data / properties / bonus_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / bonus_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / created_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / created_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / equity_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / equity_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / properties / notes / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / notes / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / salary_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / salary_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
jobs.offer.create51 fields changed- changed
Input schema / properties / deadline_at / patternPrevious value: -"^(?:(?:\\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)))$"New value: +"^(?:(?:\\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)))$" - removed
Output schema / properties / data / properties / base_salary_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / base_salary_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / bonus_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / bonus_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / deadline_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / deadline_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / equity_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / equity_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / properties / initial_bonus_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / initial_bonus_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / initial_equity_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / initial_equity_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / initial_rsu_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / initial_rsu_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / initial_salary_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / initial_salary_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / bonus_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / bonus_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / created_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / created_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / equity_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / equity_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / notes / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / notes / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / salary_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / salary_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / next_action / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / next_action / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / notes / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / notes / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / rsu_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / rsu_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / target_bonus_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / target_bonus_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / target_equity_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / target_equity_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / target_rsu_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / target_rsu_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / target_salary_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / target_salary_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
jobs.offer.decline50 fields changed- removed
Output schema / properties / data / properties / base_salary_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / base_salary_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / bonus_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / bonus_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / deadline_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / deadline_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / equity_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / equity_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / properties / initial_bonus_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / initial_bonus_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / initial_equity_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / initial_equity_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / initial_rsu_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / initial_rsu_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / initial_salary_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / initial_salary_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / bonus_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / bonus_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / created_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / created_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / equity_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / equity_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / notes / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / notes / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / salary_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / salary_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / next_action / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / next_action / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / notes / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / notes / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / rsu_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / rsu_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / target_bonus_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / target_bonus_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / target_equity_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / target_equity_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / target_rsu_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / target_rsu_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / target_salary_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / target_salary_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
jobs.offer.update51 fields changed- changed
Input schema / properties / deadline_at / patternPrevious value: -"^(?:(?:\\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)))$"New value: +"^(?:(?:\\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)))$" - removed
Output schema / properties / data / properties / base_salary_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / base_salary_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / bonus_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / bonus_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / deadline_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / deadline_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / equity_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / equity_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / properties / initial_bonus_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / initial_bonus_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / initial_equity_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / initial_equity_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / initial_rsu_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / initial_rsu_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / initial_salary_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / initial_salary_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / bonus_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / bonus_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / created_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / created_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / equity_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / equity_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / notes / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / notes / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / negotiation_events / items / properties / salary_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / negotiation_events / items / properties / salary_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / next_action / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / next_action / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / notes / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / notes / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / rsu_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / rsu_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / target_bonus_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / target_bonus_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / target_equity_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / target_equity_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / target_rsu_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / target_rsu_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / target_salary_cents / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / target_salary_cents / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
jobs.refresh41 fields changed- removed
Output schema / properties / data / properties / captured_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / captured_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / company / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / company / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / company_url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / company_url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / compensation_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / compensation_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / created_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / created_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / description / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / description / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / id / typeAdded value: +[ + "string", + "number" +] - changed
Output schema / properties / data / properties / job_application / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "applied_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "closed_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "conversations": { - "items": { - "additionalProperties": {}, - "properties": { - "from": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "kind": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "messages": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "sent_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "subject": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "unread": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "current_phase": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Current application phase" - }, - "current_stage": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviews": { - "items": { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "interviews_summary": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "completed_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "total_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "upcoming_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "last_action_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "offer": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "base_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Base salary in cents" - }, - "bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Bonus in cents" - }, - "currency": { - "anyOf": [ - { - "enum": [ - "USD", - "EUR", - "GBP", - "CAD", - "AUD" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Supported currency code" - }, - "deadline_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer deadline" - }, - "equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Equity details" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "initial_bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Originally offered bonus in cents" - }, - "initial_equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Originally offered equity" - }, - "initial_rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Originally offered RSUs" - }, - "initial_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Originally offered salary in cents" - }, - "negotiation_events": { - "description": "Negotiation history", - "items": { - "additionalProperties": {}, - "properties": { - "bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Bonus amount in cents" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "When the event was recorded" - }, - "equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Equity details" - }, - "event_date": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Negotiation event date" - }, - "event_type": { - "anyOf": [ - { - "enum": [ - "offer", - "counter" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Negotiation event type" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Negotiation notes" - }, - "salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Salary amount in cents" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next offer action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer notes" - }, - "rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "RSU details" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer state" - }, - "target_bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Target bonus in cents" - }, - "target_equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Target equity" - }, - "target_rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Target RSUs" - }, - "target_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Target salary in cents" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "outcome": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "recent_interview": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Application state" - }, - "upcoming_interview": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "applied_at": { + "type": [ + "string", + "null" + ] + }, + "closed_at": { + "type": [ + "string", + "null" + ] + }, + "conversations": { + "items": { + "additionalProperties": {}, + "properties": { + "from": { + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "kind": { + "type": [ + "string", + "null" + ] + }, + "messages": { + "type": [ + "number", + "null" + ] + }, + "sent_at": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "subject": { + "type": [ + "string", + "null" + ] + }, + "unread": { + "type": [ + "boolean", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "current_phase": { + "description": "Current application phase", + "type": [ + "string", + "null" + ] + }, + "current_stage": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviews": { + "items": { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "interviews_summary": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "completed_count": { + "type": [ + "number", + "null" + ] + }, + "total_count": { + "type": [ + "number", + "null" + ] + }, + "upcoming_count": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "last_action_at": { + "type": [ + "string", + "null" + ] + }, + "notes": { + "type": [ + "string", + "null" + ] + }, + "offer": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "base_salary_cents": { + "description": "Base salary in cents", + "type": [ + "number", + "null" + ] + }, + "bonus_cents": { + "description": "Bonus in cents", + "type": [ + "number", + "null" + ] + }, + "currency": { + "anyOf": [ + { + "enum": [ + "USD", + "EUR", + "GBP", + "CAD", + "AUD" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Supported currency code" + }, + "deadline_at": { + "description": "Offer deadline", + "type": [ + "string", + "null" + ] + }, + "equity_text": { + "description": "Equity details", + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "initial_bonus_cents": { + "description": "Originally offered bonus in cents", + "type": [ + "number", + "null" + ] + }, + "initial_equity_text": { + "description": "Originally offered equity", + "type": [ + "string", + "null" + ] + }, + "initial_rsu_text": { + "description": "Originally offered RSUs", + "type": [ + "string", + "null" + ] + }, + "initial_salary_cents": { + "description": "Originally offered salary in cents", + "type": [ + "number", + "null" + ] + }, + "negotiation_events": { + "description": "Negotiation history", + "items": { + "additionalProperties": {}, + "properties": { + "bonus_cents": { + "description": "Bonus amount in cents", + "type": [ + "number", + "null" + ] + }, + "created_at": { + "description": "When the event was recorded", + "type": [ + "string", + "null" + ] + }, + "equity_text": { + "description": "Equity details", + "type": [ + "string", + "null" + ] + }, + "event_date": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Negotiation event date" + }, + "event_type": { + "anyOf": [ + { + "enum": [ + "offer", + "counter" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation event type" + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "notes": { + "description": "Negotiation notes", + "type": [ + "string", + "null" + ] + }, + "salary_cents": { + "description": "Salary amount in cents", + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "next_action": { + "description": "Next offer action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Offer notes", + "type": [ + "string", + "null" + ] + }, + "rsu_text": { + "description": "RSU details", + "type": [ + "string", + "null" + ] + }, + "state": { + "description": "Offer state", + "type": [ + "string", + "null" + ] + }, + "target_bonus_cents": { + "description": "Target bonus in cents", + "type": [ + "number", + "null" + ] + }, + "target_equity_text": { + "description": "Target equity", + "type": [ + "string", + "null" + ] + }, + "target_rsu_text": { + "description": "Target RSUs", + "type": [ + "string", + "null" + ] + }, + "target_salary_cents": { + "description": "Target salary in cents", + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "outcome": { + "type": [ + "string", + "null" + ] + }, + "recent_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "state": { + "description": "Application state", + "type": [ + "string", + "null" + ] + }, + "upcoming_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / logo_url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / logo_url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / qualifications / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / qualifications / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / refreshed_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / refreshed_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / removed_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / removed_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / scrape_engine / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / scrape_engine / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / source / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / source / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / title / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / title / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / updated_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / updated_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
jobs.unarchive41 fields changed- removed
Output schema / properties / data / properties / captured_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / captured_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / company / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / company / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / company_url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / company_url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / compensation_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / compensation_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / created_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / created_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / description / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / description / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / id / typeAdded value: +[ + "string", + "number" +] - changed
Output schema / properties / data / properties / job_application / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "applied_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "closed_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "conversations": { - "items": { - "additionalProperties": {}, - "properties": { - "from": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "kind": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "messages": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "sent_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "subject": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "unread": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "current_phase": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Current application phase" - }, - "current_stage": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviews": { - "items": { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "interviews_summary": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "completed_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "total_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "upcoming_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "last_action_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "offer": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "base_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Base salary in cents" - }, - "bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Bonus in cents" - }, - "currency": { - "anyOf": [ - { - "enum": [ - "USD", - "EUR", - "GBP", - "CAD", - "AUD" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Supported currency code" - }, - "deadline_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer deadline" - }, - "equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Equity details" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "initial_bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Originally offered bonus in cents" - }, - "initial_equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Originally offered equity" - }, - "initial_rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Originally offered RSUs" - }, - "initial_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Originally offered salary in cents" - }, - "negotiation_events": { - "description": "Negotiation history", - "items": { - "additionalProperties": {}, - "properties": { - "bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Bonus amount in cents" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "When the event was recorded" - }, - "equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Equity details" - }, - "event_date": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Negotiation event date" - }, - "event_type": { - "anyOf": [ - { - "enum": [ - "offer", - "counter" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Negotiation event type" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Negotiation notes" - }, - "salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Salary amount in cents" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next offer action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer notes" - }, - "rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "RSU details" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer state" - }, - "target_bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Target bonus in cents" - }, - "target_equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Target equity" - }, - "target_rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Target RSUs" - }, - "target_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Target salary in cents" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "outcome": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "recent_interview": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Application state" - }, - "upcoming_interview": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "applied_at": { + "type": [ + "string", + "null" + ] + }, + "closed_at": { + "type": [ + "string", + "null" + ] + }, + "conversations": { + "items": { + "additionalProperties": {}, + "properties": { + "from": { + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "kind": { + "type": [ + "string", + "null" + ] + }, + "messages": { + "type": [ + "number", + "null" + ] + }, + "sent_at": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "subject": { + "type": [ + "string", + "null" + ] + }, + "unread": { + "type": [ + "boolean", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "current_phase": { + "description": "Current application phase", + "type": [ + "string", + "null" + ] + }, + "current_stage": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviews": { + "items": { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "interviews_summary": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "completed_count": { + "type": [ + "number", + "null" + ] + }, + "total_count": { + "type": [ + "number", + "null" + ] + }, + "upcoming_count": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "last_action_at": { + "type": [ + "string", + "null" + ] + }, + "notes": { + "type": [ + "string", + "null" + ] + }, + "offer": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "base_salary_cents": { + "description": "Base salary in cents", + "type": [ + "number", + "null" + ] + }, + "bonus_cents": { + "description": "Bonus in cents", + "type": [ + "number", + "null" + ] + }, + "currency": { + "anyOf": [ + { + "enum": [ + "USD", + "EUR", + "GBP", + "CAD", + "AUD" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Supported currency code" + }, + "deadline_at": { + "description": "Offer deadline", + "type": [ + "string", + "null" + ] + }, + "equity_text": { + "description": "Equity details", + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "initial_bonus_cents": { + "description": "Originally offered bonus in cents", + "type": [ + "number", + "null" + ] + }, + "initial_equity_text": { + "description": "Originally offered equity", + "type": [ + "string", + "null" + ] + }, + "initial_rsu_text": { + "description": "Originally offered RSUs", + "type": [ + "string", + "null" + ] + }, + "initial_salary_cents": { + "description": "Originally offered salary in cents", + "type": [ + "number", + "null" + ] + }, + "negotiation_events": { + "description": "Negotiation history", + "items": { + "additionalProperties": {}, + "properties": { + "bonus_cents": { + "description": "Bonus amount in cents", + "type": [ + "number", + "null" + ] + }, + "created_at": { + "description": "When the event was recorded", + "type": [ + "string", + "null" + ] + }, + "equity_text": { + "description": "Equity details", + "type": [ + "string", + "null" + ] + }, + "event_date": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Negotiation event date" + }, + "event_type": { + "anyOf": [ + { + "enum": [ + "offer", + "counter" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation event type" + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "notes": { + "description": "Negotiation notes", + "type": [ + "string", + "null" + ] + }, + "salary_cents": { + "description": "Salary amount in cents", + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "next_action": { + "description": "Next offer action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Offer notes", + "type": [ + "string", + "null" + ] + }, + "rsu_text": { + "description": "RSU details", + "type": [ + "string", + "null" + ] + }, + "state": { + "description": "Offer state", + "type": [ + "string", + "null" + ] + }, + "target_bonus_cents": { + "description": "Target bonus in cents", + "type": [ + "number", + "null" + ] + }, + "target_equity_text": { + "description": "Target equity", + "type": [ + "string", + "null" + ] + }, + "target_rsu_text": { + "description": "Target RSUs", + "type": [ + "string", + "null" + ] + }, + "target_salary_cents": { + "description": "Target salary in cents", + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "outcome": { + "type": [ + "string", + "null" + ] + }, + "recent_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "state": { + "description": "Application state", + "type": [ + "string", + "null" + ] + }, + "upcoming_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / logo_url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / logo_url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / qualifications / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / qualifications / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / refreshed_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / refreshed_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / removed_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / removed_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / scrape_engine / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / scrape_engine / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / source / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / source / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / title / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / title / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / updated_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / updated_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Changed
jobs.update41 fields changed- removed
Output schema / properties / data / properties / captured_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / captured_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / company / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / company / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / company_url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / company_url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / compensation_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / compensation_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / created_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / created_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / description / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / description / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / id / typeAdded value: +[ + "string", + "number" +] - changed
Output schema / properties / data / properties / job_application / anyOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "applied_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "closed_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "conversations": { - "items": { - "additionalProperties": {}, - "properties": { - "from": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "kind": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "messages": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "sent_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "subject": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "unread": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "current_phase": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Current application phase" - }, - "current_stage": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviews": { - "items": { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "interviews_summary": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "completed_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "total_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - }, - "upcoming_count": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "last_action_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "offer": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "base_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Base salary in cents" - }, - "bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Bonus in cents" - }, - "currency": { - "anyOf": [ - { - "enum": [ - "USD", - "EUR", - "GBP", - "CAD", - "AUD" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Supported currency code" - }, - "deadline_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer deadline" - }, - "equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Equity details" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "initial_bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Originally offered bonus in cents" - }, - "initial_equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Originally offered equity" - }, - "initial_rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Originally offered RSUs" - }, - "initial_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Originally offered salary in cents" - }, - "negotiation_events": { - "description": "Negotiation history", - "items": { - "additionalProperties": {}, - "properties": { - "bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Bonus amount in cents" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "When the event was recorded" - }, - "equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Equity details" - }, - "event_date": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Negotiation event date" - }, - "event_type": { - "anyOf": [ - { - "enum": [ - "offer", - "counter" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Negotiation event type" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Negotiation notes" - }, - "salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Salary amount in cents" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "type": "array" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next offer action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer notes" - }, - "rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "RSU details" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Offer state" - }, - "target_bonus_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Target bonus in cents" - }, - "target_equity_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Target equity" - }, - "target_rsu_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Target RSUs" - }, - "target_salary_cents": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Target salary in cents" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "outcome": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "recent_interview": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Application state" - }, - "upcoming_interview": { - "anyOf": [ - { - "additionalProperties": {}, - "properties": { - "calendar_sync": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "account_email": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "matched_by": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "synced_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "cancelled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Cancellation date and time" - }, - "cancelled_reason": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Why the interview was cancelled" - }, - "completed_at": { - "anyOf": [ - { - "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" - }, - { - "type": "null" - } - ], - "description": "Completion date in YYYY-MM-DD format" - }, - "created_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "feedback": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Feedback received or given" - }, - "from_calendar": { - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether this came from a connected calendar" - }, - "id": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ], - "description": "Stable resource identifier" - }, - "interviewers": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interviewers" - }, - "location": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Location or meeting link" - }, - "location_details": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "display_text": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Human-readable location or meeting provider" - }, - "type": { - "anyOf": [ - { - "enum": [ - "coderpad", - "hackerrank", - "codesignal", - "karat", - "hirevue", - "woven", - "filtered", - "byteboard", - "zoom", - "google-meet", - "microsoft-teams", - "webex", - "gotomeeting", - "whereby", - "around", - "chime", - "bluejeans", - "dialpad", - "ringcentral", - "discord", - "phone", - "physical" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Detected meeting provider, phone, or physical location" - }, - "url": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Clickable meeting URL" - } - }, - "type": "object" - }, - { - "type": "null" - } - ] - }, - "name": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview name" - }, - "next_action": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Next interview action" - }, - "notes": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview notes" - }, - "outcome": { - "anyOf": [ - { - "enum": [ - "passed", - "didnt_pass", - "pending_decision", - "withdrew", - "no_show", - "other" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview outcome" - }, - "rating": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "User rating from 1 to 5" - }, - "scheduled_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Scheduled date and time" - }, - "sequence": { - "anyOf": [ - { - "type": "number" - }, - { - "type": "null" - } - ], - "description": "Interview order within the process" - }, - "state": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Interview state" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "id" - ], - "type": "object" - }, - { - "type": "null" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "applied_at": { + "type": [ + "string", + "null" + ] + }, + "closed_at": { + "type": [ + "string", + "null" + ] + }, + "conversations": { + "items": { + "additionalProperties": {}, + "properties": { + "from": { + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "kind": { + "type": [ + "string", + "null" + ] + }, + "messages": { + "type": [ + "number", + "null" + ] + }, + "sent_at": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "subject": { + "type": [ + "string", + "null" + ] + }, + "unread": { + "type": [ + "boolean", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "current_phase": { + "description": "Current application phase", + "type": [ + "string", + "null" + ] + }, + "current_stage": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "name": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviews": { + "items": { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "interviews_summary": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "completed_count": { + "type": [ + "number", + "null" + ] + }, + "total_count": { + "type": [ + "number", + "null" + ] + }, + "upcoming_count": { + "type": [ + "number", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "last_action_at": { + "type": [ + "string", + "null" + ] + }, + "notes": { + "type": [ + "string", + "null" + ] + }, + "offer": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "base_salary_cents": { + "description": "Base salary in cents", + "type": [ + "number", + "null" + ] + }, + "bonus_cents": { + "description": "Bonus in cents", + "type": [ + "number", + "null" + ] + }, + "currency": { + "anyOf": [ + { + "enum": [ + "USD", + "EUR", + "GBP", + "CAD", + "AUD" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Supported currency code" + }, + "deadline_at": { + "description": "Offer deadline", + "type": [ + "string", + "null" + ] + }, + "equity_text": { + "description": "Equity details", + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "initial_bonus_cents": { + "description": "Originally offered bonus in cents", + "type": [ + "number", + "null" + ] + }, + "initial_equity_text": { + "description": "Originally offered equity", + "type": [ + "string", + "null" + ] + }, + "initial_rsu_text": { + "description": "Originally offered RSUs", + "type": [ + "string", + "null" + ] + }, + "initial_salary_cents": { + "description": "Originally offered salary in cents", + "type": [ + "number", + "null" + ] + }, + "negotiation_events": { + "description": "Negotiation history", + "items": { + "additionalProperties": {}, + "properties": { + "bonus_cents": { + "description": "Bonus amount in cents", + "type": [ + "number", + "null" + ] + }, + "created_at": { + "description": "When the event was recorded", + "type": [ + "string", + "null" + ] + }, + "equity_text": { + "description": "Equity details", + "type": [ + "string", + "null" + ] + }, + "event_date": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Negotiation event date" + }, + "event_type": { + "anyOf": [ + { + "enum": [ + "offer", + "counter" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation event type" + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "notes": { + "description": "Negotiation notes", + "type": [ + "string", + "null" + ] + }, + "salary_cents": { + "description": "Salary amount in cents", + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "next_action": { + "description": "Next offer action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Offer notes", + "type": [ + "string", + "null" + ] + }, + "rsu_text": { + "description": "RSU details", + "type": [ + "string", + "null" + ] + }, + "state": { + "description": "Offer state", + "type": [ + "string", + "null" + ] + }, + "target_bonus_cents": { + "description": "Target bonus in cents", + "type": [ + "number", + "null" + ] + }, + "target_equity_text": { + "description": "Target equity", + "type": [ + "string", + "null" + ] + }, + "target_rsu_text": { + "description": "Target RSUs", + "type": [ + "string", + "null" + ] + }, + "target_salary_cents": { + "description": "Target salary in cents", + "type": [ + "number", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "outcome": { + "type": [ + "string", + "null" + ] + }, + "recent_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "state": { + "description": "Application state", + "type": [ + "string", + "null" + ] + }, + "upcoming_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "type": [ + "string", + "null" + ] + }, + "matched_by": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "synced_at": { + "type": [ + "string", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "description": "Cancellation date and time", + "type": [ + "string", + "null" + ] + }, + "cancelled_reason": { + "description": "Why the interview was cancelled", + "type": [ + "string", + "null" + ] + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "type": [ + "string", + "null" + ] + }, + "feedback": { + "description": "Feedback received or given", + "type": [ + "string", + "null" + ] + }, + "from_calendar": { + "description": "Whether this came from a connected calendar", + "type": [ + "boolean", + "null" + ] + }, + "id": { + "description": "Stable resource identifier", + "type": [ + "string", + "number" + ] + }, + "interviewers": { + "description": "Interviewers", + "type": [ + "string", + "null" + ] + }, + "location": { + "description": "Location or meeting link", + "type": [ + "string", + "null" + ] + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "description": "Human-readable location or meeting provider", + "type": [ + "string", + "null" + ] + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "description": "Clickable meeting URL", + "type": [ + "string", + "null" + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "description": "Interview name", + "type": [ + "string", + "null" + ] + }, + "next_action": { + "description": "Next interview action", + "type": [ + "string", + "null" + ] + }, + "notes": { + "description": "Interview notes", + "type": [ + "string", + "null" + ] + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "description": "User rating from 1 to 5", + "type": [ + "number", + "null" + ] + }, + "scheduled_at": { + "description": "Scheduled date and time", + "type": [ + "string", + "null" + ] + }, + "sequence": { + "description": "Interview order within the process", + "type": [ + "number", + "null" + ] + }, + "state": { + "description": "Interview state", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / data / properties / location / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / location / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / logo_url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / logo_url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / qualifications / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / qualifications / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / refreshed_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / refreshed_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / removed_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / removed_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / scrape_engine / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / scrape_engine / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / source / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / source / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / state / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / state / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / title / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / title / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / updated_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / updated_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / url / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / url / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Added
openings.add_to_board - Added
openings.get - Changed
persona.get26 fields changed- removed
Output schema / properties / data / properties / computed_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / computed_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / properties / traits / items / properties / confidence / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / traits / items / properties / confidence / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / traits / items / properties / confirmed_at / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / traits / items / properties / confirmed_at / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / traits / items / properties / facet / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / traits / items / properties / facet / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / traits / items / properties / id / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - } -] - added
Output schema / properties / data / properties / traits / items / properties / id / typeAdded value: +[ + "string", + "number" +] - removed
Output schema / properties / data / properties / traits / items / properties / polarity / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / traits / items / properties / polarity / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / traits / items / properties / source / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / traits / items / properties / source / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / traits / items / properties / value_number / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / traits / items / properties / value_number / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / data / properties / traits / items / properties / value_text / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / traits / items / properties / value_text / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / data / properties / understanding_score / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / data / properties / understanding_score / typeAdded value: +[ + "number", + "null" +] - removed
Output schema / properties / meta / properties / next_page / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / next_page / typeAdded value: +[ + "string", + "null" +] - removed
Output schema / properties / meta / properties / total_count / anyOfRemoved value: -[ - { - "type": "number" - }, - { - "type": "null" - } -] - added
Output schema / properties / meta / properties / total_count / typeAdded value: +[ + "number", + "null" +]
- Added
recommendations.block - Added
recommendations.dismiss - Added
recommendations.feedback - Added
recommendations.get - Added
recommendations.list - Added
recommendations.restore - Added
search.company_openings - Added
search.create - Added
search.get - Added
search.update - Removed
signals.list - Removed
signals.list_applied_jobs - Removed
signals.openings.list - Removed
signals.openings.mark_all_read - Removed
signals.openings.mark_read - Removed
signals.openings.save - Removed
signals.pause - Removed
signals.recommendations.block - Removed
signals.recommendations.dismiss - Removed
signals.recommendations.feedback - Removed
signals.recommendations.get - Removed
signals.recommendations.list - Removed
signals.recommendations.restore - Removed
signals.recommendations.watch - Removed
signals.resume - Removed
signals.track - Removed
signals.untrack - Removed
signals.update
1 tool update
- Changed
account.agenda6 fields changed- removed
Output schema / properties / data / properties / range / additionalPropertiesRemoved value: -{} - changed
Output schema / properties / data / properties / range / descriptionPrevious value: -"Covered date range"New value: +"Covered agenda range" - added
Output schema / properties / data / properties / range / enumAdded value: +[ + "today", + "week" +] - removed
Output schema / properties / data / properties / range / propertiesRemoved value: -{ - "ends_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - }, - "starts_at": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } -} - changed
Output schema / properties / data / properties / range / typePrevious value: -"object"New value: +"string" - changed
Output schema / properties / data / requiredPrevious value: -[ - "scheduled", - "needs_attention" -]New value: +[ + "range", + "scheduled", + "needs_attention" +]
81 tool updates
- Changed
account.agenda12 fields changed- added
Output schema / properties / data / properties / calendar_sync / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "error": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "last_synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / data / properties / needs_attention / properties / items / items / additionalPropertiesAdded value: +{} - added
Output schema / properties / data / properties / needs_attention / properties / items / items / propertiesAdded value: +{ + "actions": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "due_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "ends_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "job": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "company_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "job_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "title": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "kind": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "priority": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "source": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "starts_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "subtitle": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "title": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } +} - added
Output schema / properties / data / properties / needs_attention / properties / items / items / requiredAdded value: +[ + "id" +] - added
Output schema / properties / data / properties / needs_attention / properties / items / items / typeAdded value: +"object" - added
Output schema / properties / data / properties / range / additionalPropertiesAdded value: +{} - added
Output schema / properties / data / properties / range / propertiesAdded value: +{ + "ends_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "starts_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } +} - added
Output schema / properties / data / properties / range / typeAdded value: +"object" - added
Output schema / properties / data / properties / scheduled / properties / items / items / additionalPropertiesAdded value: +{} - added
Output schema / properties / data / properties / scheduled / properties / items / items / propertiesAdded value: +{ + "actions": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "due_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "ends_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "job": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "company_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "job_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "title": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "kind": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "priority": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "source": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "starts_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "subtitle": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "title": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } +} - added
Output schema / properties / data / properties / scheduled / properties / items / items / requiredAdded value: +[ + "id" +] - added
Output schema / properties / data / properties / scheduled / properties / items / items / typeAdded value: +"object"
- Removed
inbox.accept - Changed
inbox.acknowledge3 fields changed- added
Input schema / properties / confirmedAdded value: +{ + "const": true, + "description": "Must be true after the user confirms keeping these automatic actions", + "type": "boolean" +} - added
Input schema / properties / ids / minItemsAdded value: +1 - changed
Input schema / requiredPrevious value: -[ - "ids" -]New value: +[ + "ids", + "confirmed" +]
- Added
inbox.apply_suggestion - Changed
inbox.decline1 field changed- added
Input schema / properties / ids / minItemsAdded value: +1
- Changed
inbox.dismiss3 fields changed- added
Input schema / properties / confirmedAdded value: +{ + "const": true, + "description": "Must be true after the user confirms dismissing these items and marking their mail read", + "type": "boolean" +} - added
Input schema / properties / ids / minItemsAdded value: +1 - changed
Input schema / requiredPrevious value: -[ - "ids" -]New value: +[ + "ids", + "confirmed" +]
- Changed
inbox.get8 fields changed- changed
Output schema / properties / data / properties / confidence / anyOfPrevious value: -[ - { - "type": "number" - }, - { - "type": "null" - } -]New value: +[ + { + "enum": [ + "high", + "low" + ], + "type": "string" + }, + { + "type": "null" + } +] - added
Output schema / properties / data / properties / email / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "account": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "dkim_verified": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "from": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "replyable": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "snippet": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "subject": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "thread_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "unsubscribable": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / data / properties / payload / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "company": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "company_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "created_board_record": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "job_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "logo_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "recruiter_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "role": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / data / properties / related / items / additionalPropertiesAdded value: +{} - added
Output schema / properties / data / properties / related / items / propertiesAdded value: +{ + "from": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "kind": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "messages": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "subject": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "unread": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + } +} - added
Output schema / properties / data / properties / related / items / requiredAdded value: +[ + "id" +] - added
Output schema / properties / data / properties / related / items / typeAdded value: +"object" - added
Output schema / properties / data / properties / resulting / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "job_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +]
- Changed
inbox.list10 fields changed- added
Input schema / properties / limitAdded value: +{ + "description": "Maximum records to return", + "exclusiveMinimum": 0, + "maximum": 100, + "type": "integer" +} - added
Input schema / properties / pageAdded value: +{ + "description": "Pagination cursor returned as meta.next_page", + "type": "string" +} - changed
Output schema / properties / data / items / properties / confidence / anyOfPrevious value: -[ - { - "type": "number" - }, - { - "type": "null" - } -]New value: +[ + { + "enum": [ + "high", + "low" + ], + "type": "string" + }, + { + "type": "null" + } +] - added
Output schema / properties / data / items / properties / email / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "account": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "dkim_verified": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "from": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "replyable": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "snippet": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "subject": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "thread_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "unsubscribable": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / data / items / properties / payload / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "company": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "company_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "created_board_record": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "job_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "logo_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "recruiter_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "role": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / data / items / properties / related / items / additionalPropertiesAdded value: +{} - added
Output schema / properties / data / items / properties / related / items / propertiesAdded value: +{ + "from": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "kind": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "messages": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "subject": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "unread": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + } +} - added
Output schema / properties / data / items / properties / related / items / requiredAdded value: +[ + "id" +] - added
Output schema / properties / data / items / properties / related / items / typeAdded value: +"object" - added
Output schema / properties / data / items / properties / resulting / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "job_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +]
- Changed
inbox.refresh6 fields changed- changed
Output schema / properties / data / items / additionalPropertiesPrevious value: -{}New value: +false - removed
Output schema / properties / data / items / properties / calendar_grantedRemoved value: -{ - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether Calendar read access is granted" -} - removed
Output schema / properties / data / items / properties / calendar_write_grantedRemoved value: -{ - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether Calendar write access is granted" -} - removed
Output schema / properties / data / items / properties / gmail_grantedRemoved value: -{ - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether Gmail read access is granted" -} - removed
Output schema / properties / data / items / properties / gmail_send_grantedRemoved value: -{ - "anyOf": [ - { - "type": "boolean" - }, - { - "type": "null" - } - ], - "description": "Whether Gmail send access is granted" -} - added
Output schema / properties / data / items / properties / mailbox / anyOfAdded value: +[ + { + "additionalProperties": false, + "properties": { + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "last_synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the mailbox last finished synchronizing" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Mailbox synchronization state" + }, + "syncing": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "kind": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "messages_processed": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "messages_seen": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ], + "description": "Current mailbox synchronization progress" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +]
- Changed
inbox.send_reply8 fields changed- changed
Output schema / properties / data / properties / confidence / anyOfPrevious value: -[ - { - "type": "number" - }, - { - "type": "null" - } -]New value: +[ + { + "enum": [ + "high", + "low" + ], + "type": "string" + }, + { + "type": "null" + } +] - added
Output schema / properties / data / properties / email / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "account": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "dkim_verified": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "from": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "replyable": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "snippet": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "subject": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "thread_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "unsubscribable": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / data / properties / payload / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "company": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "company_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "created_board_record": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "job_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "logo_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "recruiter_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "role": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / data / properties / related / items / additionalPropertiesAdded value: +{} - added
Output schema / properties / data / properties / related / items / propertiesAdded value: +{ + "from": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "kind": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "messages": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "subject": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "unread": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + } +} - added
Output schema / properties / data / properties / related / items / requiredAdded value: +[ + "id" +] - added
Output schema / properties / data / properties / related / items / typeAdded value: +"object" - added
Output schema / properties / data / properties / resulting / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "job_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +]
- Removed
inbox.status - Added
inbox.sync_status - Changed
inbox.undo10 fields changed- added
Input schema / properties / confirmedAdded value: +{ + "const": true, + "description": "Must be true after the user confirms undoing the automatic action", + "type": "boolean" +} - changed
Input schema / requiredPrevious value: -[ - "item_id" -]New value: +[ + "item_id", + "confirmed" +] - changed
Output schema / properties / data / properties / confidence / anyOfPrevious value: -[ - { - "type": "number" - }, - { - "type": "null" - } -]New value: +[ + { + "enum": [ + "high", + "low" + ], + "type": "string" + }, + { + "type": "null" + } +] - added
Output schema / properties / data / properties / email / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "account": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "dkim_verified": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "from": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "replyable": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "snippet": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "subject": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "thread_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "unsubscribable": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / data / properties / payload / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "company": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "company_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "created_board_record": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "job_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "logo_url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "recruiter_name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "role": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +] - added
Output schema / properties / data / properties / related / items / additionalPropertiesAdded value: +{} - added
Output schema / properties / data / properties / related / items / propertiesAdded value: +{ + "from": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "kind": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "messages": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "subject": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "unread": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + } +} - added
Output schema / properties / data / properties / related / items / requiredAdded value: +[ + "id" +] - added
Output schema / properties / data / properties / related / items / typeAdded value: +"object" - added
Output schema / properties / data / properties / resulting / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "job_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "type": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } +]
- Changed
inbox.unsubscribe2 fields changed- added
Input schema / properties / confirmedAdded value: +{ + "const": true, + "description": "Must be true, and only after the user explicitly approved unsubscribing from this sender", + "type": "boolean" +} - changed
Input schema / requiredPrevious value: -[ - "item_id" -]New value: +[ + "item_id", + "confirmed" +]
- Changed
integrations.connect_google1 field changed- changed
Output schema / requiredPrevious value: -[ - "instructions" -]New value: +[ + "connect_url", + "instructions" +]
- Changed
integrations.list4 fields changed- added
Output schema / properties / data / items / properties / mailbox / anyOfAdded value: +[ + { + "additionalProperties": false, + "properties": { + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "last_synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the mailbox last finished synchronizing" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Mailbox synchronization state" + }, + "syncing": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "kind": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "messages_processed": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "messages_seen": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ], + "description": "Current mailbox synchronization progress" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - removed
Output schema / properties / meta / properties / connect_urlRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Browser URL for connecting another Google account" -} - added
Output schema / properties / meta / properties / next_pageAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cursor for the next page" +} - added
Output schema / properties / meta / properties / total_countAdded value: +{ + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Total matching records, when calculated" +}
- Removed
interviews.add - Removed
interviews.delete - Removed
interviews.list - Removed
interviews.update - Changed
jobs.add12 fields changed- removed
Input schema / properties / captured_atRemoved value: -{ - "description": "ISO 8601 capture timestamp", - "type": "string" -} - removed
Input schema / properties / journey_idRemoved value: -{ - "description": "Refine journey id", - "type": "string" -} - removed
Input schema / properties / stateRemoved value: -{ - "description": "Job scrape state", - "type": "string" -} - added
Input schema / properties / url / formatAdded value: +"uri" - added
Output schema / properties / data / properties / company_urlAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Company website URL" +} - added
Output schema / properties / data / properties / created_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the job was created" +} - added
Output schema / properties / data / properties / job_application / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "applied_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "closed_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "conversations": { + "items": { + "additionalProperties": {}, + "properties": { + "from": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "kind": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "messages": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "subject": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "unread": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "current_phase": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Current application phase" + }, + "current_stage": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviews": { + "items": { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "interviews_summary": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "completed_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "total_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "upcoming_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "last_action_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "offer": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "base_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Base salary in cents" + }, + "bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Bonus in cents" + }, + "currency": { + "anyOf": [ + { + "enum": [ + "USD", + "EUR", + "GBP", + "CAD", + "AUD" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Supported currency code" + }, + "deadline_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer deadline" + }, + "equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Equity details" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "initial_bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Originally offered bonus in cents" + }, + "initial_equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Originally offered equity" + }, + "initial_rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Originally offered RSUs" + }, + "initial_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Originally offered salary in cents" + }, + "negotiation_events": { + "description": "Negotiation history", + "items": { + "additionalProperties": {}, + "properties": { + "bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Bonus amount in cents" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the event was recorded" + }, + "equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Equity details" + }, + "event_date": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Negotiation event date" + }, + "event_type": { + "anyOf": [ + { + "enum": [ + "offer", + "counter" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation event type" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation notes" + }, + "salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Salary amount in cents" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next offer action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer notes" + }, + "rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "RSU details" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer state" + }, + "target_bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Target bonus in cents" + }, + "target_equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Target equity" + }, + "target_rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Target RSUs" + }, + "target_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Target salary in cents" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "outcome": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "recent_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Application state" + }, + "upcoming_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / data / properties / job_application / descriptionPrevious value: -"Application state and related journey details"New value: +"Application lifecycle, interviews, offer, and conversations" - added
Output schema / properties / data / properties / logo_urlAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Company logo URL" +} - added
Output schema / properties / data / properties / removed_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the posting was removed" +} - added
Output schema / properties / data / properties / scrape_engineAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scraper used for the posting" +} - added
Output schema / properties / data / properties / updated_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the job was updated" +}
- Changed
jobs.archive8 fields changed- added
Output schema / properties / data / properties / company_urlAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Company website URL" +} - added
Output schema / properties / data / properties / created_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the job was created" +} - added
Output schema / properties / data / properties / job_application / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "applied_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "closed_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "conversations": { + "items": { + "additionalProperties": {}, + "properties": { + "from": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "kind": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "messages": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "subject": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "unread": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "current_phase": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Current application phase" + }, + "current_stage": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviews": { + "items": { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "interviews_summary": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "completed_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "total_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "upcoming_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "last_action_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "offer": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "base_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Base salary in cents" + }, + "bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Bonus in cents" + }, + "currency": { + "anyOf": [ + { + "enum": [ + "USD", + "EUR", + "GBP", + "CAD", + "AUD" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Supported currency code" + }, + "deadline_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer deadline" + }, + "equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Equity details" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "initial_bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Originally offered bonus in cents" + }, + "initial_equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Originally offered equity" + }, + "initial_rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Originally offered RSUs" + }, + "initial_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Originally offered salary in cents" + }, + "negotiation_events": { + "description": "Negotiation history", + "items": { + "additionalProperties": {}, + "properties": { + "bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Bonus amount in cents" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the event was recorded" + }, + "equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Equity details" + }, + "event_date": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Negotiation event date" + }, + "event_type": { + "anyOf": [ + { + "enum": [ + "offer", + "counter" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation event type" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation notes" + }, + "salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Salary amount in cents" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next offer action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer notes" + }, + "rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "RSU details" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer state" + }, + "target_bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Target bonus in cents" + }, + "target_equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Target equity" + }, + "target_rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Target RSUs" + }, + "target_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Target salary in cents" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "outcome": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "recent_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Application state" + }, + "upcoming_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / data / properties / job_application / descriptionPrevious value: -"Application state and related journey details"New value: +"Application lifecycle, interviews, offer, and conversations" - added
Output schema / properties / data / properties / logo_urlAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Company logo URL" +} - added
Output schema / properties / data / properties / removed_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the posting was removed" +} - added
Output schema / properties / data / properties / scrape_engineAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scraper used for the posting" +} - added
Output schema / properties / data / properties / updated_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the job was updated" +}
- Changed
jobs.delete2 fields changed- added
Input schema / properties / confirmedAdded value: +{ + "const": true, + "description": "Must be true after the user confirms permanent deletion", + "type": "boolean" +} - changed
Input schema / requiredPrevious value: -[ - "job_id" -]New value: +[ + "job_id", + "confirmed" +]
- Changed
jobs.get8 fields changed- added
Output schema / properties / data / properties / company_urlAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Company website URL" +} - added
Output schema / properties / data / properties / created_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the job was created" +} - added
Output schema / properties / data / properties / job_application / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "applied_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "closed_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "conversations": { + "items": { + "additionalProperties": {}, + "properties": { + "from": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "kind": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "messages": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "subject": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "unread": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "current_phase": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Current application phase" + }, + "current_stage": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviews": { + "items": { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "interviews_summary": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "completed_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "total_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "upcoming_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "last_action_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "offer": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "base_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Base salary in cents" + }, + "bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Bonus in cents" + }, + "currency": { + "anyOf": [ + { + "enum": [ + "USD", + "EUR", + "GBP", + "CAD", + "AUD" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Supported currency code" + }, + "deadline_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer deadline" + }, + "equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Equity details" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "initial_bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Originally offered bonus in cents" + }, + "initial_equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Originally offered equity" + }, + "initial_rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Originally offered RSUs" + }, + "initial_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Originally offered salary in cents" + }, + "negotiation_events": { + "description": "Negotiation history", + "items": { + "additionalProperties": {}, + "properties": { + "bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Bonus amount in cents" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the event was recorded" + }, + "equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Equity details" + }, + "event_date": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Negotiation event date" + }, + "event_type": { + "anyOf": [ + { + "enum": [ + "offer", + "counter" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation event type" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation notes" + }, + "salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Salary amount in cents" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next offer action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer notes" + }, + "rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "RSU details" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer state" + }, + "target_bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Target bonus in cents" + }, + "target_equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Target equity" + }, + "target_rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Target RSUs" + }, + "target_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Target salary in cents" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "outcome": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "recent_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Application state" + }, + "upcoming_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / data / properties / job_application / descriptionPrevious value: -"Application state and related journey details"New value: +"Application lifecycle, interviews, offer, and conversations" - added
Output schema / properties / data / properties / logo_urlAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Company logo URL" +} - added
Output schema / properties / data / properties / removed_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the posting was removed" +} - added
Output schema / properties / data / properties / scrape_engineAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scraper used for the posting" +} - added
Output schema / properties / data / properties / updated_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the job was updated" +}
- Added
jobs.interviews.add - Added
jobs.interviews.delete - Added
jobs.interviews.update - Changed
jobs.list8 fields changed- added
Output schema / properties / data / items / properties / company_urlAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Company website URL" +} - added
Output schema / properties / data / items / properties / created_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the job was created" +} - added
Output schema / properties / data / items / properties / job_application / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "applied_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "closed_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "conversations": { + "items": { + "additionalProperties": {}, + "properties": { + "from": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "kind": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "messages": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "subject": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "unread": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "current_phase": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Current application phase" + }, + "current_stage": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviews": { + "items": { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "interviews_summary": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "completed_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "total_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "upcoming_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "last_action_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "offer": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "base_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Base salary in cents" + }, + "bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Bonus in cents" + }, + "currency": { + "anyOf": [ + { + "enum": [ + "USD", + "EUR", + "GBP", + "CAD", + "AUD" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Supported currency code" + }, + "deadline_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer deadline" + }, + "equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Equity details" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "initial_bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Originally offered bonus in cents" + }, + "initial_equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Originally offered equity" + }, + "initial_rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Originally offered RSUs" + }, + "initial_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Originally offered salary in cents" + }, + "negotiation_events": { + "description": "Negotiation history", + "items": { + "additionalProperties": {}, + "properties": { + "bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Bonus amount in cents" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the event was recorded" + }, + "equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Equity details" + }, + "event_date": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Negotiation event date" + }, + "event_type": { + "anyOf": [ + { + "enum": [ + "offer", + "counter" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation event type" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation notes" + }, + "salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Salary amount in cents" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next offer action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer notes" + }, + "rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "RSU details" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer state" + }, + "target_bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Target bonus in cents" + }, + "target_equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Target equity" + }, + "target_rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Target RSUs" + }, + "target_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Target salary in cents" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "outcome": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "recent_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Application state" + }, + "upcoming_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / data / items / properties / job_application / descriptionPrevious value: -"Application state and related journey details"New value: +"Application lifecycle, interviews, offer, and conversations" - added
Output schema / properties / data / items / properties / logo_urlAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Company logo URL" +} - added
Output schema / properties / data / items / properties / removed_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the posting was removed" +} - added
Output schema / properties / data / items / properties / scrape_engineAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scraper used for the posting" +} - added
Output schema / properties / data / items / properties / updated_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the job was updated" +}
- Changed
jobs.mark_applied8 fields changed- added
Output schema / properties / data / properties / company_urlAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Company website URL" +} - added
Output schema / properties / data / properties / created_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the job was created" +} - added
Output schema / properties / data / properties / job_application / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "applied_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "closed_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "conversations": { + "items": { + "additionalProperties": {}, + "properties": { + "from": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "kind": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "messages": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "subject": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "unread": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "current_phase": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Current application phase" + }, + "current_stage": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviews": { + "items": { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "interviews_summary": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "completed_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "total_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "upcoming_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "last_action_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "offer": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "base_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Base salary in cents" + }, + "bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Bonus in cents" + }, + "currency": { + "anyOf": [ + { + "enum": [ + "USD", + "EUR", + "GBP", + "CAD", + "AUD" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Supported currency code" + }, + "deadline_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer deadline" + }, + "equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Equity details" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "initial_bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Originally offered bonus in cents" + }, + "initial_equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Originally offered equity" + }, + "initial_rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Originally offered RSUs" + }, + "initial_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Originally offered salary in cents" + }, + "negotiation_events": { + "description": "Negotiation history", + "items": { + "additionalProperties": {}, + "properties": { + "bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Bonus amount in cents" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the event was recorded" + }, + "equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Equity details" + }, + "event_date": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Negotiation event date" + }, + "event_type": { + "anyOf": [ + { + "enum": [ + "offer", + "counter" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation event type" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation notes" + }, + "salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Salary amount in cents" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next offer action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer notes" + }, + "rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "RSU details" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer state" + }, + "target_bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Target bonus in cents" + }, + "target_equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Target equity" + }, + "target_rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Target RSUs" + }, + "target_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Target salary in cents" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "outcome": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "recent_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Application state" + }, + "upcoming_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / data / properties / job_application / descriptionPrevious value: -"Application state and related journey details"New value: +"Application lifecycle, interviews, offer, and conversations" - added
Output schema / properties / data / properties / logo_urlAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Company logo URL" +} - added
Output schema / properties / data / properties / removed_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the posting was removed" +} - added
Output schema / properties / data / properties / scrape_engineAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scraper used for the posting" +} - added
Output schema / properties / data / properties / updated_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the job was updated" +}
- Added
jobs.offer.accept - Added
jobs.offer.add_negotiation - Added
jobs.offer.create - Added
jobs.offer.decline - Added
jobs.offer.delete - Added
jobs.offer.delete_negotiation - Added
jobs.offer.update - Changed
jobs.refresh8 fields changed- added
Output schema / properties / data / properties / company_urlAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Company website URL" +} - added
Output schema / properties / data / properties / created_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the job was created" +} - added
Output schema / properties / data / properties / job_application / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "applied_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "closed_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "conversations": { + "items": { + "additionalProperties": {}, + "properties": { + "from": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "kind": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "messages": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "subject": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "unread": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "current_phase": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Current application phase" + }, + "current_stage": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviews": { + "items": { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "interviews_summary": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "completed_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "total_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "upcoming_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "last_action_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "offer": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "base_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Base salary in cents" + }, + "bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Bonus in cents" + }, + "currency": { + "anyOf": [ + { + "enum": [ + "USD", + "EUR", + "GBP", + "CAD", + "AUD" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Supported currency code" + }, + "deadline_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer deadline" + }, + "equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Equity details" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "initial_bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Originally offered bonus in cents" + }, + "initial_equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Originally offered equity" + }, + "initial_rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Originally offered RSUs" + }, + "initial_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Originally offered salary in cents" + }, + "negotiation_events": { + "description": "Negotiation history", + "items": { + "additionalProperties": {}, + "properties": { + "bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Bonus amount in cents" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the event was recorded" + }, + "equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Equity details" + }, + "event_date": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Negotiation event date" + }, + "event_type": { + "anyOf": [ + { + "enum": [ + "offer", + "counter" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation event type" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation notes" + }, + "salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Salary amount in cents" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next offer action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer notes" + }, + "rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "RSU details" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer state" + }, + "target_bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Target bonus in cents" + }, + "target_equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Target equity" + }, + "target_rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Target RSUs" + }, + "target_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Target salary in cents" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "outcome": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "recent_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Application state" + }, + "upcoming_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / data / properties / job_application / descriptionPrevious value: -"Application state and related journey details"New value: +"Application lifecycle, interviews, offer, and conversations" - added
Output schema / properties / data / properties / logo_urlAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Company logo URL" +} - added
Output schema / properties / data / properties / removed_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the posting was removed" +} - added
Output schema / properties / data / properties / scrape_engineAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scraper used for the posting" +} - added
Output schema / properties / data / properties / updated_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the job was updated" +}
- Changed
jobs.unarchive8 fields changed- added
Output schema / properties / data / properties / company_urlAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Company website URL" +} - added
Output schema / properties / data / properties / created_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the job was created" +} - added
Output schema / properties / data / properties / job_application / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "applied_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "closed_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "conversations": { + "items": { + "additionalProperties": {}, + "properties": { + "from": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "kind": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "messages": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "subject": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "unread": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "current_phase": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Current application phase" + }, + "current_stage": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviews": { + "items": { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "interviews_summary": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "completed_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "total_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "upcoming_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "last_action_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "offer": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "base_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Base salary in cents" + }, + "bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Bonus in cents" + }, + "currency": { + "anyOf": [ + { + "enum": [ + "USD", + "EUR", + "GBP", + "CAD", + "AUD" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Supported currency code" + }, + "deadline_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer deadline" + }, + "equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Equity details" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "initial_bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Originally offered bonus in cents" + }, + "initial_equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Originally offered equity" + }, + "initial_rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Originally offered RSUs" + }, + "initial_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Originally offered salary in cents" + }, + "negotiation_events": { + "description": "Negotiation history", + "items": { + "additionalProperties": {}, + "properties": { + "bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Bonus amount in cents" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the event was recorded" + }, + "equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Equity details" + }, + "event_date": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Negotiation event date" + }, + "event_type": { + "anyOf": [ + { + "enum": [ + "offer", + "counter" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation event type" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation notes" + }, + "salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Salary amount in cents" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next offer action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer notes" + }, + "rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "RSU details" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer state" + }, + "target_bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Target bonus in cents" + }, + "target_equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Target equity" + }, + "target_rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Target RSUs" + }, + "target_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Target salary in cents" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "outcome": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "recent_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Application state" + }, + "upcoming_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / data / properties / job_application / descriptionPrevious value: -"Application state and related journey details"New value: +"Application lifecycle, interviews, offer, and conversations" - added
Output schema / properties / data / properties / logo_urlAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Company logo URL" +} - added
Output schema / properties / data / properties / removed_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the posting was removed" +} - added
Output schema / properties / data / properties / scrape_engineAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scraper used for the posting" +} - added
Output schema / properties / data / properties / updated_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the job was updated" +}
- Changed
jobs.update13 fields changed- removed
Input schema / properties / captured_atRemoved value: -{ - "description": "ISO 8601 capture timestamp", - "type": "string" -} - removed
Input schema / properties / journey_idRemoved value: -{ - "description": "Refine journey id", - "type": "string" -} - added
Input schema / properties / notesAdded value: +{ + "description": "Markdown notes about this application", + "type": "string" +} - removed
Input schema / properties / stateRemoved value: -{ - "description": "Job scrape state", - "type": "string" -} - added
Input schema / properties / url / formatAdded value: +"uri" - added
Output schema / properties / data / properties / company_urlAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Company website URL" +} - added
Output schema / properties / data / properties / created_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the job was created" +} - added
Output schema / properties / data / properties / job_application / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "applied_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "closed_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "conversations": { + "items": { + "additionalProperties": {}, + "properties": { + "from": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "kind": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "messages": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "subject": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "unread": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "current_phase": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Current application phase" + }, + "current_stage": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviews": { + "items": { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "interviews_summary": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "completed_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "total_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "upcoming_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "last_action_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "offer": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "base_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Base salary in cents" + }, + "bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Bonus in cents" + }, + "currency": { + "anyOf": [ + { + "enum": [ + "USD", + "EUR", + "GBP", + "CAD", + "AUD" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Supported currency code" + }, + "deadline_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer deadline" + }, + "equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Equity details" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "initial_bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Originally offered bonus in cents" + }, + "initial_equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Originally offered equity" + }, + "initial_rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Originally offered RSUs" + }, + "initial_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Originally offered salary in cents" + }, + "negotiation_events": { + "description": "Negotiation history", + "items": { + "additionalProperties": {}, + "properties": { + "bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Bonus amount in cents" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the event was recorded" + }, + "equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Equity details" + }, + "event_date": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Negotiation event date" + }, + "event_type": { + "anyOf": [ + { + "enum": [ + "offer", + "counter" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation event type" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation notes" + }, + "salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Salary amount in cents" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next offer action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer notes" + }, + "rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "RSU details" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer state" + }, + "target_bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Target bonus in cents" + }, + "target_equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Target equity" + }, + "target_rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Target RSUs" + }, + "target_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Target salary in cents" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "outcome": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "recent_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Application state" + }, + "upcoming_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / data / properties / job_application / descriptionPrevious value: -"Application state and related journey details"New value: +"Application lifecycle, interviews, offer, and conversations" - added
Output schema / properties / data / properties / logo_urlAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Company logo URL" +} - added
Output schema / properties / data / properties / removed_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the posting was removed" +} - added
Output schema / properties / data / properties / scrape_engineAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scraper used for the posting" +} - added
Output schema / properties / data / properties / updated_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the job was updated" +}
- Removed
jobs.update_notes - Removed
journey.update - Removed
notifications.list - Removed
notifications.read - Removed
notifications.read_all - Removed
offers.accept - Removed
offers.add_negotiation - Removed
offers.create - Removed
offers.decline - Removed
offers.delete - Removed
offers.delete_negotiation - Removed
offers.get - Removed
offers.update - Removed
persona.confirm_trait - Removed
persona.correct_trait - Removed
persona.remove_trait - Removed
recommendations.block - Removed
recommendations.dismiss - Removed
recommendations.feedback - Removed
recommendations.get - Removed
recommendations.list - Removed
recommendations.restore - Removed
recommendations.watch - Changed
signals.list3 fields changed- changed
Output schema / properties / data / items / additionalPropertiesPrevious value: -{}New value: +false - removed
Output schema / properties / data / items / properties / notification_cadenceRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Notification cadence" -} - added
Output schema / properties / data / items / properties / sync_frequencyAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "How often the company is refreshed" +}
- Changed
signals.list_applied_jobs10 fields changed- added
Input schema / properties / limitAdded value: +{ + "description": "Maximum records to return", + "exclusiveMinimum": 0, + "maximum": 100, + "type": "integer" +} - added
Input schema / properties / pageAdded value: +{ + "description": "Pagination cursor returned as meta.next_page", + "type": "string" +} - added
Output schema / properties / data / items / properties / company_urlAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Company website URL" +} - added
Output schema / properties / data / items / properties / created_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the job was created" +} - added
Output schema / properties / data / items / properties / job_application / anyOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "applied_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "closed_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "conversations": { + "items": { + "additionalProperties": {}, + "properties": { + "from": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "kind": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "messages": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "sent_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "subject": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "unread": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "current_phase": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Current application phase" + }, + "current_stage": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviews": { + "items": { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "interviews_summary": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "completed_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "total_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "upcoming_count": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "last_action_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "offer": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "base_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Base salary in cents" + }, + "bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Bonus in cents" + }, + "currency": { + "anyOf": [ + { + "enum": [ + "USD", + "EUR", + "GBP", + "CAD", + "AUD" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Supported currency code" + }, + "deadline_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer deadline" + }, + "equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Equity details" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "initial_bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Originally offered bonus in cents" + }, + "initial_equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Originally offered equity" + }, + "initial_rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Originally offered RSUs" + }, + "initial_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Originally offered salary in cents" + }, + "negotiation_events": { + "description": "Negotiation history", + "items": { + "additionalProperties": {}, + "properties": { + "bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Bonus amount in cents" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the event was recorded" + }, + "equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Equity details" + }, + "event_date": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Negotiation event date" + }, + "event_type": { + "anyOf": [ + { + "enum": [ + "offer", + "counter" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation event type" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Negotiation notes" + }, + "salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Salary amount in cents" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + "type": "array" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next offer action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer notes" + }, + "rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "RSU details" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Offer state" + }, + "target_bonus_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Target bonus in cents" + }, + "target_equity_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Target equity" + }, + "target_rsu_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Target RSUs" + }, + "target_salary_cents": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Target salary in cents" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "outcome": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "recent_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Application state" + }, + "upcoming_interview": { + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "calendar_sync": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "account_email": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "matched_by": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "synced_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "cancelled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Cancellation date and time" + }, + "cancelled_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Why the interview was cancelled" + }, + "completed_at": { + "anyOf": [ + { + "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" + }, + { + "type": "null" + } + ], + "description": "Completion date in YYYY-MM-DD format" + }, + "created_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "feedback": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Feedback received or given" + }, + "from_calendar": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "null" + } + ], + "description": "Whether this came from a connected calendar" + }, + "id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "Stable resource identifier" + }, + "interviewers": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interviewers" + }, + "location": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Location or meeting link" + }, + "location_details": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "display_text": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Human-readable location or meeting provider" + }, + "type": { + "anyOf": [ + { + "enum": [ + "coderpad", + "hackerrank", + "codesignal", + "karat", + "hirevue", + "woven", + "filtered", + "byteboard", + "zoom", + "google-meet", + "microsoft-teams", + "webex", + "gotomeeting", + "whereby", + "around", + "chime", + "bluejeans", + "dialpad", + "ringcentral", + "discord", + "phone", + "physical" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Detected meeting provider, phone, or physical location" + }, + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Clickable meeting URL" + } + }, + "type": "object" + }, + { + "type": "null" + } + ] + }, + "name": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview name" + }, + "next_action": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Next interview action" + }, + "notes": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview notes" + }, + "outcome": { + "anyOf": [ + { + "enum": [ + "passed", + "didnt_pass", + "pending_decision", + "withdrew", + "no_show", + "other" + ], + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview outcome" + }, + "rating": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "User rating from 1 to 5" + }, + "scheduled_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scheduled date and time" + }, + "sequence": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Interview order within the process" + }, + "state": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Interview state" + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "id" + ], + "type": "object" + }, + { + "type": "null" + } +] - changed
Output schema / properties / data / items / properties / job_application / descriptionPrevious value: -"Application state and related journey details"New value: +"Application lifecycle, interviews, offer, and conversations" - added
Output schema / properties / data / items / properties / logo_urlAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Company logo URL" +} - added
Output schema / properties / data / items / properties / removed_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the posting was removed" +} - added
Output schema / properties / data / items / properties / scrape_engineAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Scraper used for the posting" +} - added
Output schema / properties / data / items / properties / updated_atAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "When the job was updated" +}
- Added
signals.openings.list - Added
signals.openings.mark_all_read - Added
signals.openings.mark_read - Added
signals.openings.save - Changed
signals.pause3 fields changed- changed
Output schema / properties / data / additionalPropertiesPrevious value: -{}New value: +false - removed
Output schema / properties / data / properties / notification_cadenceRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Notification cadence" -} - added
Output schema / properties / data / properties / sync_frequencyAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "How often the company is refreshed" +}
- Added
signals.recommendations.block - Added
signals.recommendations.dismiss - Added
signals.recommendations.feedback - Added
signals.recommendations.get - Added
signals.recommendations.list - Added
signals.recommendations.restore - Added
signals.recommendations.watch - Changed
signals.resume3 fields changed- changed
Output schema / properties / data / additionalPropertiesPrevious value: -{}New value: +false - removed
Output schema / properties / data / properties / notification_cadenceRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Notification cadence" -} - added
Output schema / properties / data / properties / sync_frequencyAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "How often the company is refreshed" +}
- Removed
signals.save_opening - Changed
signals.track4 fields changed- added
Input schema / properties / careers_url / formatAdded value: +"uri" - changed
Output schema / properties / data / additionalPropertiesPrevious value: -{}New value: +false - removed
Output schema / properties / data / properties / notification_cadenceRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Notification cadence" -} - added
Output schema / properties / data / properties / sync_frequencyAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "How often the company is refreshed" +}
- Changed
signals.untrack2 fields changed- added
Input schema / properties / confirmedAdded value: +{ + "const": true, + "description": "Must be true after the user confirms they want to stop tracking the company", + "type": "boolean" +} - changed
Input schema / requiredPrevious value: -[ - "signal_id" -]New value: +[ + "signal_id", + "confirmed" +]
- Changed
signals.update3 fields changed- changed
Output schema / properties / data / additionalPropertiesPrevious value: -{}New value: +false - removed
Output schema / properties / data / properties / notification_cadenceRemoved value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ], - "description": "Notification cadence" -} - added
Output schema / properties / data / properties / sync_frequencyAdded value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "How often the company is refreshed" +}
124 tool updates
- Removed
accept_inbox_item - Removed
accept_offer - Added
account.agenda - Removed
acknowledge_inbox_items - Removed
add_interview - Removed
add_job - Removed
add_negotiation_event - Removed
archive_job - Removed
block_recommendation - Removed
confirm_persona_trait - Removed
connect_google_account - Removed
correct_persona_trait - Removed
create_offer - Removed
decline_conversations - Removed
decline_offer - Removed
delete_interview - Removed
delete_job - Removed
delete_negotiation_event - Removed
delete_offer - Removed
dismiss_inbox_items - Removed
dismiss_recommendation - Removed
draft_reply - Removed
get_agenda - Removed
get_company_recommendation - Removed
get_conversation_thread - Removed
get_inbox_item - Removed
get_inbox_status - Removed
get_job - Removed
get_offer - Removed
get_persona - Removed
give_recommendation_feedback - Added
inbox.accept - Added
inbox.acknowledge - Added
inbox.decline - Added
inbox.dismiss - Added
inbox.draft_reply - Added
inbox.get - Added
inbox.get_thread - Added
inbox.list - Added
inbox.mark_read - Added
inbox.refresh - Added
inbox.send_reply - Added
inbox.status - Added
inbox.undo - Added
inbox.unsubscribe - Added
integrations.connect_google - Added
integrations.list - Added
interviews.add - Added
interviews.delete - Added
interviews.list - Added
interviews.update - Added
jobs.add - Added
jobs.archive - Added
jobs.delete - Added
jobs.get - Added
jobs.list - Added
jobs.mark_applied - Added
jobs.refresh - Added
jobs.unarchive - Added
jobs.update - Added
jobs.update_notes - Added
journey.update - Removed
list_company_recommendations - Removed
list_inbox_items - Removed
list_integrations - Removed
list_interviews - Removed
list_jobs - Removed
list_notifications - Removed
list_signal_applied_jobs - Removed
list_signals - Removed
mark_applied - Added
notifications.list - Added
notifications.read - Added
notifications.read_all - Added
offers.accept - Added
offers.add_negotiation - Added
offers.create - Added
offers.decline - Added
offers.delete - Added
offers.delete_negotiation - Added
offers.get - Added
offers.update - Removed
pause_signal - Added
persona.confirm_trait - Added
persona.correct_trait - Added
persona.get - Added
persona.remove_trait - Removed
read_all_notifications - Removed
read_inbox_item - Removed
read_notification - Added
recommendations.block - Added
recommendations.dismiss - Added
recommendations.feedback - Added
recommendations.get - Added
recommendations.list - Added
recommendations.restore - Added
recommendations.watch - Removed
refresh_inbox - Removed
refresh_job - Removed
remove_persona_trait - Removed
restore_recommendation - Removed
resume_signal - Removed
save_opening - Removed
send_reply - Added
signals.list - Added
signals.list_applied_jobs - Added
signals.pause - Added
signals.resume - Added
signals.save_opening - Added
signals.track - Added
signals.untrack - Added
signals.update - Removed
track_company - Removed
unarchive_job - Removed
undo_inbox_item - Removed
unsubscribe_sender - Removed
untrack_company - Removed
update_interview - Removed
update_job - Removed
update_journey - Removed
update_notes - Removed
update_offer - Removed
update_signal - Removed
watch_recommendation
62 tool updates
- First observed
accept_inbox_item - First observed
accept_offer - First observed
acknowledge_inbox_items - First observed
add_interview - First observed
add_job - First observed
add_negotiation_event - First observed
archive_job - First observed
block_recommendation - First observed
confirm_persona_trait - First observed
connect_google_account - First observed
correct_persona_trait - First observed
create_offer - First observed
decline_conversations - First observed
decline_offer - First observed
delete_interview - First observed
delete_job - First observed
delete_negotiation_event - First observed
delete_offer - First observed
dismiss_inbox_items - First observed
dismiss_recommendation - First observed
draft_reply - First observed
get_agenda - First observed
get_company_recommendation - First observed
get_conversation_thread - First observed
get_inbox_item - First observed
get_inbox_status - First observed
get_job - First observed
get_offer - First observed
get_persona - First observed
give_recommendation_feedback - First observed
list_company_recommendations - First observed
list_inbox_items - First observed
list_integrations - First observed
list_interviews - First observed
list_jobs - First observed
list_notifications - First observed
list_signal_applied_jobs - First observed
list_signals - First observed
mark_applied - First observed
pause_signal - First observed
read_all_notifications - First observed
read_inbox_item - First observed
read_notification - First observed
refresh_inbox - First observed
refresh_job - First observed
remove_persona_trait - First observed
restore_recommendation - First observed
resume_signal - First observed
save_opening - First observed
send_reply - First observed
track_company - First observed
unarchive_job - First observed
undo_inbox_item - First observed
unsubscribe_sender - First observed
untrack_company - First observed
update_interview - First observed
update_job - First observed
update_journey - First observed
update_notes - First observed
update_offer - First observed
update_signal - First observed
watch_recommendation
Related MCP Connectors
Your job search in one place: resumes, the jobs you track, daily matches, interviews, next step.
Job search tracker for Claude and ChatGPT: applications, interviews, follow-ups, company watch.
Track job applications: find the ones to follow up on, add jobs, update status, notes and steps.
- ResuMaxOAuthai.resumax
Find jobs, improve resumes, prepare for interviews, and manage your application pipeline.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceManages job applications, companies, roles, statuses, deadlines, and reminders through natural language queries.-
- FlicenseAqualityDmaintenanceEnables tracking job applications through a pipeline, scheduling follow-ups, and summarizing job search progress via natural language.7-
- FlicenseAqualityDmaintenanceAutomates job outreach by finding companies, discovering contacts, generating personalized emails with AI, and tracking campaigns.9-
- FlicenseNot gradedqualityCmaintenanceEnables tracking job applications by connecting Gmail to retrieve emails, process job details, manage statuses, and generate statistics.-
Glama MCP Gateway
Add one secure layer between your agents and this server.