{"openapi":"3.1.0","info":{"title":"Canada Monday Brief API","version":"0.3.0","description":"Four composite tools for an agent that runs every Monday morning: monday_brief (what is due in the next N days and what changes, ordered, with next_run_hint), whats_due, whats_changing and am_i_over_the_line. They are the same tools as in the Canada Small Business Hub, included from it, so each item carries its status, as-of date, verification level and caveats, and anything that could not be...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://ca-monday-brief.connectorbay.com/mcp.\n\nDisclaimer: General information only, not legal, tax, accounting or payment advice. Canada Monday Brief is an independent tool: it is not affiliated with, endorsed by or operated by any government body, central bank, standards body or scheme operator. Rates, thresholds and rules change; check the cited official source and confirm with a qualified professional before you rely on a result.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/ca-monday-brief/docs"},"termsOfService":"https://connectorbay.com/ca-monday-brief/terms"},"servers":[{"url":"https://ca-monday-brief.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/ca-monday-brief/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/monday_brief":{"post":{"operationId":"monday_brief","summary":"The scheduled one: an ordered, read-out-loud list of what is due in the next N days and what changes, from the filing ca","description":"The scheduled one: an ordered, read-out-loud list of what is due in the next N days and what changes, from the filing calendar, minimum-wage, payroll-rate and sales-tax components (plus CIPO's trademark fee adjustment for a profile with plans_trademark_filing), with next_run_hint. Each item's `status` says whether the rule applies today: in_force does; enacted_not_in_force, announced (a date the publisher states, no enactment read), proposed and expected_amount_unpublished do not yet, so a scheduler reading `status` treats announced like enacted_not_in_force. Use for \"Every Monday morning tell me what is due in the next two weeks for my Ontario corporation with 3 employees and what changed\", \"Chaque lundi matin, dites-moi ce qui est à payer ou à produire dans les deux prochaines semaines pour mon entreprise au Québec, et ce qui a changé\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"profile":{"additionalProperties":true,"description":"The owner's profile, a small object passed on every call and never stored. Required: province (two-letter code: AB BC MB NB NL NS NT NU ON PE QC SK YT). Optional: entity_type (sole_proprietor, partnership, corporation); employees (whole number, 0 or more); remitter_type (quarterly, regular, accelerated_1, accelerated_2: your CRA payroll remitter type); sells_taxable_supplies (true or false); gst_hst_filer (monthly, quarterly, annual, annual_sole_proprietor); gst_hst_year_end (MM-DD, annual filers); corporation_year_end (MM-DD); ccpc_3_month_balance_due (true if the corporation qualifies for the 3-month T2 balance due); pays_tax_instalments (true if you pay income tax instalments); bc_employer_health_tax (true if you pay BC Employer Health Tax); on_employer_health_tax (true if you pay Ontario Employer Health Tax); months_at_headcount (whole number: months the current employee count has held, for the Quebec francisation 6-month test); cbca_anniversary (MM-DD, federally incorporated); annual_revenue_cad and annual_payroll_cad (amounts in CAD, decimal string such as 85000.00); sends_marketing_email (true or false); plans_trademark_filing (true if you plan to file or renew a Canadian trademark: adds the CIPO fee adjustment of 1 January 2027 to whats_changing and monday_brief when it falls in the window; absent or false adds nothing). Unknown fields are refused; a missing optional field means the related items go to not_covered, never a guess. Each text value of the profile is at most 200 characters (a longer one is refused as bad_input).","title":"Profile","type":"object"},"on_date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"The date to treat as today, YYYY-MM-DD (default: today on the UTC clock); the answer says which basis it used","title":"On Date"},"horizon_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Look-ahead window in days, 1 to 60 (default 14)","title":"Horizon Days"},"extra_holidays":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"default":null,"description":"Provincial or municipal non-business days as YYYY-MM-DD (Family Day, Civic Holiday and similar are not built in); used when a due date rolls to the next business day","title":"Extra Holidays"},"check_live_rates":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"true (default) also compares the live CRA open GST/HST table with the rates built into the sales-tax component; a failure of that live check is reported in not_checked, never fatal","title":"Check Live Rates"},"verbose":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"false (default): compact answer (shape compact), sources listed once in `sources` and cited by `source_ids`, repeated caveats once in `common_caveats` and cited by `caveat_refs`, items keep their short fields only (`more_in_tool` names the rest); true: the full per-item shape (`source` rows, every caveat and the component's detail fields on each item)","title":"Verbose"}},"required":["profile"],"title":"monday_briefArguments","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/whats_due":{"post":{"operationId":"whats_due","summary":"Every filing and payment due in the next N days for the profile: GST/HST returns, payroll remittances, T4/T4A, T2, insta","description":"Every filing and payment due in the next N days for the profile: GST/HST returns, payroll remittances, T4/T4A, T2, instalments, Ontario and BC Employer Health Tax, annual returns, with rollover and the reason each item appears. Use for \"What GST/HST, payroll remittance and T4 dates do I have in the next 30 days? I file quarterly and I am a regular remitter\", \"Chaque lundi matin, dites-moi ce qui est à payer ou à produire dans les deux prochaines semaines pour mon entreprise au Québec, et ce qui a changé\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"profile":{"additionalProperties":true,"description":"The owner's profile, a small object passed on every call and never stored. Required: province (two-letter code: AB BC MB NB NL NS NT NU ON PE QC SK YT). Optional: entity_type (sole_proprietor, partnership, corporation); employees (whole number, 0 or more); remitter_type (quarterly, regular, accelerated_1, accelerated_2: your CRA payroll remitter type); sells_taxable_supplies (true or false); gst_hst_filer (monthly, quarterly, annual, annual_sole_proprietor); gst_hst_year_end (MM-DD, annual filers); corporation_year_end (MM-DD); ccpc_3_month_balance_due (true if the corporation qualifies for the 3-month T2 balance due); pays_tax_instalments (true if you pay income tax instalments); bc_employer_health_tax (true if you pay BC Employer Health Tax); on_employer_health_tax (true if you pay Ontario Employer Health Tax); months_at_headcount (whole number: months the current employee count has held, for the Quebec francisation 6-month test); cbca_anniversary (MM-DD, federally incorporated); annual_revenue_cad and annual_payroll_cad (amounts in CAD, decimal string such as 85000.00); sends_marketing_email (true or false); plans_trademark_filing (true if you plan to file or renew a Canadian trademark: adds the CIPO fee adjustment of 1 January 2027 to whats_changing and monday_brief when it falls in the window; absent or false adds nothing). Unknown fields are refused; a missing optional field means the related items go to not_covered, never a guess. Each text value of the profile is at most 200 characters (a longer one is refused as bad_input).","title":"Profile","type":"object"},"on_date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"The date to treat as today, YYYY-MM-DD (default: today on the UTC clock); the answer says which basis it used","title":"On Date"},"horizon_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Look-ahead window in days, 1 to 366 (default 30)","title":"Horizon Days"},"extra_holidays":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"default":null,"description":"Provincial or municipal non-business days as YYYY-MM-DD (Family Day, Civic Holiday and similar are not built in); used when a due date rolls to the next business day","title":"Extra Holidays"},"verbose":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"false (default): compact answer (shape compact), sources listed once in `sources` and cited by `source_ids`, repeated caveats once in `common_caveats` and cited by `caveat_refs`, items keep their short fields only (`more_in_tool` names the rest); true: the full per-item shape (`source` rows, every caveat and the component's detail fields on each item)","title":"Verbose"}},"required":["profile"],"title":"whats_dueArguments","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/whats_changing":{"post":{"operationId":"whats_changing","summary":"Dated changes that affect the profile: minimum wage increases, CPP/EI/QPP/QPIP parameter changes with their status (prop","description":"Dated changes that affect the profile: minimum wage increases, CPP/EI/QPP/QPIP parameter changes with their status (proposed, enacted, in force), provincial sales tax rate news, CRA prescribed interest rate changes, the CIPO trademark fee adjustment for a profile with plans_trademark_filing, and changes that took effect recently. Each item's `status` says whether the rule applies today: in_force does; enacted_not_in_force, announced (a date the publisher states, no enactment read), proposed and expected_amount_unpublished do not yet, so a scheduler reading `status` treats announced like enacted_not_in_force. Use for \"Which minimum wages, payroll rates or sales tax rates change in the next 90 days for my Nova Scotia business\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"profile":{"additionalProperties":true,"description":"The owner's profile, a small object passed on every call and never stored. Required: province (two-letter code: AB BC MB NB NL NS NT NU ON PE QC SK YT). Optional: entity_type (sole_proprietor, partnership, corporation); employees (whole number, 0 or more); remitter_type (quarterly, regular, accelerated_1, accelerated_2: your CRA payroll remitter type); sells_taxable_supplies (true or false); gst_hst_filer (monthly, quarterly, annual, annual_sole_proprietor); gst_hst_year_end (MM-DD, annual filers); corporation_year_end (MM-DD); ccpc_3_month_balance_due (true if the corporation qualifies for the 3-month T2 balance due); pays_tax_instalments (true if you pay income tax instalments); bc_employer_health_tax (true if you pay BC Employer Health Tax); on_employer_health_tax (true if you pay Ontario Employer Health Tax); months_at_headcount (whole number: months the current employee count has held, for the Quebec francisation 6-month test); cbca_anniversary (MM-DD, federally incorporated); annual_revenue_cad and annual_payroll_cad (amounts in CAD, decimal string such as 85000.00); sends_marketing_email (true or false); plans_trademark_filing (true if you plan to file or renew a Canadian trademark: adds the CIPO fee adjustment of 1 January 2027 to whats_changing and monday_brief when it falls in the window; absent or false adds nothing). Unknown fields are refused; a missing optional field means the related items go to not_covered, never a guess. Each text value of the profile is at most 200 characters (a longer one is refused as bad_input).","title":"Profile","type":"object"},"on_date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"The date to treat as today, YYYY-MM-DD (default: today on the UTC clock); the answer says which basis it used","title":"On Date"},"horizon_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Look-ahead window in days, 1 to 366 (default 90)","title":"Horizon Days"},"lookback_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Also report changes that took effect in the last N days, 0 to 365 (default 30)","title":"Lookback Days"},"check_live_rates":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"true (default) also compares the live CRA open GST/HST table with the rates built into the sales-tax component; a failure of that live check is reported in not_checked, never fatal","title":"Check Live Rates"},"verbose":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"false (default): compact answer (shape compact), sources listed once in `sources` and cited by `source_ids`, repeated caveats once in `common_caveats` and cited by `caveat_refs`, items keep their short fields only (`more_in_tool` names the rest); true: the full per-item shape (`source` rows, every caveat and the component's detail fields on each item)","title":"Verbose"}},"required":["profile"],"title":"whats_changingArguments","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/am_i_over_the_line":{"post":{"operationId":"am_i_over_the_line","summary":"Thresholds in one answer: GST/HST small-supplier 30,000 test (with the Revenu Quebec version for QC, TPS/TVQ), quick met","description":"Thresholds in one answer: GST/HST small-supplier 30,000 test (with the Revenu Quebec version for QC, TPS/TVQ), quick method limit, assigned reporting period, run-rate watch, and the Quebec 25-person francisation threshold. Use for \"My taxable sales were 9,000, 11,000, 12,000 and 9,500 in the last four quarters: am I over the small supplier line, and can I use the quick method\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"profile":{"additionalProperties":true,"description":"The owner's profile, a small object passed on every call and never stored. Required: province (two-letter code: AB BC MB NB NL NS NT NU ON PE QC SK YT). Optional: entity_type (sole_proprietor, partnership, corporation); employees (whole number, 0 or more); remitter_type (quarterly, regular, accelerated_1, accelerated_2: your CRA payroll remitter type); sells_taxable_supplies (true or false); gst_hst_filer (monthly, quarterly, annual, annual_sole_proprietor); gst_hst_year_end (MM-DD, annual filers); corporation_year_end (MM-DD); ccpc_3_month_balance_due (true if the corporation qualifies for the 3-month T2 balance due); pays_tax_instalments (true if you pay income tax instalments); bc_employer_health_tax (true if you pay BC Employer Health Tax); on_employer_health_tax (true if you pay Ontario Employer Health Tax); months_at_headcount (whole number: months the current employee count has held, for the Quebec francisation 6-month test); cbca_anniversary (MM-DD, federally incorporated); annual_revenue_cad and annual_payroll_cad (amounts in CAD, decimal string such as 85000.00); sends_marketing_email (true or false); plans_trademark_filing (true if you plan to file or renew a Canadian trademark: adds the CIPO fee adjustment of 1 January 2027 to whats_changing and monday_brief when it falls in the window; absent or false adds nothing). Unknown fields are refused; a missing optional field means the related items go to not_covered, never a guess. Each text value of the profile is at most 200 characters (a longer one is refused as bad_input).","title":"Profile","type":"object"},"quarters":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"default":null,"description":"Taxable supplies per completed calendar quarter, oldest first, 1 to 4 decimal strings such as \"9000.00\" (before GST/HST, your own plus associated persons); omit to skip the small-supplier test","title":"Quarters"},"latest_quarter_end":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Last day of the most recent quarter in `quarters`: 03-31, 06-30, 09-30 or 12-31, YYYY-MM-DD (required with quarters)","title":"Latest Quarter End"},"current_quarter_to_date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Taxable supplies so far in the quarter that follows latest_quarter_end, decimal string; adds the run-rate watch (needs quarters and on_date inside that quarter)","title":"Current Quarter To Date"},"on_date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"The date to treat as today, YYYY-MM-DD (default: today on the UTC clock); the answer says which basis it used","title":"On Date"},"verbose":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"false (default): compact answer (shape compact), sources listed once in `sources` and cited by `source_ids`, repeated caveats once in `common_caveats` and cited by `caveat_refs`, items keep their short fields only (`more_in_tool` names the rest); true: the full per-item shape (`source` rows, every caveat and the component's detail fields on each item)","title":"Verbose"}},"required":["profile"],"title":"am_i_over_the_lineArguments","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}}}}