Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,552Letters: 14Defects: 1,331counted 2 min ago
teppi

Server definition

Hash
sha256:5bc8404cb5cc98c292ff3d570fb8c1805ab4095e688e13a5beff34d574d32c83
What it is
What a remote MCP server returned when asked what it offers: 5 tools

The blob, as servednamed by its sha256

{ "instructions": "Jobero runs paid job searches. There are two: start_job_search returns 7 matched roles in about an hour for €9.99, and quick_job_search returns the single best current role in a few minutes for $2.50. Both include a CV and cover letter tailored to each role, returned as markdown by get_search_status and emailed as PDFs. There are no free searches: call get_pricing, register with register_agent, then start a search and poll get_search_status. Credits are per product, so a quick credit does not pay for a full search. A wallet-equipped agent needs no separate purchase step — either tool answers with an x402 PaymentRequired and runs as soon as the call is retried with payment in _meta[\"x402/payment\"].", "tools": [ { "description": "What a Jobero search costs and how to pay for it, in card and stablecoin terms. No auth required.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": {}, "type": "object" }, "name": "get_pricing", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "card_checkout": { "description": "URL for card payment", "type": "string" }, "credits_are_per_product": { "description": "Always true: a quick credit cannot pay for a full search", "type": "boolean" }, "free_searches": { "description": "Always false: registration grants no credits", "type": "boolean" }, "packs": { "description": "Buyable credit packs", "items": { "additionalProperties": false, "properties": { "buys": { "description": "Which product these credits are valid for: search or quick", "type": "string" }, "credits": { "description": "How many runs the pack buys", "type": "number" }, "description": { "type": "string" }, "pack": { "description": "Pack code to pass to checkout or to pay for over x402", "type": "string" }, "price": { "description": "Human-readable price", "type": "string" } }, "required": [ "pack", "credits", "price", "buys", "description" ], "type": "object" }, "type": "array" }, "products": { "description": "The two things Jobero sells", "items": { "additionalProperties": false, "properties": { "price": { "description": "Human-readable price", "type": "string" }, "tool": { "description": "Which tool buys this product", "type": "string" }, "typical_time": { "description": "How long delivery usually takes", "type": "string" }, "unit": { "description": "What one purchase delivers", "type": "string" } }, "required": [ "tool", "unit", "price", "typical_time" ], "type": "object" }, "type": "array" }, "service": { "description": "Service name", "type": "string" }, "x402": { "anyOf": [ { "additionalProperties": false, "properties": { "asset": { "description": "Token accepted, USDC", "type": "string" }, "how": { "description": "How to complete the payment loop", "type": "string" }, "network": { "description": "Chain the payment settles on", "type": "string" }, "pay_to": { "description": "Receiving address", "type": "string" }, "prices": { "additionalProperties": { "type": "string" }, "description": "Pack code to atomic USDC amount", "propertyNames": { "type": "string" }, "type": "object" } }, "required": [ "network", "asset", "pay_to", "prices", "how" ], "type": "object" }, { "type": "null" } ], "description": "Stablecoin payment terms, null if x402 is not configured" } }, "required": [ "service", "products", "packs", "credits_are_per_product", "card_checkout", "x402", "free_searches" ], "type": "object" } }, { "description": "Progress of a search, and the matched roles with the reason each was picked once it finishes.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "run_id": { "description": "The run_id returned by start_job_search or quick_job_search. Omit to get the most recent run for this account", "type": "string" } }, "type": "object" }, "name": "get_search_status", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "done": { "description": "True once the run has finished, whether or not it found anything", "type": "boolean" }, "error": { "description": "Present only on failure, e.g. \"unauthorized\" or \"payment_required\"", "type": "string" }, "finished_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "matches": { "description": "The delivered roles, each with its tailored documents. Absent until the run succeeds", "items": { "additionalProperties": false, "properties": { "company": { "description": "Hiring company", "type": "string" }, "documents": { "anyOf": [ { "additionalProperties": false, "properties": { "cover_letter_markdown": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "A cover letter written for this specific role, as markdown" }, "cv_markdown": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The CV rewritten for this specific role, as markdown" } }, "required": [ "cv_markdown", "cover_letter_markdown" ], "type": "object" }, { "type": "null" } ], "description": "The tailored documents for this role. Null while the run is still going, and on older runs that predate document return" }, "match_reason": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Why this role was picked for this profile" }, "rank": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "description": "Position in the delivered set, 1 is the strongest match" }, "score": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "description": "Fit score out of 100, higher is better" }, "title": { "description": "Job title as advertised", "type": "string" }, "url": { "description": "Link to the live posting", "type": "string" } }, "required": [ "title", "company", "url" ], "type": "object" }, "type": "array" }, "message": { "description": "Progress in plain language while running, or what to do about the error", "type": "string" }, "plan": { "description": "Which product this run was: one_off or agent_quick", "type": "string" }, "run_id": { "type": "string" }, "started_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "status": { "description": "running, success, no_matches or failed", "type": "string" }, "target_jobs": { "description": "How many roles this run is meant to deliver", "type": "number" } }, "type": "object" } }, { "description": "The single best current role for a profile, with a tailored CV and cover letter, in minutes rather than an hour. $2.50 in USDC. Use this when you want one answer fast; use start_job_search when you want a shortlist of 7 to choose from. With no credit it returns an x402 PaymentRequired; retry the same call with the signed payment in _meta[\"x402/payment\"].", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "cv_base64": { "description": "The job seeker's existing CV as a file, base64 encoded. PDF, DOCX or plain text, up to 10MB. Use cv_json instead if you have the CV as data rather than a file", "type": "string" }, "cv_json": { "description": "The job seeker's existing CV as structured data, in the JSON Resume schema (jsonresume.org): basics, work, education, skills. Prefer this when you hold the CV as data — you do not need to render a file. Supply either cv_json or cv_base64", "properties": { "awards": { "items": { "properties": { "awarder": { "maxLength": 200, "type": "string" }, "date": { "maxLength": 40, "type": "string" }, "summary": { "maxLength": 1000, "type": "string" }, "title": { "maxLength": 200, "type": "string" } }, "type": "object" }, "maxItems": 30, "type": "array" }, "basics": { "properties": { "email": { "maxLength": 200, "type": "string" }, "label": { "maxLength": 200, "type": "string" }, "location": { "properties": { "address": { "maxLength": 200, "type": "string" }, "city": { "maxLength": 120, "type": "string" }, "countryCode": { "maxLength": 10, "type": "string" }, "postalCode": { "maxLength": 30, "type": "string" }, "region": { "maxLength": 120, "type": "string" } }, "type": "object" }, "name": { "maxLength": 120, "type": "string" }, "phone": { "maxLength": 60, "type": "string" }, "profiles": { "items": { "properties": { "network": { "maxLength": 80, "type": "string" }, "url": { "maxLength": 300, "type": "string" }, "username": { "maxLength": 120, "type": "string" } }, "type": "object" }, "maxItems": 20, "type": "array" }, "summary": { "maxLength": 4000, "type": "string" }, "url": { "maxLength": 300, "type": "string" } }, "type": "object" }, "certificates": { "items": { "properties": { "date": { "maxLength": 40, "type": "string" }, "issuer": { "maxLength": 200, "type": "string" }, "name": { "maxLength": 200, "type": "string" } }, "type": "object" }, "maxItems": 30, "type": "array" }, "education": { "items": { "properties": { "area": { "maxLength": 200, "type": "string" }, "courses": { "items": { "maxLength": 2000, "type": "string" }, "maxItems": 50, "type": "array" }, "endDate": { "maxLength": 40, "type": "string" }, "institution": { "maxLength": 200, "type": "string" }, "score": { "maxLength": 60, "type": "string" }, "startDate": { "maxLength": 40, "type": "string" }, "studyType": { "maxLength": 100, "type": "string" } }, "type": "object" }, "maxItems": 20, "type": "array" }, "interests": { "items": { "properties": { "keywords": { "items": { "maxLength": 80, "type": "string" }, "maxItems": 30, "type": "array" }, "name": { "maxLength": 120, "type": "string" } }, "type": "object" }, "maxItems": 20, "type": "array" }, "languages": { "items": { "properties": { "fluency": { "maxLength": 80, "type": "string" }, "language": { "maxLength": 80, "type": "string" } }, "type": "object" }, "maxItems": 20, "type": "array" }, "projects": { "items": { "properties": { "description": { "maxLength": 3000, "type": "string" }, "endDate": { "maxLength": 40, "type": "string" }, "highlights": { "items": { "maxLength": 2000, "type": "string" }, "maxItems": 50, "type": "array" }, "keywords": { "items": { "maxLength": 80, "type": "string" }, "maxItems": 50, "type": "array" }, "name": { "maxLength": 200, "type": "string" }, "startDate": { "maxLength": 40, "type": "string" }, "url": { "maxLength": 300, "type": "string" } }, "type": "object" }, "maxItems": 30, "type": "array" }, "publications": { "items": { "properties": { "name": { "maxLength": 300, "type": "string" }, "publisher": { "maxLength": 200, "type": "string" }, "releaseDate": { "maxLength": 40, "type": "string" }, "summary": { "maxLength": 1000, "type": "string" } }, "type": "object" }, "maxItems": 30, "type": "array" }, "skills": { "items": { "properties": { "keywords": { "items": { "maxLength": 80, "type": "string" }, "maxItems": 60, "type": "array" }, "level": { "maxLength": 60, "type": "string" }, "name": { "maxLength": 120, "type": "string" } }, "type": "object" }, "maxItems": 40, "type": "array" }, "volunteer": { "items": { "properties": { "company": { "maxLength": 200, "type": "string" }, "endDate": { "maxLength": 40, "type": "string" }, "highlights": { "items": { "maxLength": 2000, "type": "string" }, "maxItems": 50, "type": "array" }, "location": { "maxLength": 200, "type": "string" }, "name": { "maxLength": 200, "type": "string" }, "position": { "maxLength": 200, "type": "string" }, "startDate": { "maxLength": 40, "type": "string" }, "summary": { "maxLength": 3000, "type": "string" }, "url": { "maxLength": 300, "type": "string" } }, "type": "object" }, "maxItems": 20, "type": "array" }, "work": { "items": { "properties": { "company": { "maxLength": 200, "type": "string" }, "endDate": { "maxLength": 40, "type": "string" }, "highlights": { "items": { "maxLength": 2000, "type": "string" }, "maxItems": 50, "type": "array" }, "location": { "maxLength": 200, "type": "string" }, "name": { "maxLength": 200, "type": "string" }, "position": { "maxLength": 200, "type": "string" }, "startDate": { "maxLength": 40, "type": "string" }, "summary": { "maxLength": 3000, "type": "string" }, "url": { "maxLength": 300, "type": "string" } }, "type": "object" }, "maxItems": 40, "type": "array" } }, "type": "object" }, "cv_type": { "description": "Format of cv_base64: \"pdf\", \"docx\" or \"txt\". Ignored when cv_json is supplied", "type": "string" }, "profile": { "description": "Who the job seeker is and what they want. Every field shapes matching, so guessing is worse than asking", "properties": { "cfg_additional_context": { "default": "", "description": "Anything else that shapes the search and is not covered by the other fields: visa position, notice period, salary floor, companies to avoid", "type": "string" }, "cfg_advisory_open": { "default": "yes", "description": "Whether to include advisory, fractional, board and consulting roles alongside employment", "enum": [ "yes", "no" ], "type": "string" }, "cfg_email": { "description": "Must match the email the API key is registered to. Results are emailed here as well as returned by get_search_status", "type": "string" }, "cfg_industries": { "description": "Comma-separated sectors of interest, e.g. \"Music, Fintech, Healthcare\". Sectors only — job functions go in cfg_target_titles", "type": "string" }, "cfg_languages": { "default": [ "english" ], "description": "Working languages, lower case, e.g. [\"english\", \"german\"]. Roles requiring a language not listed here are dropped", "items": { "type": "string" }, "type": "array" }, "cfg_local_country": { "description": "ISO country name for where they live, e.g. \"Germany\". Required so local vs remote gating does not guess from a free-text city line", "type": "string" }, "cfg_location": { "description": "Where the job seeker actually lives, e.g. \"Limassol, Cyprus\". Used for commute and time zone reasoning, not as a filter on its own", "type": "string" }, "cfg_location_preference": { "description": "Prose description of acceptable locations, e.g. \"anywhere remote in Europe, or on-site in Berlin\". Free text; matching reads it as intent rather than parsing it", "type": "string" }, "cfg_name": { "description": "Full name of the job seeker, as it should appear on the tailored CV", "type": "string" }, "cfg_not_interested_in": { "default": "", "description": "Comma-separated industries or employer types to exclude, e.g. \"gambling, defence\". Applied as a hard filter", "type": "string" }, "cfg_seniority_level": { "description": "Seniority band as a single label or a contiguous range, e.g. \"Director\" or \"Manager – Head of Department\". Not a free-text mix of titles and industries", "type": "string" }, "cfg_share_with_employers": { "default": "no", "description": "Consent to share the profile with employers. \"no\" keeps the search entirely one-way", "enum": [ "yes", "no" ], "type": "string" }, "cfg_target_titles": { "description": "Comma-separated target job titles, e.g. \"Head of Production, COO, Product Director\"", "type": "string" }, "cfg_uk_onsite": { "default": "no", "description": "Also include on-site roles in the UK. Defaults to no; UK remote is a separate flag", "enum": [ "yes", "no" ], "type": "string" }, "cfg_want_remote_eu": { "description": "Include roles advertised as remote within the EU. Set independently of the other regions; several can be yes", "enum": [ "yes", "no" ], "type": "string" }, "cfg_want_remote_uk": { "description": "Include roles advertised as remote within the UK", "enum": [ "yes", "no" ], "type": "string" }, "cfg_want_usa": { "description": "Include roles in the USA. Say no unless the job seeker can legally work there or the role is genuinely remote-worldwide", "enum": [ "yes", "no" ], "type": "string" }, "cfg_work_style": { "description": "remote_only rejects anything requiring office attendance; mix means local or hybrid near the candidate plus remote in the chosen regions", "enum": [ "remote_only", "mix" ], "type": "string" } }, "required": [ "cfg_name", "cfg_email", "cfg_location", "cfg_location_preference", "cfg_work_style", "cfg_want_remote_eu", "cfg_want_remote_uk", "cfg_want_usa", "cfg_seniority_level", "cfg_target_titles", "cfg_local_country", "cfg_industries" ], "type": "object" } }, "required": [ "profile" ], "type": "object" }, "name": "quick_job_search", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "credits_remaining": { "description": "Credits left for this product after the spend", "type": "number" }, "error": { "description": "Present only on failure, e.g. \"unauthorized\" or \"payment_required\"", "type": "string" }, "message": { "description": "What happens next and roughly when, or what to do about the error", "type": "string" }, "run_id": { "description": "Pass this to get_search_status to poll", "type": "string" }, "status": { "description": "Run state at the moment of starting, normally \"running\"", "type": "string" } }, "type": "object" } }, { "description": "Create an agent identity and receive an API key. Registration is free and includes no free searches.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "email": { "description": "Email that will own the account and receive results. Must be the job seeker's own address, and must match cfg_email on every later search", "type": "string" }, "name": { "description": "Display name for the account. Optional; the profile name is used on documents regardless", "type": "string" } }, "required": [ "email" ], "type": "object" }, "name": "register_agent", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "api_key": { "description": "Bearer token for every later call. Shown once and never again", "type": "string" }, "email": { "description": "The address the account is registered to", "type": "string" }, "error": { "description": "Present only on failure, e.g. \"unauthorized\" or \"payment_required\"", "type": "string" }, "message": { "description": "What to do about the error, when one is present", "type": "string" }, "next": { "description": "Suggested next call", "type": "string" }, "note": { "type": "string" }, "owner_action_url": { "description": "Present only on account_owned_by_human. A person already owns this address, so no key can be issued here. Send them to this page to create one and paste it back", "type": "string" } }, "type": "object" } }, { "description": "Spend one credit to run a full search: 7 roles matched to the profile, each with a tailored CV and cover letter returned as markdown by get_search_status and emailed as PDFs. Requires an API key. With no credit left it returns an x402 PaymentRequired; retry the same call with the signed payment in _meta[\"x402/payment\"] to pay in USDC and run immediately.", "inputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "properties": { "cv_base64": { "description": "The job seeker's existing CV as a file, base64 encoded. PDF, DOCX or plain text, up to 10MB. Use cv_json instead if you have the CV as data rather than a file", "type": "string" }, "cv_json": { "description": "The job seeker's existing CV as structured data, in the JSON Resume schema (jsonresume.org): basics, work, education, skills. Prefer this when you hold the CV as data — you do not need to render a file. Supply either cv_json or cv_base64", "properties": { "awards": { "items": { "properties": { "awarder": { "maxLength": 200, "type": "string" }, "date": { "maxLength": 40, "type": "string" }, "summary": { "maxLength": 1000, "type": "string" }, "title": { "maxLength": 200, "type": "string" } }, "type": "object" }, "maxItems": 30, "type": "array" }, "basics": { "properties": { "email": { "maxLength": 200, "type": "string" }, "label": { "maxLength": 200, "type": "string" }, "location": { "properties": { "address": { "maxLength": 200, "type": "string" }, "city": { "maxLength": 120, "type": "string" }, "countryCode": { "maxLength": 10, "type": "string" }, "postalCode": { "maxLength": 30, "type": "string" }, "region": { "maxLength": 120, "type": "string" } }, "type": "object" }, "name": { "maxLength": 120, "type": "string" }, "phone": { "maxLength": 60, "type": "string" }, "profiles": { "items": { "properties": { "network": { "maxLength": 80, "type": "string" }, "url": { "maxLength": 300, "type": "string" }, "username": { "maxLength": 120, "type": "string" } }, "type": "object" }, "maxItems": 20, "type": "array" }, "summary": { "maxLength": 4000, "type": "string" }, "url": { "maxLength": 300, "type": "string" } }, "type": "object" }, "certificates": { "items": { "properties": { "date": { "maxLength": 40, "type": "string" }, "issuer": { "maxLength": 200, "type": "string" }, "name": { "maxLength": 200, "type": "string" } }, "type": "object" }, "maxItems": 30, "type": "array" }, "education": { "items": { "properties": { "area": { "maxLength": 200, "type": "string" }, "courses": { "items": { "maxLength": 2000, "type": "string" }, "maxItems": 50, "type": "array" }, "endDate": { "maxLength": 40, "type": "string" }, "institution": { "maxLength": 200, "type": "string" }, "score": { "maxLength": 60, "type": "string" }, "startDate": { "maxLength": 40, "type": "string" }, "studyType": { "maxLength": 100, "type": "string" } }, "type": "object" }, "maxItems": 20, "type": "array" }, "interests": { "items": { "properties": { "keywords": { "items": { "maxLength": 80, "type": "string" }, "maxItems": 30, "type": "array" }, "name": { "maxLength": 120, "type": "string" } }, "type": "object" }, "maxItems": 20, "type": "array" }, "languages": { "items": { "properties": { "fluency": { "maxLength": 80, "type": "string" }, "language": { "maxLength": 80, "type": "string" } }, "type": "object" }, "maxItems": 20, "type": "array" }, "projects": { "items": { "properties": { "description": { "maxLength": 3000, "type": "string" }, "endDate": { "maxLength": 40, "type": "string" }, "highlights": { "items": { "maxLength": 2000, "type": "string" }, "maxItems": 50, "type": "array" }, "keywords": { "items": { "maxLength": 80, "type": "string" }, "maxItems": 50, "type": "array" }, "name": { "maxLength": 200, "type": "string" }, "startDate": { "maxLength": 40, "type": "string" }, "url": { "maxLength": 300, "type": "string" } }, "type": "object" }, "maxItems": 30, "type": "array" }, "publications": { "items": { "properties": { "name": { "maxLength": 300, "type": "string" }, "publisher": { "maxLength": 200, "type": "string" }, "releaseDate": { "maxLength": 40, "type": "string" }, "summary": { "maxLength": 1000, "type": "string" } }, "type": "object" }, "maxItems": 30, "type": "array" }, "skills": { "items": { "properties": { "keywords": { "items": { "maxLength": 80, "type": "string" }, "maxItems": 60, "type": "array" }, "level": { "maxLength": 60, "type": "string" }, "name": { "maxLength": 120, "type": "string" } }, "type": "object" }, "maxItems": 40, "type": "array" }, "volunteer": { "items": { "properties": { "company": { "maxLength": 200, "type": "string" }, "endDate": { "maxLength": 40, "type": "string" }, "highlights": { "items": { "maxLength": 2000, "type": "string" }, "maxItems": 50, "type": "array" }, "location": { "maxLength": 200, "type": "string" }, "name": { "maxLength": 200, "type": "string" }, "position": { "maxLength": 200, "type": "string" }, "startDate": { "maxLength": 40, "type": "string" }, "summary": { "maxLength": 3000, "type": "string" }, "url": { "maxLength": 300, "type": "string" } }, "type": "object" }, "maxItems": 20, "type": "array" }, "work": { "items": { "properties": { "company": { "maxLength": 200, "type": "string" }, "endDate": { "maxLength": 40, "type": "string" }, "highlights": { "items": { "maxLength": 2000, "type": "string" }, "maxItems": 50, "type": "array" }, "location": { "maxLength": 200, "type": "string" }, "name": { "maxLength": 200, "type": "string" }, "position": { "maxLength": 200, "type": "string" }, "startDate": { "maxLength": 40, "type": "string" }, "summary": { "maxLength": 3000, "type": "string" }, "url": { "maxLength": 300, "type": "string" } }, "type": "object" }, "maxItems": 40, "type": "array" } }, "type": "object" }, "cv_type": { "description": "Format of cv_base64: \"pdf\", \"docx\" or \"txt\". Ignored when cv_json is supplied", "type": "string" }, "profile": { "description": "Who the job seeker is and what they want. Every field shapes matching, so guessing is worse than asking", "properties": { "cfg_additional_context": { "default": "", "description": "Anything else that shapes the search and is not covered by the other fields: visa position, notice period, salary floor, companies to avoid", "type": "string" }, "cfg_advisory_open": { "default": "yes", "description": "Whether to include advisory, fractional, board and consulting roles alongside employment", "enum": [ "yes", "no" ], "type": "string" }, "cfg_email": { "description": "Must match the email the API key is registered to. Results are emailed here as well as returned by get_search_status", "type": "string" }, "cfg_industries": { "description": "Comma-separated sectors of interest, e.g. \"Music, Fintech, Healthcare\". Sectors only — job functions go in cfg_target_titles", "type": "string" }, "cfg_languages": { "default": [ "english" ], "description": "Working languages, lower case, e.g. [\"english\", \"german\"]. Roles requiring a language not listed here are dropped", "items": { "type": "string" }, "type": "array" }, "cfg_local_country": { "description": "ISO country name for where they live, e.g. \"Germany\". Required so local vs remote gating does not guess from a free-text city line", "type": "string" }, "cfg_location": { "description": "Where the job seeker actually lives, e.g. \"Limassol, Cyprus\". Used for commute and time zone reasoning, not as a filter on its own", "type": "string" }, "cfg_location_preference": { "description": "Prose description of acceptable locations, e.g. \"anywhere remote in Europe, or on-site in Berlin\". Free text; matching reads it as intent rather than parsing it", "type": "string" }, "cfg_name": { "description": "Full name of the job seeker, as it should appear on the tailored CV", "type": "string" }, "cfg_not_interested_in": { "default": "", "description": "Comma-separated industries or employer types to exclude, e.g. \"gambling, defence\". Applied as a hard filter", "type": "string" }, "cfg_seniority_level": { "description": "Seniority band as a single label or a contiguous range, e.g. \"Director\" or \"Manager – Head of Department\". Not a free-text mix of titles and industries", "type": "string" }, "cfg_share_with_employers": { "default": "no", "description": "Consent to share the profile with employers. \"no\" keeps the search entirely one-way", "enum": [ "yes", "no" ], "type": "string" }, "cfg_target_titles": { "description": "Comma-separated target job titles, e.g. \"Head of Production, COO, Product Director\"", "type": "string" }, "cfg_uk_onsite": { "default": "no", "description": "Also include on-site roles in the UK. Defaults to no; UK remote is a separate flag", "enum": [ "yes", "no" ], "type": "string" }, "cfg_want_remote_eu": { "description": "Include roles advertised as remote within the EU. Set independently of the other regions; several can be yes", "enum": [ "yes", "no" ], "type": "string" }, "cfg_want_remote_uk": { "description": "Include roles advertised as remote within the UK", "enum": [ "yes", "no" ], "type": "string" }, "cfg_want_usa": { "description": "Include roles in the USA. Say no unless the job seeker can legally work there or the role is genuinely remote-worldwide", "enum": [ "yes", "no" ], "type": "string" }, "cfg_work_style": { "description": "remote_only rejects anything requiring office attendance; mix means local or hybrid near the candidate plus remote in the chosen regions", "enum": [ "remote_only", "mix" ], "type": "string" } }, "required": [ "cfg_name", "cfg_email", "cfg_location", "cfg_location_preference", "cfg_work_style", "cfg_want_remote_eu", "cfg_want_remote_uk", "cfg_want_usa", "cfg_seniority_level", "cfg_target_titles", "cfg_local_country", "cfg_industries" ], "type": "object" } }, "required": [ "profile" ], "type": "object" }, "name": "start_job_search", "outputSchema": { "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": false, "properties": { "credits_remaining": { "description": "Credits left for this product after the spend", "type": "number" }, "error": { "description": "Present only on failure, e.g. \"unauthorized\" or \"payment_required\"", "type": "string" }, "message": { "description": "What happens next and roughly when, or what to do about the error", "type": "string" }, "run_id": { "description": "Pass this to get_search_status to poll", "type": "string" }, "status": { "description": "Run state at the moment of starting, normally \"running\"", "type": "string" } }, "type": "object" } } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:5bc8404cb5cc98c292ff3d570fb8c1805ab4095e688e13a5beff34d574d32c83 | sha256sum