{"openapi":"3.1.0","info":{"title":"Marketplace API (BYOK) API","version":"0.1.0","description":"Marketplace API (BYOK) lets an AI assistant read your own Marketplace API data through the Marketplace API API with a key you supply (Marketplace API key). Read-only: 10 tools (get_market_years, list_counties_by_zip, list_issuers, get_issuer, search_plans, get_plan, get_lowest_cost_silver_plan, get_second_lowest_cost_silver_plan, search_drugs, get_poverty_level_percent). The BYOK key travels with...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-cmsmarketplace.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-cmsmarketplace/docs"},"termsOfService":"https://connectorbay.com/byok-cmsmarketplace/terms"},"servers":[{"url":"https://byok-cmsmarketplace.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-cmsmarketplace/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_market_years":{"post":{"operationId":"get_market_years","summary":"List the market years the Marketplace API supports and which one is current. Use for \"Which plan years does the Marketpl","description":"List the market years the Marketplace API supports and which one is current. Use for \"Which plan years does the Marketplace API cover\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_market_yearsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_counties_by_zip":{"post":{"operationId":"list_counties_by_zip","summary":"Find the counties (name, state and 5-digit FIPS code) that a ZIP code or ZIP prefix belongs to; the FIPS code is needed ","description":"Find the counties (name, state and 5-digit FIPS code) that a ZIP code or ZIP prefix belongs to; the FIPS code is needed for plan searches. Use for \"Which county is ZIP code 27360 in\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"zipcode":{"description":"Five-digit ZIP code, or a prefix of one to four digits.","maxLength":5,"title":"Zipcode","type":"string"},"year":{"anyOf":[{"maximum":2100,"minimum":2014,"type":"integer"},{"type":"null"}],"default":null,"description":"Four-digit market year, for example 2026 (the current year when omitted).","title":"Year"}},"required":["zipcode"],"title":"list_counties_by_zipArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_issuers":{"post":{"operationId":"list_issuers","summary":"List health insurance issuers (name, 5-digit issuer id, state, toll-free number) on the exchange, optionally for one sta","description":"List health insurance issuers (name, 5-digit issuer id, state, toll-free number) on the exchange, optionally for one state. Use for \"Which health insurers sell plans on the exchange in North Carolina\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"state":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Two-letter USPS state abbreviation, uppercase, to restrict to one state.","title":"State"},"year":{"anyOf":[{"maximum":2100,"minimum":2014,"type":"integer"},{"type":"null"}],"default":null,"description":"Four-digit market year, for example 2026 (the current year when omitted).","title":"Year"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many issuers to return.","title":"Limit"},"offset":{"anyOf":[{"maximum":100000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of issuers to skip, for paging.","title":"Offset"}},"title":"list_issuersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_issuer":{"post":{"operationId":"get_issuer","summary":"Get one issuer by its 5-digit HIOS id: name, state, customer service numbers and plan URLs. Use for \"Show details of exc","description":"Get one issuer by its 5-digit HIOS id: name, state, customer service numbers and plan URLs. Use for \"Show details of exchange issuer 45127\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"issuer_id":{"description":"Five-digit HIOS issuer id, for example 45127.","maxLength":5,"title":"Issuer Id","type":"string"},"year":{"anyOf":[{"maximum":2100,"minimum":2014,"type":"integer"},{"type":"null"}],"default":null,"description":"Four-digit market year, for example 2026 (the current year when omitted).","title":"Year"}},"required":["issuer_id"],"title":"get_issuerArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/search_plans":{"post":{"operationId":"search_plans","summary":"Quote exchange plans for a single applicant: monthly premium (with and without subsidy), metal level, plan type and issu","description":"Quote exchange plans for a single applicant: monthly premium (with and without subsidy), metal level, plan type and issuer, sorted as requested. Returns 10 plans per page. Use for \"What Silver plans are available for a 27-year-old earning 52000 in ZIP 27360\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"age":{"description":"Age of the single applicant in years.","maximum":120,"minimum":0,"title":"Age","type":"integer"},"zipcode":{"description":"Five-digit ZIP code of the household.","maxLength":5,"title":"Zipcode","type":"string"},"county_fips":{"description":"Five-digit county FIPS code, from the county lookup by ZIP.","maxLength":5,"title":"County Fips","type":"string"},"state":{"description":"Two-letter USPS state abbreviation, uppercase.","maxLength":2,"title":"State","type":"string"},"uses_tobacco":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True if the applicant uses tobacco.","title":"Uses Tobacco"},"income":{"anyOf":[{"maximum":100000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Household yearly income in US dollars.","title":"Income"},"aptc_eligible":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to apply premium tax credit estimates for the applicant.","title":"Aptc Eligible"},"market":{"anyOf":[{"enum":["Individual","SHOP","Any"],"type":"string"},{"type":"null"}],"default":"Individual","description":"Which market: Individual, SHOP or Any.","title":"Market"},"sort":{"anyOf":[{"enum":["premium","deductible","oopc","total_costs","quality_rating"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort plans by premium, deductible, oopc, total_costs or quality_rating.","title":"Sort"},"order":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Sort direction: asc or desc.","title":"Order"},"offset":{"anyOf":[{"maximum":10000,"minimum":0,"type":"integer"},{"type":"null"}],"default":0,"description":"Number of plans to skip, for paging in steps of 10.","title":"Offset"},"year":{"anyOf":[{"maximum":2100,"minimum":2014,"type":"integer"},{"type":"null"}],"default":null,"description":"Four-digit market year, for example 2026.","title":"Year"}},"required":["age","zipcode","county_fips","state"],"title":"search_plansArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_plan":{"post":{"operationId":"get_plan","summary":"Get one plan by its 14-character HIOS id: name, issuer, metal level, type, state and links to its benefits, brochure, fo","description":"Get one plan by its 14-character HIOS id: name, issuer, metal level, type, state and links to its benefits, brochure, formulary and network. Use for \"Show plan 45127PA0020020 from the exchange\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"plan_id":{"description":"Fourteen-character HIOS plan id, for example 45127PA0020020.","maxLength":14,"title":"Plan Id","type":"string"},"year":{"anyOf":[{"maximum":2100,"minimum":2014,"type":"integer"},{"type":"null"}],"default":null,"description":"Four-digit market year, for example 2026 (the current year when omitted).","title":"Year"}},"required":["plan_id"],"title":"get_planArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_lowest_cost_silver_plan":{"post":{"operationId":"get_lowest_cost_silver_plan","summary":"Find the lowest cost Silver plan for a single applicant in a county: plan id, name and monthly premium. Use for \"What is","description":"Find the lowest cost Silver plan for a single applicant in a county: plan id, name and monthly premium. Use for \"What is the cheapest Silver plan for a 40-year-old in county 37057, North Carolina\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"age":{"description":"Age of the single applicant in years.","maximum":120,"minimum":0,"title":"Age","type":"integer"},"zipcode":{"description":"Five-digit ZIP code of the household.","maxLength":5,"title":"Zipcode","type":"string"},"county_fips":{"description":"Five-digit county FIPS code, from the county lookup by ZIP.","maxLength":5,"title":"County Fips","type":"string"},"state":{"description":"Two-letter USPS state abbreviation, uppercase.","maxLength":2,"title":"State","type":"string"},"uses_tobacco":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True if the applicant uses tobacco.","title":"Uses Tobacco"},"income":{"anyOf":[{"maximum":100000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Household yearly income in US dollars.","title":"Income"},"year":{"anyOf":[{"maximum":2100,"minimum":2014,"type":"integer"},{"type":"null"}],"default":null,"description":"Four-digit market year, for example 2026.","title":"Year"}},"required":["age","zipcode","county_fips","state"],"title":"get_lowest_cost_silver_planArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_second_lowest_cost_silver_plan":{"post":{"operationId":"get_second_lowest_cost_silver_plan","summary":"Find the second lowest cost Silver plan (the benchmark for subsidies) for a single applicant in a county. Use for \"What ","description":"Find the second lowest cost Silver plan (the benchmark for subsidies) for a single applicant in a county. Use for \"What is the benchmark Silver plan premium for a 40-year-old in county 37057\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"age":{"description":"Age of the single applicant in years.","maximum":120,"minimum":0,"title":"Age","type":"integer"},"zipcode":{"description":"Five-digit ZIP code of the household.","maxLength":5,"title":"Zipcode","type":"string"},"county_fips":{"description":"Five-digit county FIPS code, from the county lookup by ZIP.","maxLength":5,"title":"County Fips","type":"string"},"state":{"description":"Two-letter USPS state abbreviation, uppercase.","maxLength":2,"title":"State","type":"string"},"uses_tobacco":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True if the applicant uses tobacco.","title":"Uses Tobacco"},"income":{"anyOf":[{"maximum":100000000,"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Household yearly income in US dollars.","title":"Income"},"year":{"anyOf":[{"maximum":2100,"minimum":2014,"type":"integer"},{"type":"null"}],"default":null,"description":"Four-digit market year, for example 2026.","title":"Year"}},"required":["age","zipcode","county_fips","state"],"title":"get_second_lowest_cost_silver_planArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/search_drugs":{"post":{"operationId":"search_drugs","summary":"Search prescription drugs by name; returns drug ids, names, strengths and routes, which can be used to check plan formul","description":"Search prescription drugs by name; returns drug ids, names, strengths and routes, which can be used to check plan formularies. Use for \"Find the drug entry for metformin\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"q":{"description":"Drug name to search for, for example metformin.","maxLength":100,"title":"Q","type":"string"},"year":{"anyOf":[{"maximum":2100,"minimum":2014,"type":"integer"},{"type":"null"}],"default":null,"description":"Four-digit market year, for example 2026 (the current year when omitted).","title":"Year"}},"required":["q"],"title":"search_drugsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_poverty_level_percent":{"post":{"operationId":"get_poverty_level_percent","summary":"Compute a household's income as a percentage of the federal poverty level for a state, year and household size. Use for ","description":"Compute a household's income as a percentage of the federal poverty level for a state, year and household size. Use for \"What percent of the federal poverty level is 52000 for a household of 2 in NC in 2026\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"year":{"description":"Four-digit market year.","maximum":2100,"minimum":2014,"title":"Year","type":"integer"},"state":{"description":"Two-letter USPS state abbreviation, uppercase.","maxLength":2,"title":"State","type":"string"},"size":{"description":"Number of people in the household.","maximum":20,"minimum":1,"title":"Size","type":"integer"},"income":{"description":"Household yearly income in US dollars.","maximum":100000000,"minimum":0,"title":"Income","type":"integer"}},"required":["year","state","size","income"],"title":"get_poverty_level_percentArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}