{"openapi":"3.1.0","info":{"title":"MX Institutions (BYOK) API","version":"0.1.0","description":"MX Institutions (BYOK) lets an AI assistant read your own MX Institutions data through the MX Institutions API with a key you supply (MX client id). Read-only: 8 tools (list_institutions, get_institution, list_institution_credentials, list_favorite_institutions, list_default_categories, get_default_category, list_merchants, get_merchant). The BYOK key travels with each request, is used for that...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-mx-institutions.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-mx-institutions/docs"},"termsOfService":"https://connectorbay.com/byok-mx-institutions/terms"},"servers":[{"url":"https://byok-mx-institutions.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-mx-institutions/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/list_institutions":{"post":{"operationId":"list_institutions","summary":"Search the MX directory of banks and credit unions by name with the features each supports (account verification, transa","description":"Search the MX directory of banks and credit unions by name with the features each supports (account verification, transaction history, OAuth, statements, tax documents) and country. Use for \"Which MX institutions with mxbank in the name support account verification\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only institutions whose name contains this text, for example mxbank.","title":"Name"},"supports_account_verification":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Set true to list only institutions that support account verification.","title":"Supports Account Verification"},"supports_transaction_history":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Set true to list only institutions that support transaction history.","title":"Supports Transaction History"},"supports_oauth":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Set true to list only institutions that support OAuth connections.","title":"Supports Oauth"},"page":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number to return, starting at 1.","title":"Page"},"records_per_page":{"anyOf":[{"maximum":1000,"minimum":10,"type":"integer"},{"type":"null"}],"default":25,"description":"Records per page (10 to 1000; the provider uses 25 if the value is out of range).","title":"Records Per Page"}},"title":"list_institutionsArguments","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_institution":{"post":{"operationId":"get_institution","summary":"Get one institution from the MX directory by its code with the features it supports and its country. Use for \"What does ","description":"Get one institution from the MX directory by its code with the features it supports and its country. Use for \"What does MX support for the institution with code mxbank\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"institution_code":{"description":"Institution code, for example mxbank (from list_institutions).","maxLength":200,"title":"Institution Code","type":"string"}},"required":["institution_code"],"title":"get_institutionArguments","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_institution_credentials":{"post":{"operationId":"list_institution_credentials","summary":"List the sign-in fields (labels and field types only, no values) MX asks for when connecting to one institution. Use for","description":"List the sign-in fields (labels and field types only, no values) MX asks for when connecting to one institution. Use for \"Which sign-in fields does MX ask for at the institution with code mxbank\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"institution_code":{"description":"Institution code, for example mxbank (from list_institutions).","maxLength":200,"title":"Institution Code","type":"string"},"page":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number to return, starting at 1.","title":"Page"},"records_per_page":{"anyOf":[{"maximum":1000,"minimum":10,"type":"integer"},{"type":"null"}],"default":25,"description":"Records per page (10 to 1000; the provider uses 25 if the value is out of range).","title":"Records Per Page"}},"required":["institution_code"],"title":"list_institution_credentialsArguments","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_favorite_institutions":{"post":{"operationId":"list_favorite_institutions","summary":"List the institutions your MX account has marked as favorites, most popular first, with supported features. Use for \"Whi","description":"List the institutions your MX account has marked as favorites, most popular first, with supported features. Use for \"Which institutions are my MX favorites\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"iso_country_code":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Two-letter country code to narrow the list, for example US.","title":"Iso Country Code"},"page":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number to return, starting at 1.","title":"Page"},"records_per_page":{"anyOf":[{"maximum":1000,"minimum":10,"type":"integer"},{"type":"null"}],"default":25,"description":"Records per page (10 to 1000; the provider uses 25 if the value is out of range).","title":"Records Per Page"}},"title":"list_favorite_institutionsArguments","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_default_categories":{"post":{"operationId":"list_default_categories","summary":"List the default MX spending and income categories and subcategories with parent links. Use for \"What default transactio","description":"List the default MX spending and income categories and subcategories with parent links. Use for \"What default transaction categories does MX offer\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"page":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number to return, starting at 1.","title":"Page"},"records_per_page":{"anyOf":[{"maximum":1000,"minimum":10,"type":"integer"},{"type":"null"}],"default":25,"description":"Records per page (10 to 1000; the provider uses 25 if the value is out of range).","title":"Records Per Page"}},"title":"list_default_categoriesArguments","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_default_category":{"post":{"operationId":"get_default_category","summary":"Get one default MX category by guid with its name, parent and whether it counts as income. Use for \"What is the MX defau","description":"Get one default MX category by guid with its name, parent and whether it counts as income. Use for \"What is the MX default category CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"category_guid":{"description":"Category guid starting with CAT- (from list_default_categories).","maxLength":200,"title":"Category Guid","type":"string"}},"required":["category_guid"],"title":"get_default_categoryArguments","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_merchants":{"post":{"operationId":"list_merchants","summary":"Search the MX merchant directory by name, with logo and website. Use for \"Which MX merchants have Comcast in the name\".","description":"Search the MX merchant directory by name, with logo and website. Use for \"Which MX merchants have Comcast in the name\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only merchants whose name contains this text.","title":"Name"},"page":{"anyOf":[{"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number to return, starting at 1.","title":"Page"},"records_per_page":{"anyOf":[{"maximum":1000,"minimum":10,"type":"integer"},{"type":"null"}],"default":25,"description":"Records per page (10 to 1000; the provider uses 25 if the value is out of range).","title":"Records Per Page"}},"title":"list_merchantsArguments","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_merchant":{"post":{"operationId":"get_merchant","summary":"Get one merchant from the MX directory by guid with its name, logo and website. Use for \"What is the MX merchant MCH-7ed","description":"Get one merchant from the MX directory by guid with its name, logo and website. Use for \"What is the MX merchant MCH-7ed79542-884d-2b1b-dd74-501c5cc9d25b\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"merchant_guid":{"description":"Merchant guid starting with MCH- (from list_merchants).","maxLength":200,"title":"Merchant Guid","type":"string"}},"required":["merchant_guid"],"title":"get_merchantArguments","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}}}}