{"openapi":"3.1.0","info":{"title":"Treasury Prime (BYOK) API","version":"0.1.0","description":"Treasury Prime (BYOK) lets an AI assistant read your own Treasury Prime data through the Treasury Prime API with a key you supply (API key ID (the username of the key pair)). Read-only: 10 tools (list_accounts, get_account, list_daily_balances, list_account_transactions, list_transactions, list_ach_transfers, list_wire_transfers, list_book_transfers, list_incoming_ach, list_incoming_wires). The...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-treasuryprime.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-treasuryprime/docs"},"termsOfService":"https://connectorbay.com/byok-treasuryprime/terms"},"servers":[{"url":"https://byok-treasuryprime.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-treasuryprime/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_accounts":{"post":{"operationId":"list_accounts","summary":"List bank accounts with name, nickname, type, status, currency, bank and organization; account numbers are left out. Use","description":"List bank accounts with name, nickname, type, status, currency, bank and organization; account numbers are left out. Use for \"What bank accounts do I have in Treasury Prime\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_type":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only accounts of this type: checking or savings.","title":"Account Type"},"status":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only accounts with this status: open, closed or close_pending.","title":"Status"},"org_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only accounts of this organization id.","title":"Org Id"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many objects to return (1 or more; the provider default is 100).","title":"Page Size"},"page_cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: the id of the last object of the previous page.","title":"Page Cursor"},"from_date":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only objects created on or after this date, YYYY-MM-DD.","title":"From Date"},"to_date":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only objects created before this date, YYYY-MM-DD.","title":"To Date"}},"title":"list_accountsArguments","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_account":{"post":{"operationId":"get_account","summary":"Get one bank account by id with its current and available balance (as decimal strings), status, type and lock state; acc","description":"Get one bank account by id with its current and available balance (as decimal strings), status, type and lock state; account numbers are left out. Use for \"What is the available balance of Treasury Prime account acct_qda4pJZfpzn4fc\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Account id, for example 'acct_qda4pJZfpzn4fc'.","maxLength":200,"title":"Id","type":"string"}},"required":["id"],"title":"get_accountArguments","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_daily_balances":{"post":{"operationId":"list_daily_balances","summary":"List the end-of-day balances of one account by date. Use for \"Show the daily balances of Treasury Prime account acct_qda","description":"List the end-of-day balances of one account by date. Use for \"Show the daily balances of Treasury Prime account acct_qda4pJZfpzn4fc this month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Account id, for example 'acct_qda4pJZfpzn4fc'.","maxLength":200,"title":"Id","type":"string"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many objects to return (1 or more; the provider default is 100).","title":"Page Size"},"page_cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: the id of the last object of the previous page.","title":"Page Cursor"},"from_date":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only objects created on or after this date, YYYY-MM-DD.","title":"From Date"},"to_date":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only objects created before this date, YYYY-MM-DD.","title":"To Date"}},"required":["id"],"title":"list_daily_balancesArguments","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_account_transactions":{"post":{"operationId":"list_account_transactions","summary":"List the transactions of one account with date, amount, running balance, type, description and the transfer that caused ","description":"List the transactions of one account with date, amount, running balance, type, description and the transfer that caused them. Use for \"What transactions posted on Treasury Prime account acct_qda4pJZfpzn4fc last week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"id":{"description":"Account id, for example 'acct_qda4pJZfpzn4fc'.","maxLength":200,"title":"Id","type":"string"},"posted":{"anyOf":[{"enum":["true","false"],"type":"string"},{"type":"null"}],"default":null,"description":"true for posted transactions only, false for pending ones.","title":"Posted"},"type":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only this transaction type, for example deposit, charge, hold, interest or payment.","title":"Type"},"type_source":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only transactions started by this payment type, for example ach, wire, book or card.","title":"Type Source"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many objects to return (1 or more; the provider default is 100).","title":"Page Size"},"page_cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: the id of the last object of the previous page.","title":"Page Cursor"},"from_date":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only objects created on or after this date, YYYY-MM-DD.","title":"From Date"},"to_date":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only objects created before this date, YYYY-MM-DD.","title":"To Date"}},"required":["id"],"title":"list_account_transactionsArguments","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_transactions":{"post":{"operationId":"list_transactions","summary":"List transactions across all accounts with account, date, amount, running balance, type, description and the transfer th","description":"List transactions across all accounts with account, date, amount, running balance, type, description and the transfer that caused them. Use for \"What are the latest transactions across my Treasury Prime accounts\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"type":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only this transaction type, for example deposit, charge, hold, interest or payment.","title":"Type"},"ach_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only the transaction caused by this ACH id.","title":"Ach Id"},"wire_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only the transaction caused by this wire id.","title":"Wire Id"},"book_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only the transaction caused by this book transfer id.","title":"Book Id"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many objects to return (1 or more; the provider default is 100).","title":"Page Size"},"page_cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: the id of the last object of the previous page.","title":"Page Cursor"},"from_date":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only objects created on or after this date, YYYY-MM-DD.","title":"From Date"},"to_date":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only objects created before this date, YYYY-MM-DD.","title":"To Date"}},"title":"list_transactionsArguments","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_ach_transfers":{"post":{"operationId":"list_ach_transfers","summary":"List outgoing ACH transfers with account, counterparty, amount, direction, status, effective date and service level. Use","description":"List outgoing ACH transfers with account, counterparty, amount, direction, status, effective date and service level. Use for \"Which Treasury Prime ACH transfers are still pending\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only transfers from this account id.","title":"Account Id"},"counterparty_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only transfers to this counterparty id.","title":"Counterparty Id"},"direction":{"anyOf":[{"enum":["credit","debit"],"type":"string"},{"type":"null"}],"default":null,"description":"Only credit (sending money) or debit (pulling money) transfers.","title":"Direction"},"status":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only this status, for example pending, processing, sent, returned or error.","title":"Status"},"service":{"anyOf":[{"enum":["standard","sameday"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this service level.","title":"Service"},"effective_date":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only transfers with this effective date, YYYY-MM-DD.","title":"Effective Date"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many objects to return (1 or more; the provider default is 100).","title":"Page Size"},"page_cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: the id of the last object of the previous page.","title":"Page Cursor"},"from_date":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only objects created on or after this date, YYYY-MM-DD.","title":"From Date"},"to_date":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only objects created before this date, YYYY-MM-DD.","title":"To Date"}},"title":"list_ach_transfersArguments","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_wire_transfers":{"post":{"operationId":"list_wire_transfers","summary":"List outgoing wire transfers with account, counterparty, amount, status, purpose, reference numbers and any error. Use f","description":"List outgoing wire transfers with account, counterparty, amount, status, purpose, reference numbers and any error. Use for \"Which Treasury Prime wire transfers were sent this month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only wires from this account id.","title":"Account Id"},"counterparty_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only wires to this counterparty id.","title":"Counterparty Id"},"status":{"anyOf":[{"enum":["pending","canceled","error","sent"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this status.","title":"Status"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many objects to return (1 or more; the provider default is 100).","title":"Page Size"},"page_cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: the id of the last object of the previous page.","title":"Page Cursor"},"from_date":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only objects created on or after this date, YYYY-MM-DD.","title":"From Date"},"to_date":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only objects created before this date, YYYY-MM-DD.","title":"To Date"}},"title":"list_wire_transfersArguments","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_book_transfers":{"post":{"operationId":"list_book_transfers","summary":"List book transfers between two accounts with amount, status, description and any error. Use for \"What book transfers ha","description":"List book transfers between two accounts with amount, status, description and any error. Use for \"What book transfers happened between my Treasury Prime accounts\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"from_account_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only transfers from this account id.","title":"From Account Id"},"to_account_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only transfers to this account id.","title":"To Account Id"},"status":{"anyOf":[{"enum":["pending","canceled","error","sent"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this status.","title":"Status"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many objects to return (1 or more; the provider default is 100).","title":"Page Size"},"page_cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: the id of the last object of the previous page.","title":"Page Cursor"},"from_date":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only objects created on or after this date, YYYY-MM-DD.","title":"From Date"},"to_date":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only objects created before this date, YYYY-MM-DD.","title":"To Date"}},"title":"list_book_transfersArguments","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_incoming_ach":{"post":{"operationId":"list_incoming_ach","summary":"List incoming ACH transfers with account, amount, direction, status, effective date, sender company and description; acc","description":"List incoming ACH transfers with account, amount, direction, status, effective date, sender company and description; account numbers are left out. Use for \"What incoming ACH payments arrived at Treasury Prime this week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only transfers to this account id.","title":"Account Id"},"status":{"anyOf":[{"enum":["done","failed","pending","returned"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this status.","title":"Status"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many objects to return (1 or more; the provider default is 100).","title":"Page Size"},"page_cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: the id of the last object of the previous page.","title":"Page Cursor"},"from_date":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only objects created on or after this date, YYYY-MM-DD.","title":"From Date"},"to_date":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only objects created before this date, YYYY-MM-DD.","title":"To Date"}},"title":"list_incoming_achArguments","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_incoming_wires":{"post":{"operationId":"list_incoming_wires","summary":"List incoming wire transfers with account, amount, status, receive time, reference number and linked transaction. Use fo","description":"List incoming wire transfers with account, amount, status, receive time, reference number and linked transaction. Use for \"Did any incoming wires arrive at Treasury Prime today\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"account_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only wires to this account id.","title":"Account Id"},"status":{"anyOf":[{"enum":["pending","processing","done","failed","returned"],"type":"string"},{"type":"null"}],"default":null,"description":"Only this status.","title":"Status"},"transaction_id":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only the wire linked to this transaction id.","title":"Transaction Id"},"page_size":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many objects to return (1 or more; the provider default is 100).","title":"Page Size"},"page_cursor":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor for the next page: the id of the last object of the previous page.","title":"Page Cursor"},"from_date":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only objects created on or after this date, YYYY-MM-DD.","title":"From Date"},"to_date":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Only objects created before this date, YYYY-MM-DD.","title":"To Date"}},"title":"list_incoming_wiresArguments","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}}}}