{"openapi":"3.1.0","info":{"title":"India SMB Rules Change Log API","version":"0.1.0","description":"A curated, effective-dated change log for small businesses in India. Every entry has an announcement date, an effective date (or an explicit 'not stated'), a status (in_force, enacted_not_in_force, proposed), the primary source it was read from and what is still unknown. Tools list what changed since a date, show one change in full, filter by business profile, list known upcoming effective dates,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://in-smb-change-log.connectorbay.com/mcp.\n\nDisclaimer: General information only, not legal, tax, accounting or payment advice. India SMB Rules Change Log 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/in-smb-change-log/docs"},"termsOfService":"https://connectorbay.com/in-smb-change-log/terms"},"servers":[{"url":"https://in-smb-change-log.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/in-smb-change-log/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/changes_since":{"post":{"operationId":"changes_since","summary":"List logged changes announced or taking effect since a date, as known on a given date, with status, dates and what is st","description":"List logged changes announced or taking effect since a date, as known on a given date, with status, dates and what is still unknown. Use for \"What changed for small businesses in India since 1 September 2026?\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"since":{"description":"ISO date (YYYY-MM-DD): entries announced or effective on or after this date are returned","title":"Since","type":"string"},"on_date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"ISO date (YYYY-MM-DD) the answer is 'as known on' and the status is computed for; defaults to today (UTC)","title":"On Date"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optional filter: gst, upi_payments, msme_credit, income_tax, budget, customs","title":"Category"}},"required":["since"],"title":"changes_sinceArguments","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/change_detail":{"post":{"operationId":"change_detail","summary":"One change in full: dated facts, key figures, status on a date, what is still unknown, caveats and the primary sources. ","description":"One change in full: dated facts, key figures, status on a date, what is still unknown, caveats and the primary sources. Use for \"Give me the full detail of the UPI MDR framework announcement and what is still unknown.\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"change_id":{"description":"Change id, for example upi-mdr-framework-2026-09 (list ids with changes_since or coverage_gaps)","title":"Change Id","type":"string"},"on_date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"ISO date (YYYY-MM-DD) the answer is 'as known on' and the status is computed for; defaults to today (UTC)","title":"On Date"}},"required":["change_id"],"title":"change_detailArguments","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/affected_by":{"post":{"operationId":"affected_by","summary":"Which logged changes touch a business profile (tags such as gst_registered, upi_merchant, msme_business, treds_user, tds","description":"Which logged changes touch a business profile (tags such as gst_registered, upi_merchant, msme_business, treds_user, tds_deductor). Use for \"I sell to large companies as a small manufacturer and accept UPI at my shop. Which logged changes touch me?\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"profile":{"description":"Profile tags: gst_registered, upi_merchant, msme_business, treds_user, tds_deductor, tcs_collector, presumptive_taxpayer, importer_exporter, income_tax_payer","items":{"type":"string"},"title":"Profile","type":"array"},"on_date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"ISO date (YYYY-MM-DD) the answer is 'as known on' and the status is computed for; defaults to today (UTC)","title":"On Date"}},"required":["profile"],"title":"affected_byArguments","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/upcoming_effective_dates":{"post":{"operationId":"upcoming_effective_dates","summary":"Known future effective dates after a date, plus announced changes whose effective date has not been published. Use for \"","description":"Known future effective dates after a date, plus announced changes whose effective date has not been published. Use for \"Which logged changes have a known future effective date, and which are still waiting for a date?\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"on_date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"ISO date (YYYY-MM-DD) to look ahead from; defaults to today (UTC)","title":"On Date"}},"title":"upcoming_effective_datesArguments","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/source_links":{"post":{"operationId":"source_links","summary":"Primary-source links (title, URL, date read) for one change or for the whole log. Use for \"Where can I read the official","description":"Primary-source links (title, URL, date read) for one change or for the whole log. Use for \"Where can I read the official source for the TReDS mandate?\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"change_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Change id; leave out to list the sources of every entry","title":"Change Id"}},"title":"source_linksArguments","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/change_alert_draft":{"post":{"operationId":"change_alert_draft","summary":"Draft a short factual note about the changes since a date for a business profile (never sent, no advice). Use for \"Draft","description":"Draft a short factual note about the changes since a date for a business profile (never sent, no advice). Use for \"Draft a short weekly note about what changed since 1 September 2026 for a UPI-accepting small business.\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"since":{"description":"ISO date (YYYY-MM-DD): changes announced or effective on or after this date are included","title":"Since","type":"string"},"profile":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Optional profile tags to filter the entries (same tags as affected_by)","title":"Profile"},"on_date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"ISO date (YYYY-MM-DD) the answer is 'as known on' and the status is computed for; defaults to today (UTC)","title":"On Date"}},"required":["since"],"title":"change_alert_draftArguments","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/coverage_gaps":{"post":{"operationId":"coverage_gaps","summary":"What the log does not cover or could not verify (blocked sources, unread notifications, later Council decisions) and the","description":"What the log does not cover or could not verify (blocked sources, unread notifications, later Council decisions) and the tags and categories it uses. Use for \"What is missing from this change log?\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"coverage_gapsArguments","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}}}}