{"openapi":"3.1.0","info":{"title":"Simpler Grants (BYOK) API","version":"0.1.0","description":"Simpler Grants (BYOK) lets an AI assistant read your own Simpler Grants data through the Simpler Grants API with a key you supply (Simpler.Grants.gov API key). Read-only: 6 tools (search_opportunities, search_opportunities_by_agency, search_opportunities_by_assistance_listing, search_opportunities_closing_after, get_opportunity, search_agencies). The BYOK key travels with each request, is used...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-simpler-grants.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-simpler-grants/docs"},"termsOfService":"https://connectorbay.com/byok-simpler-grants/terms"},"servers":[{"url":"https://byok-simpler-grants.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-simpler-grants/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_opportunities":{"post":{"operationId":"search_opportunities","summary":"Search US federal grant opportunities by keyword and status, with agency, dates and award ceiling and floor. Key limits:","description":"Search US federal grant opportunities by keyword and status, with agency, dates and award ceiling and floor. Key limits: 60 requests a minute. Use for \"Which federal grants about youth literacy are open now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Keywords searched in titles and descriptions (1 to 100 characters). Leave out to list all.","title":"Query"},"opportunity_status":{"anyOf":[{"enum":["forecasted","posted","closed","archived"],"type":"string"},{"type":"null"}],"default":"posted","description":"Opportunity status: forecasted, posted, closed or archived.","title":"Opportunity Status"},"order_by":{"anyOf":[{"enum":["relevancy","post_date","close_date","opportunity_title","agency_name","award_floor","award_ceiling"],"type":"string"},{"type":"null"}],"default":"post_date","description":"Sort field: relevancy, post_date, close_date, opportunity_title, agency_name, award_floor or award_ceiling.","title":"Order By"},"sort_direction":{"anyOf":[{"enum":["ascending","descending"],"type":"string"},{"type":"null"}],"default":"descending","description":"ascending or descending.","title":"Sort Direction"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return (1 to 100).","title":"Page Size"},"page_offset":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number to fetch, starting at 1.","title":"Page Offset"}},"title":"search_opportunitiesArguments","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_opportunities_by_agency":{"post":{"operationId":"search_opportunities_by_agency","summary":"List grant opportunities from one funding agency by agency code, for example 'HHS-ACF' or 'NSF'. Use for \"What grants do","description":"List grant opportunities from one funding agency by agency code, for example 'HHS-ACF' or 'NSF'. Use for \"What grants does the National Science Foundation have posted\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"agency_code":{"description":"Agency code as returned by search_agencies, for example 'NSF'.","maxLength":40,"title":"Agency Code","type":"string"},"opportunity_status":{"anyOf":[{"enum":["forecasted","posted","closed","archived"],"type":"string"},{"type":"null"}],"default":"posted","description":"Opportunity status: forecasted, posted, closed or archived.","title":"Opportunity Status"},"order_by":{"anyOf":[{"enum":["relevancy","post_date","close_date","opportunity_title","agency_name","award_floor","award_ceiling"],"type":"string"},{"type":"null"}],"default":"post_date","description":"Sort field: relevancy, post_date, close_date, opportunity_title, agency_name, award_floor or award_ceiling.","title":"Order By"},"sort_direction":{"anyOf":[{"enum":["ascending","descending"],"type":"string"},{"type":"null"}],"default":"descending","description":"ascending or descending.","title":"Sort Direction"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return (1 to 100).","title":"Page Size"},"page_offset":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number to fetch, starting at 1.","title":"Page Offset"}},"required":["agency_code"],"title":"search_opportunities_by_agencyArguments","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_opportunities_by_assistance_listing":{"post":{"operationId":"search_opportunities_by_assistance_listing","summary":"List grant opportunities under one Assistance Listing (CFDA) number such as 93.569. Use for \"What grants are listed unde","description":"List grant opportunities under one Assistance Listing (CFDA) number such as 93.569. Use for \"What grants are listed under assistance listing 93.569\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"assistance_listing_number":{"description":"Assistance listing number in the form 'NN.NNN', for example '93.569'.","maxLength":8,"title":"Assistance Listing Number","type":"string"},"opportunity_status":{"anyOf":[{"enum":["forecasted","posted","closed","archived"],"type":"string"},{"type":"null"}],"default":"posted","description":"Opportunity status: forecasted, posted, closed or archived.","title":"Opportunity Status"},"order_by":{"anyOf":[{"enum":["relevancy","post_date","close_date","opportunity_title","agency_name","award_floor","award_ceiling"],"type":"string"},{"type":"null"}],"default":"post_date","description":"Sort field: relevancy, post_date, close_date, opportunity_title, agency_name, award_floor or award_ceiling.","title":"Order By"},"sort_direction":{"anyOf":[{"enum":["ascending","descending"],"type":"string"},{"type":"null"}],"default":"descending","description":"ascending or descending.","title":"Sort Direction"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return (1 to 100).","title":"Page Size"},"page_offset":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number to fetch, starting at 1.","title":"Page Offset"}},"required":["assistance_listing_number"],"title":"search_opportunities_by_assistance_listingArguments","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_opportunities_closing_after":{"post":{"operationId":"search_opportunities_closing_after","summary":"List grant opportunities whose application deadline falls on or after a date (and optionally before another date). Use f","description":"List grant opportunities whose application deadline falls on or after a date (and optionally before another date). Use for \"Which posted grants close between 1 December 2026 and 31 January 2027\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"closing_from":{"description":"Earliest close date, YYYY-MM-DD.","maxLength":10,"title":"Closing From","type":"string"},"closing_to":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Latest close date, YYYY-MM-DD. Leave out for no upper limit.","title":"Closing To"},"opportunity_status":{"anyOf":[{"enum":["forecasted","posted","closed","archived"],"type":"string"},{"type":"null"}],"default":"posted","description":"Opportunity status: forecasted, posted, closed or archived.","title":"Opportunity Status"},"order_by":{"anyOf":[{"enum":["relevancy","post_date","close_date","opportunity_title","agency_name","award_floor","award_ceiling"],"type":"string"},{"type":"null"}],"default":"post_date","description":"Sort field: relevancy, post_date, close_date, opportunity_title, agency_name, award_floor or award_ceiling.","title":"Order By"},"sort_direction":{"anyOf":[{"enum":["ascending","descending"],"type":"string"},{"type":"null"}],"default":"descending","description":"ascending or descending.","title":"Sort Direction"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many results to return (1 to 100).","title":"Page Size"},"page_offset":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number to fetch, starting at 1.","title":"Page Offset"}},"required":["closing_from"],"title":"search_opportunities_closing_afterArguments","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_opportunity":{"post":{"operationId":"get_opportunity","summary":"Get one grant opportunity by id: title, number, agency, status, key dates, award amounts, eligibility and funding catego","description":"Get one grant opportunity by id: title, number, agency, status, key dates, award amounts, eligibility and funding categories. Use for \"Give me the details of this federal grant opportunity\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"opportunity_id":{"description":"Opportunity id as returned by the search tools.","maxLength":200,"title":"Opportunity Id","type":"string"}},"required":["opportunity_id"],"title":"get_opportunityArguments","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_agencies":{"post":{"operationId":"search_agencies","summary":"Search funding agencies by name or code, returning agency code, name, parent agency and which opportunity statuses they ","description":"Search funding agencies by name or code, returning agency code, name, parent agency and which opportunity statuses they have. Use for \"Which agencies fund grants through Simpler.Grants.gov\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Agency name or code to search for (1 to 100 characters). Leave out to list all.","title":"Query"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":25,"description":"How many agencies to return (1 to 100).","title":"Page Size"},"page_offset":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number to fetch, starting at 1.","title":"Page Offset"}},"title":"search_agenciesArguments","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}}}}