{"openapi":"3.1.0","info":{"title":"Ideon (BYOK) API","version":"0.1.0","description":"Ideon (BYOK) lets an AI assistant read your own Ideon data through the Ideon API with a key you supply (Ideon API key). Read-only: 6 tools (search_carriers, search_specialties, search_formularies, search_zip_counties, get_zip_county, get_state_network_sizes). The BYOK key travels with each request, is used for that one call only and is never stored, logged or cached; it is only ever sent to...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-ideon.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-ideon/docs"},"termsOfService":"https://connectorbay.com/byok-ideon/terms"},"servers":[{"url":"https://byok-ideon.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-ideon/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/search_carriers":{"post":{"operationId":"search_carriers","summary":"Search Ideon's health-insurance carrier catalog by name, state, line of coverage (medical, dental, vision, medicaid, med","description":"Search Ideon's health-insurance carrier catalog by name, state, line of coverage (medical, dental, vision, medicaid, medicare_advantage) or market. Returns carrier ids used by other Ideon searches. At most 25 per page. Use for \"Which carriers sell individual medical plans in Texas\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search_term":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Full or partial carrier name, for example 'Aetna'.","title":"Search Term"},"state_code":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Two-letter state code where the carrier has plans, for example 'TX'.","title":"State Code"},"line_of_coverage":{"anyOf":[{"enum":["medical","dental","vision","medicaid","medicare_advantage"],"type":"string"},{"type":"null"}],"default":null,"description":"Line of coverage the carrier has plans in.","title":"Line Of Coverage"},"market":{"anyOf":[{"enum":["individual","small_group","level_funded"],"type":"string"},{"type":"null"}],"default":null,"description":"Market the carrier has plans for.","title":"Market"},"carrier_id":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Ideon carrier id to look up one carrier.","title":"Carrier Id"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":25,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Results per page (1 to 25).","title":"Per Page"}},"title":"search_carriersArguments","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_specialties":{"post":{"operationId":"search_specialties","summary":"Search Ideon's catalog of provider specialties (about 880) by name or CMS taxonomy code. Returns specialty ids, codes, c","description":"Search Ideon's catalog of provider specialties (about 880) by name or CMS taxonomy code. Returns specialty ids, codes, categories and sub-specialties. Use for \"What is the taxonomy code for pediatric cardiology in Ideon\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search_term":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Full or partial specialty or sub-specialty name, for example 'cardiology'.","title":"Search Term"},"code":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"CMS Healthcare Provider Taxonomy code, for example '207LC0200X'.","title":"Code"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":25,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"Results per page (1 to 25).","title":"Per Page"}},"title":"search_specialtiesArguments","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_formularies":{"post":{"operationId":"search_formularies","summary":"Search prescription-drug formularies by name or by the RX BIN, group and PCN numbers printed on an insurance card. Retur","description":"Search prescription-drug formularies by name or by the RX BIN, group and PCN numbers printed on an insurance card. Returns formulary ids and names. Use for \"Which formulary matches RX BIN 610014\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search_term":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Full or partial formulary name, for example 'Aetna 3 Tier'.","title":"Search Term"},"rx_bin":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"RX BIN number from an insurance card.","title":"Rx Bin"},"rx_group":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"RX group string from an insurance card.","title":"Rx Group"},"rx_pcn":{"anyOf":[{"maxLength":20,"type":"string"},{"type":"null"}],"default":null,"description":"RX PCN number from an insurance card.","title":"Rx Pcn"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":20,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Results per page (1 to 20).","title":"Per Page"}},"title":"search_formulariesArguments","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_zip_counties":{"post":{"operationId":"search_zip_counties","summary":"Find the counties, states and ZIP codes behind a ZIP prefix, using the ZIP and FIPS data that Ideon's rating-area and se","description":"Find the counties, states and ZIP codes behind a ZIP prefix, using the ZIP and FIPS data that Ideon's rating-area and service-area logic relies on. Use for \"Which counties does ZIP prefix 100 cover for insurance rating areas\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"zip_prefix":{"description":"Partial five-digit ZIP code, for example '100'.","maxLength":5,"title":"Zip Prefix","type":"string"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Results per page (1 to 50).","title":"Per Page"}},"required":["zip_prefix"],"title":"search_zip_countiesArguments","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_zip_county":{"post":{"operationId":"get_zip_county","summary":"Get the ZIP-to-county record with the given Ideon ZipCounty id, with its county, state and ZIP code. A ZIP that spans se","description":"Get the ZIP-to-county record with the given Ideon ZipCounty id, with its county, state and ZIP code. A ZIP that spans several counties has one record per county. Use for \"Show the ZIP-county mapping with id 1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Ideon ZipCounty id (from search_zip_counties), an integer.","title":"Id","type":"integer"}},"required":["id"],"title":"get_zip_countyArguments","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_state_network_sizes":{"post":{"operationId":"get_state_network_sizes","summary":"Get provider counts per insurance network for one state: how many providers are in each network there. Use for \"How larg","description":"Get provider counts per insurance network for one state: how many providers are in each network there. Use for \"How large are the insurance networks in California\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"state_id":{"description":"Two-letter state code, for example 'CA'.","maxLength":2,"title":"State Id","type":"string"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"per_page":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":50,"description":"Results per page (1 to 50).","title":"Per Page"}},"required":["state_id"],"title":"get_state_network_sizesArguments","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}}}}