{"openapi":"3.1.0","info":{"title":"RemitCompare API","version":"0.1.0","description":"A remittance-fee comparison methodology toolkit: the true landed cost of a hypothetical money transfer under a flat fee, a percentage fee, and/or a hidden exchange-rate margin, a side-by-side comparison of multiple hypothetical fee structures, a remittance-cost glossary, and a generic corridor cost-driver reference — computed locally, zero upstream calls, not tied to any named provider's live rates.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://remitcompare.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/remitcompare/docs"},"termsOfService":"https://connectorbay.com/remitcompare/terms"},"servers":[{"url":"https://remitcompare.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/remitcompare/docs"},"security":[{},{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/true_cost_calculator":{"post":{"operationId":"true_cost_calculator","summary":"Computes the TRUE landed cost of a hypothetical transfer: what the recipient actually receives, the","description":"Computes the TRUE landed cost of a hypothetical transfer: what the recipient actually receives, the\n    true total cost in both currencies (combining any flat fee, percentage fee, and hidden FX margin), and\n    the effective total fee as a percentage of the amount sent. Use for \"I'm sending $1,000 at an 83\n    mid-market rate with a $5 fee and a 2% exchange-rate margin — what does the recipient get\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"send_amount":{"description":"Amount sent, in the sender's currency.","exclusiveMinimum":0,"title":"Send Amount","type":"number"},"mid_market_rate":{"description":"The real, published mid-market (interbank) exchange rate, sender currency -> recipient currency.","exclusiveMinimum":0,"title":"Mid Market Rate","type":"number"},"flat_fee":{"default":0.0,"description":"A fixed fee charged on top, in the sender's currency.","minimum":0,"title":"Flat Fee","type":"number"},"percentage_fee":{"default":0.0,"description":"A fee as a percent of send_amount.","maximum":100,"minimum":0,"title":"Percentage Fee","type":"number"},"fx_margin_pct":{"default":0.0,"description":"Hidden markup below the mid-market rate the provider actually applies, as a percent.","maximum":50,"minimum":0,"title":"Fx Margin Pct","type":"number"}},"required":["send_amount","mid_market_rate"],"title":"true_cost_calculatorArguments","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/compare_transfer_options":{"post":{"operationId":"compare_transfer_options","summary":"Compares two or more hypothetical fee structures for the same transfer side by side, ranked by what the","description":"Compares two or more hypothetical fee structures for the same transfer side by side, ranked by what the\n    recipient actually receives — the only number that captures flat fees, percentage fees, and a hidden FX\n    margin on equal footing. Use for \"compare a $30 flat fee with no margin against a $0 fee with a 5%\n    margin, which is actually cheaper\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"send_amount":{"description":"Amount sent, in the sender's currency.","exclusiveMinimum":0,"title":"Send Amount","type":"number"},"mid_market_rate":{"description":"The real, published mid-market exchange rate, sender currency -> recipient currency.","exclusiveMinimum":0,"title":"Mid Market Rate","type":"number"},"options":{"description":"At least 2 hypothetical fee structures: {name, flat_fee?, percentage_fee?, fx_margin_pct?}.","items":{"additionalProperties":true,"type":"object"},"minItems":2,"title":"Options","type":"array"}},"required":["send_amount","mid_market_rate","options"],"title":"compare_transfer_optionsArguments","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/remittance_glossary":{"post":{"operationId":"remittance_glossary","summary":"Definitions of remittance-cost concepts: mid-market rate, exchange-rate margin, flat fee vs percentage","description":"Definitions of remittance-cost concepts: mid-market rate, exchange-rate margin, flat fee vs percentage\n    fee, landed/true cost, corridor, correspondent banking, value date, cash pickup, effective exchange rate.\n    Use for \"what's an exchange-rate margin\", \"what does mid-market rate mean\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A specific term to look up; omit to list all.","title":"Term"}},"title":"remittance_glossaryArguments","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/corridor_cost_factors":{"post":{"operationId":"corridor_cost_factors","summary":"A generic reference (not tied to any specific country pair's live rates) on why some currency corridors","description":"A generic reference (not tied to any specific country pair's live rates) on why some currency corridors\n    cost more to send through than others: currency liquidity, provider competition, correspondent-banking\n    chain length, regulatory burden, currency volatility, delivery method, and capital controls. Use for \"why\n    does sending money to some countries cost more than others\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"factor":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A specific factor to look up; omit to list all.","title":"Factor"}},"title":"corridor_cost_factorsArguments","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}}}}